diff options
author | Chong Zhang <chz@google.com> | 2015-05-01 12:36:13 -0700 |
---|---|---|
committer | Chong Zhang <chz@google.com> | 2015-05-01 19:18:49 -0700 |
commit | e2a2dfcbf0c9d6bb7139263ecf0d8e53b4ca1049 (patch) | |
tree | 8060421e6bb2732c1b84d0810f5e83a57a7d25ea /media/libmediaplayerservice/StagefrightRecorder.cpp | |
parent | d291c222357303b9611cab89d0c3b047584ef377 (diff) | |
download | frameworks_av-e2a2dfcbf0c9d6bb7139263ecf0d8e53b4ca1049.zip frameworks_av-e2a2dfcbf0c9d6bb7139263ecf0d8e53b4ca1049.tar.gz frameworks_av-e2a2dfcbf0c9d6bb7139263ecf0d8e53b4ca1049.tar.bz2 |
MediaRecorder: implement persistent input surface APIs
Bug: 19127604
Bug: 19489395
Change-Id: I7dd8015a8fe029f9867fcdb52322629c77eff50b
Diffstat (limited to 'media/libmediaplayerservice/StagefrightRecorder.cpp')
-rw-r--r-- | media/libmediaplayerservice/StagefrightRecorder.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/media/libmediaplayerservice/StagefrightRecorder.cpp b/media/libmediaplayerservice/StagefrightRecorder.cpp index aa19a25..509a592 100644 --- a/media/libmediaplayerservice/StagefrightRecorder.cpp +++ b/media/libmediaplayerservice/StagefrightRecorder.cpp @@ -243,6 +243,13 @@ status_t StagefrightRecorder::setPreviewSurface(const sp<IGraphicBufferProducer> return OK; } +status_t StagefrightRecorder::usePersistentSurface( + const sp<IGraphicBufferConsumer>& surface) { + mPersistentSurface = surface; + + return OK; +} + status_t StagefrightRecorder::setOutputFile(int fd, int64_t offset, int64_t length) { ALOGV("setOutputFile: %d, %lld, %lld", fd, offset, length); // These don't make any sense, do they? @@ -1560,8 +1567,8 @@ status_t StagefrightRecorder::setupVideoEncoder( flags |= MediaCodecSource::FLAG_USE_SURFACE_INPUT; } - sp<MediaCodecSource> encoder = - MediaCodecSource::Create(mLooper, format, cameraSource, flags); + sp<MediaCodecSource> encoder = MediaCodecSource::Create( + mLooper, format, cameraSource, mPersistentSurface, flags); if (encoder == NULL) { ALOGE("Failed to create video encoder"); // When the encoder fails to be created, we need |