diff options
author | James Dong <jdong@google.com> | 2010-08-18 19:10:39 -0700 |
---|---|---|
committer | James Dong <jdong@google.com> | 2010-08-19 13:33:13 -0700 |
commit | d036662470ceb6b20b0591b7d4123f2db911536d (patch) | |
tree | 6b751779eb0cc241a42034bf4e3ef74ec1691371 /include | |
parent | 54d41379357d1d800d0a7bd7c5dc56111710482a (diff) | |
download | frameworks_base-d036662470ceb6b20b0591b7d4123f2db911536d.zip frameworks_base-d036662470ceb6b20b0591b7d4123f2db911536d.tar.gz frameworks_base-d036662470ceb6b20b0591b7d4123f2db911536d.tar.bz2 |
Make MediaWriter stop and pause return errors if necessary
o Make the API consistent with SF framework, which the MediaSource
provides a return status for stop
o Also, helps to convey errors that occurred right when a
premature stop() is called, leading to a potentially
mal-formed output file.
Change-Id: I52a932345f38570fdf8ea04d67d73dd94ccd30ef
Diffstat (limited to 'include')
-rw-r--r-- | include/media/stagefright/AMRWriter.h | 6 | ||||
-rw-r--r-- | include/media/stagefright/MPEG4Writer.h | 4 | ||||
-rw-r--r-- | include/media/stagefright/MediaWriter.h | 5 |
3 files changed, 8 insertions, 7 deletions
diff --git a/include/media/stagefright/AMRWriter.h b/include/media/stagefright/AMRWriter.h index 813dd43..aa965e1 100644 --- a/include/media/stagefright/AMRWriter.h +++ b/include/media/stagefright/AMRWriter.h @@ -37,8 +37,8 @@ struct AMRWriter : public MediaWriter { virtual status_t addSource(const sp<MediaSource> &source); virtual bool reachedEOS(); virtual status_t start(MetaData *params = NULL); - virtual void stop(); - virtual void pause(); + virtual status_t stop(); + virtual status_t pause(); protected: virtual ~AMRWriter(); @@ -57,7 +57,7 @@ private: int64_t mEstimatedDurationUs; static void *ThreadWrapper(void *); - void threadFunc(); + status_t threadFunc(); bool exceedsFileSizeLimit(); bool exceedsFileDurationLimit(); diff --git a/include/media/stagefright/MPEG4Writer.h b/include/media/stagefright/MPEG4Writer.h index be96935..de82b38 100644 --- a/include/media/stagefright/MPEG4Writer.h +++ b/include/media/stagefright/MPEG4Writer.h @@ -37,9 +37,9 @@ public: virtual status_t addSource(const sp<MediaSource> &source); virtual status_t start(MetaData *param = NULL); + virtual status_t stop(); + virtual status_t pause(); virtual bool reachedEOS(); - virtual void stop(); - virtual void pause(); void beginBox(const char *fourcc); void writeInt8(int8_t x); diff --git a/include/media/stagefright/MediaWriter.h b/include/media/stagefright/MediaWriter.h index 8d3a9df..151bf16 100644 --- a/include/media/stagefright/MediaWriter.h +++ b/include/media/stagefright/MediaWriter.h @@ -35,8 +35,9 @@ struct MediaWriter : public RefBase { virtual status_t addSource(const sp<MediaSource> &source) = 0; virtual bool reachedEOS() = 0; virtual status_t start(MetaData *params = NULL) = 0; - virtual void stop() = 0; - virtual void pause() = 0; + virtual status_t stop() = 0; + virtual status_t pause() = 0; + virtual void setMaxFileSize(int64_t bytes) { mMaxFileSizeLimitBytes = bytes; } virtual void setMaxFileDuration(int64_t durationUs) { mMaxFileDurationLimitUs = durationUs; } virtual void setListener(const sp<IMediaRecorderClient>& listener) { |