From e284bac7757ad732d0812eb6133125434ba66d5b Mon Sep 17 00:00:00 2001 From: James Dong Date: Thu, 25 Feb 2010 18:41:46 -0800 Subject: Don't allow MediaRecorder.setParameter() to be invoked in the following states: error, prepared or recording bug - 2362412 --- media/libmedia/mediarecorder.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'media/libmedia/mediarecorder.cpp') diff --git a/media/libmedia/mediarecorder.cpp b/media/libmedia/mediarecorder.cpp index 23024e9..5adc116 100644 --- a/media/libmedia/mediarecorder.cpp +++ b/media/libmedia/mediarecorder.cpp @@ -365,6 +365,15 @@ status_t MediaRecorder::setParameters(const String8& params) { return INVALID_OPERATION; } + bool isInvalidState = (mCurrentState & + (MEDIA_RECORDER_PREPARED | + MEDIA_RECORDER_RECORDING | + MEDIA_RECORDER_ERROR)); + if (isInvalidState) { + LOGE("setParameters is called in an invalid state: %d", mCurrentState); + return INVALID_OPERATION; + } + status_t ret = mMediaRecorder->setParameters(params); if (OK != ret) { LOGE("setParameters(%s) failed: %d", params.string(), ret); -- cgit v1.1