diff options
author | Andreas Huber <andih@google.com> | 2009-12-07 16:32:37 -0800 |
---|---|---|
committer | Andreas Huber <andih@google.com> | 2009-12-07 16:41:16 -0800 |
commit | ebd0d94d2619280f9871ef2d0965d95fb880404c (patch) | |
tree | 8b71343070a2b78cb24de0751c093bbdbbd0392c /media/libstagefright/codecs/mp3dec | |
parent | d9618f23226f46c752e56f712bc4b505117d8b4b (diff) | |
download | frameworks_av-ebd0d94d2619280f9871ef2d0965d95fb880404c.zip frameworks_av-ebd0d94d2619280f9871ef2d0965d95fb880404c.tar.gz frameworks_av-ebd0d94d2619280f9871ef2d0965d95fb880404c.tar.bz2 |
Minor tweaks to the mp3 and aac software decoders, propagate duration to output format.
Diffstat (limited to 'media/libstagefright/codecs/mp3dec')
-rw-r--r-- | media/libstagefright/codecs/mp3dec/MP3Decoder.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/media/libstagefright/codecs/mp3dec/MP3Decoder.cpp b/media/libstagefright/codecs/mp3dec/MP3Decoder.cpp index 45e20dc..f9193c0 100644 --- a/media/libstagefright/codecs/mp3dec/MP3Decoder.cpp +++ b/media/libstagefright/codecs/mp3dec/MP3Decoder.cpp @@ -78,13 +78,16 @@ sp<MetaData> MP3Decoder::getFormat() { int32_t numChannels; int32_t sampleRate; + int64_t durationUs; CHECK(srcFormat->findInt32(kKeyChannelCount, &numChannels)); CHECK(srcFormat->findInt32(kKeySampleRate, &sampleRate)); + CHECK(srcFormat->findInt64(kKeyDuration, &durationUs)); sp<MetaData> meta = new MetaData; meta->setCString(kKeyMIMEType, MEDIA_MIMETYPE_AUDIO_RAW); meta->setInt32(kKeyChannelCount, numChannels); meta->setInt32(kKeySampleRate, sampleRate); + meta->setInt64(kKeyDuration, durationUs); return meta; } @@ -120,6 +123,9 @@ status_t MP3Decoder::read( if (mInputBuffer->meta_data()->findInt64(kKeyTime, &timeUs)) { mAnchorTimeUs = timeUs; mNumSamplesOutput = 0; + } else { + // We must have a new timestamp after seeking. + CHECK(seekTimeUs < 0); } } |