diff options
author | Vignesh Venkatasubramanian <vigneshv@google.com> | 2014-01-29 09:00:46 -0800 |
---|---|---|
committer | Vignesh Venkatasubramanian <vigneshv@google.com> | 2014-03-03 13:30:38 -0800 |
commit | bf927f8ec7979f2b64331c2b2f12a6a5dba05bca (patch) | |
tree | 74cd06e798e79839ab872ede1f57ab35a3b6afdf /media/libstagefright/Utils.cpp | |
parent | 3a005b3b19b750afe24577ae322aff4602ca2740 (diff) | |
download | frameworks_av-bf927f8ec7979f2b64331c2b2f12a6a5dba05bca.zip frameworks_av-bf927f8ec7979f2b64331c2b2f12a6a5dba05bca.tar.gz frameworks_av-bf927f8ec7979f2b64331c2b2f12a6a5dba05bca.tar.bz2 |
Opus Matroska support in OpenMax
Adding Openmax component for libopus software decoder. This can
decode opus audio files embedded in matroska containers.
Change-Id: I7e0691cfc6d719c4e927b9efbd05a3143be49abc
Note: This CL is part of adding Opus support to Android.
Diffstat (limited to 'media/libstagefright/Utils.cpp')
-rw-r--r-- | media/libstagefright/Utils.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/media/libstagefright/Utils.cpp b/media/libstagefright/Utils.cpp index 216a329..b5a730e 100644 --- a/media/libstagefright/Utils.cpp +++ b/media/libstagefright/Utils.cpp @@ -251,6 +251,13 @@ status_t convertMetaDataToMessage( buffer->meta()->setInt32("csd", true); buffer->meta()->setInt64("timeUs", 0); msg->setBuffer("csd-1", buffer); + } else if (meta->findData(kKeyOpusHeader, &type, &data, &size)) { + sp<ABuffer> buffer = new ABuffer(size); + memcpy(buffer->data(), data, size); + + buffer->meta()->setInt32("csd", true); + buffer->meta()->setInt64("timeUs", 0); + msg->setBuffer("csd-0", buffer); } *format = msg; @@ -523,6 +530,7 @@ static const struct mime_conv_t mimeLookup[] = { { MEDIA_MIMETYPE_AUDIO_AMR_WB, AUDIO_FORMAT_AMR_WB }, { MEDIA_MIMETYPE_AUDIO_AAC, AUDIO_FORMAT_AAC }, { MEDIA_MIMETYPE_AUDIO_VORBIS, AUDIO_FORMAT_VORBIS }, + { MEDIA_MIMETYPE_AUDIO_OPUS, AUDIO_FORMAT_OPUS}, { 0, AUDIO_FORMAT_INVALID } }; |