Merge "MPEG4Extractor: set mime type of fileMetaData correctly." into nyc-mr1-dev
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp
index 134da14..dc4e5d4 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp
+++ b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp
@@ -1339,7 +1339,16 @@
}
sp<MetaData> audioMeta = mSource->getFormatMeta(true /* audio */);
+ sp<MetaData> videoMeta = mSource->getFormatMeta(false /* audio */);
+ if (audioMeta == NULL && videoMeta == NULL) {
+ ALOGE("no metadata for either audio or video source");
+ mSource->stop();
+ mSourceStarted = false;
+ notifyListener(MEDIA_ERROR, MEDIA_ERROR_UNKNOWN, ERROR_MALFORMED);
+ return;
+ }
ALOGV_IF(audioMeta == NULL, "no metadata for audio source"); // video only stream
+
audio_stream_type_t streamType = AUDIO_STREAM_MUSIC;
if (mAudioSink != NULL) {
streamType = mAudioSink->getAudioStreamType();
diff --git a/media/libstagefright/MediaCodecSource.cpp b/media/libstagefright/MediaCodecSource.cpp
index 33d624e..ea5ef06 100644
--- a/media/libstagefright/MediaCodecSource.cpp
+++ b/media/libstagefright/MediaCodecSource.cpp
@@ -859,6 +859,7 @@
}
MediaBuffer *mbuf = new MediaBuffer(outbuf->size());
+ mbuf->setObserver(this);
mbuf->add_ref();
if (!(flags & MediaCodec::BUFFER_FLAG_CODECCONFIG)) {
@@ -911,7 +912,6 @@
mbuf->meta_data()->setInt32(kKeyIsSyncFrame, true);
}
memcpy(mbuf->data(), outbuf->data(), outbuf->size());
- mbuf->setObserver(this);
{
Mutexed<Output>::Locked output(mOutput);