From e2a2dfcbf0c9d6bb7139263ecf0d8e53b4ca1049 Mon Sep 17 00:00:00 2001 From: Chong Zhang Date: Fri, 1 May 2015 12:36:13 -0700 Subject: MediaRecorder: implement persistent input surface APIs Bug: 19127604 Bug: 19489395 Change-Id: I7dd8015a8fe029f9867fcdb52322629c77eff50b --- media/libmedia/mediarecorder.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'media/libmedia/mediarecorder.cpp') diff --git a/media/libmedia/mediarecorder.cpp b/media/libmedia/mediarecorder.cpp index 9470936..1f8b1d3 100644 --- a/media/libmedia/mediarecorder.cpp +++ b/media/libmedia/mediarecorder.cpp @@ -27,6 +27,7 @@ #include #include #include // for MEDIA_ERROR_SERVER_DIED +#include #include namespace android { @@ -344,6 +345,24 @@ sp MediaRecorder:: +status_t MediaRecorder::usePersistentSurface(const sp& surface) +{ + ALOGV("usePersistentSurface"); + if (mMediaRecorder == NULL) { + ALOGE("media recorder is not initialized yet"); + return INVALID_OPERATION; + } + bool isInvalidState = (mCurrentState & + (MEDIA_RECORDER_PREPARED | + MEDIA_RECORDER_RECORDING)); + if (isInvalidState) { + ALOGE("usePersistentSurface is called in an invalid state: %d", mCurrentState); + return INVALID_OPERATION; + } + + return mMediaRecorder->usePersistentSurface(surface->getBufferConsumer()); +} + status_t MediaRecorder::setVideoFrameRate(int frames_per_second) { ALOGV("setVideoFrameRate(%d)", frames_per_second); -- cgit v1.1