summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/MediaMuxer.cpp
diff options
context:
space:
mode:
authorztenghui <ztenghui@google.com>2013-02-22 14:32:59 -0800
committerztenghui <ztenghui@google.com>2013-03-08 14:48:05 -0800
commitafde4e56566af19b36f1fe5e7aa7f226bf1703dd (patch)
tree5b0cdd040810962afa5688be1def2eb6babf0de4 /media/libstagefright/MediaMuxer.cpp
parent10774e144b3c99afad9a5070ccf50fdb12b5fb4e (diff)
downloadframeworks_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/libstagefright/MediaMuxer.cpp')
-rw-r--r--media/libstagefright/MediaMuxer.cpp23
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);
}