From bf927f8ec7979f2b64331c2b2f12a6a5dba05bca Mon Sep 17 00:00:00 2001 From: Vignesh Venkatasubramanian Date: Wed, 29 Jan 2014 09:00:46 -0800 Subject: 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. --- media/libstagefright/Utils.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'media/libstagefright/Utils.cpp') 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 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 } }; -- cgit v1.1