summaryrefslogtreecommitdiffstats
path: root/include/media/mediarecorder.h
diff options
context:
space:
mode:
authorPannag Sanketi <psanketi@google.com>2011-07-01 17:39:39 -0700
committerPannag Sanketi <psanketi@google.com>2011-07-22 14:17:25 -0700
commitb33f3407bab0970a7f9241680723a1140b177c50 (patch)
tree8c49b51867769176b088f5ee2dbecd69c188464f /include/media/mediarecorder.h
parentfe388eedca9f46ed3fee9579258acecd93e88641 (diff)
downloadframeworks_av-b33f3407bab0970a7f9241680723a1140b177c50.zip
frameworks_av-b33f3407bab0970a7f9241680723a1140b177c50.tar.gz
frameworks_av-b33f3407bab0970a7f9241680723a1140b177c50.tar.bz2
Connect MediaRecorder Native to SurfaceMediaSource
Making a connection from MediaRecorder Native layer to the SurfaceMediaSource for the purpose of encoding GL Frames. This will be called from the java side inside the Mobile Filter Framework. The mediarecorder native layer (client), when set the videosource to option VIDEO_SOURCE_FRAMES, asks the StageFrightRecorder on the mediaserver side to create a SurfaceMediaSource object and pass it back as a sp<ISurfaceTexture> object. Using that, the client side will dequeue and queue buffers. Connecting the GL Frames to the obtained sp<ISurfaceTexture> is not part of this CL. Related to bug id: 4529323 Change-Id: I651bec718dd5b935779e7d7a050b841c2d0b0fcd
Diffstat (limited to 'include/media/mediarecorder.h')
-rw-r--r--include/media/mediarecorder.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/media/mediarecorder.h b/include/media/mediarecorder.h
index af12d3c..72d3736 100644
--- a/include/media/mediarecorder.h
+++ b/include/media/mediarecorder.h
@@ -31,12 +31,15 @@ class Surface;
class IMediaRecorder;
class ICamera;
class ICameraRecordingProxy;
+class ISurfaceTexture;
+class SurfaceTextureClient;
typedef void (*media_completion_f)(status_t status, void *cookie);
enum video_source {
VIDEO_SOURCE_DEFAULT = 0,
VIDEO_SOURCE_CAMERA = 1,
+ VIDEO_SOURCE_GRALLOC_BUFFER = 2,
VIDEO_SOURCE_LIST_END // must be last - used to validate audio source type
};
@@ -226,6 +229,7 @@ public:
status_t close();
status_t release();
void notify(int msg, int ext1, int ext2);
+ sp<ISurfaceTexture> querySurfaceMediaSourceFromMediaServer();
private:
void doCleanUp();
@@ -233,6 +237,12 @@ private:
sp<IMediaRecorder> mMediaRecorder;
sp<MediaRecorderListener> mListener;
+
+ // Reference toISurfaceTexture
+ // for encoding GL Frames. That is useful only when the
+ // video source is set to VIDEO_SOURCE_GRALLOC_BUFFER
+ sp<ISurfaceTexture> mSurfaceMediaSource;
+
media_recorder_states mCurrentState;
bool mIsAudioSourceSet;
bool mIsVideoSourceSet;