summaryrefslogtreecommitdiffstats
path: root/media/libmedia
diff options
context:
space:
mode:
authorJames Dong <jdong@google.com>2010-02-26 18:56:22 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2010-02-26 18:56:22 -0800
commite3d91046072908f5613a21652b6da9b44043f1d5 (patch)
tree7df2c4f76748807e0559accaddccc8e767d848b9 /media/libmedia
parent698f476590bc9e38d4d1d4155da9efdbedd357c4 (diff)
parente284bac7757ad732d0812eb6133125434ba66d5b (diff)
downloadframeworks_av-e3d91046072908f5613a21652b6da9b44043f1d5.zip
frameworks_av-e3d91046072908f5613a21652b6da9b44043f1d5.tar.gz
frameworks_av-e3d91046072908f5613a21652b6da9b44043f1d5.tar.bz2
Merge "Don't allow MediaRecorder.setParameter() to be invoked in the following states: error, prepared or recording"
Diffstat (limited to 'media/libmedia')
-rw-r--r--media/libmedia/mediarecorder.cpp9
1 files changed, 9 insertions, 0 deletions
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);