diff options
author | James Dong <jdong@google.com> | 2011-01-25 12:37:43 -0800 |
---|---|---|
committer | James Dong <jdong@google.com> | 2011-01-25 15:30:34 -0800 |
commit | eaae38445a340c4857c1c5569475879a728e63b7 (patch) | |
tree | 17e8fcf56c9c8d215cd5ba0149f21d63d4576843 /media/libstagefright/MPEG4Writer.cpp | |
parent | 4feffd1a8d95cf3843c06a37160580d30d421d8e (diff) | |
download | frameworks_av-eaae38445a340c4857c1c5569475879a728e63b7.zip frameworks_av-eaae38445a340c4857c1c5569475879a728e63b7.tar.gz frameworks_av-eaae38445a340c4857c1c5569475879a728e63b7.tar.bz2 |
Report errors to applications if AudioRecord->start() fails
bug - 3385198
Change-Id: I86ac8071eb28a538b333e102192193d1b9eda5eb
Diffstat (limited to 'media/libstagefright/MPEG4Writer.cpp')
-rw-r--r-- | media/libstagefright/MPEG4Writer.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/media/libstagefright/MPEG4Writer.cpp b/media/libstagefright/MPEG4Writer.cpp index a47ee3a..d1a497f 100644 --- a/media/libstagefright/MPEG4Writer.cpp +++ b/media/libstagefright/MPEG4Writer.cpp @@ -78,6 +78,7 @@ private: volatile bool mDone; volatile bool mPaused; volatile bool mResumed; + volatile bool mStarted; bool mIsAvc; bool mIsAudio; bool mIsMPEG4; @@ -951,6 +952,7 @@ MPEG4Writer::Track::Track( mDone(false), mPaused(false), mResumed(false), + mStarted(false), mTrackDurationUs(0), mEstimatedTrackSizeBytes(0), mSamplesHaveSameSize(true), @@ -1279,6 +1281,7 @@ status_t MPEG4Writer::Track::start(MetaData *params) { pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE); mDone = false; + mStarted = true; mTrackDurationUs = 0; mReachedEOS = false; mEstimatedTrackSizeBytes = 0; @@ -1307,10 +1310,14 @@ status_t MPEG4Writer::Track::pause() { status_t MPEG4Writer::Track::stop() { LOGD("Stopping %s track", mIsAudio? "Audio": "Video"); + if (!mStarted) { + LOGE("Stop() called but track is not started"); + return ERROR_END_OF_STREAM; + } + if (mDone) { return OK; } - mDone = true; void *dummy; |