diff options
author | ztenghui <ztenghui@google.com> | 2013-02-22 14:32:59 -0800 |
---|---|---|
committer | ztenghui <ztenghui@google.com> | 2013-03-08 14:48:05 -0800 |
commit | afde4e56566af19b36f1fe5e7aa7f226bf1703dd (patch) | |
tree | 5b0cdd040810962afa5688be1def2eb6babf0de4 /media | |
parent | 10774e144b3c99afad9a5070ccf50fdb12b5fb4e (diff) | |
download | frameworks_av-afde4e56566af19b36f1fe5e7aa7f226bf1703dd.zip frameworks_av-afde4e56566af19b36f1fe5e7aa7f226bf1703dd.tar.gz frameworks_av-afde4e56566af19b36f1fe5e7aa7f226bf1703dd.tar.bz2 |
Clean up the native code to match Java update
1. Add flags to match the java side change.
2. Update the interface.
bug:7991013
Change-Id: I8ffe84c466b2a68e2e1e48b35b78db9e44640265
Diffstat (limited to 'media')
-rw-r--r-- | media/libstagefright/MediaMuxer.cpp | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/media/libstagefright/MediaMuxer.cpp b/media/libstagefright/MediaMuxer.cpp index 30bed90..aefc270 100644 --- a/media/libstagefright/MediaMuxer.cpp +++ b/media/libstagefright/MediaMuxer.cpp @@ -35,14 +35,20 @@ namespace android { -MediaMuxer::MediaMuxer(const char* pathOut) - : mState(INITED) { - mWriter = new MPEG4Writer(pathOut); +MediaMuxer::MediaMuxer(const char *path, OutputFormat format) + : mState(UNINITED) { + if (format == OUTPUT_FORMAT_MPEG_4) { + mWriter = new MPEG4Writer(path); + mState = INITED; + } } -MediaMuxer::MediaMuxer(int fd) - : mState(INITED) { - mWriter = new MPEG4Writer(fd); +MediaMuxer::MediaMuxer(int fd, OutputFormat format) + : mState(UNINITED) { + if (format == OUTPUT_FORMAT_MPEG_4) { + mWriter = new MPEG4Writer(fd); + mState = INITED; + } } MediaMuxer::~MediaMuxer() { @@ -107,8 +113,6 @@ status_t MediaMuxer::writeSampleData(const sp<ABuffer> &buffer, size_t trackInde int64_t timeUs, uint32_t flags) { Mutex::Autolock autoLock(mMuxerLock); - sp<MediaAdapter> currentTrack = mTrackList[trackIndex]; - if (buffer.get() == NULL) { ALOGE("WriteSampleData() get an NULL buffer."); return -EINVAL; @@ -134,10 +138,11 @@ status_t MediaMuxer::writeSampleData(const sp<ABuffer> &buffer, size_t trackInde // Just set the kKeyDecodingTime as the presentation time for now. metaData->setInt64(kKeyDecodingTime, timeUs); - if (flags & MediaCodec::BUFFER_FLAG_SYNCFRAME) { + if (flags & SAMPLE_FLAG_SYNC) { metaData->setInt32(kKeyIsSyncFrame, true); } + sp<MediaAdapter> currentTrack = mTrackList[trackIndex]; // This pushBuffer will wait until the mediaBuffer is consumed. return currentTrack->pushBuffer(mediaBuffer); } |