Plumbing for OPUS encoding.
Webm, OGG container extensions to hold opus.
hooks so we can say that we're recording in opus format.
OMX-specific changes are omitted since our target is Codec2
Bug: 111850384
Test: with separate omx routines
Change-Id: Iecb8b53df3fbd8506d2e6f007602284eb2d0decc
diff --git a/media/libmedia/MediaProfiles.cpp b/media/libmedia/MediaProfiles.cpp
index e0f5a40..08c6a50 100644
--- a/media/libmedia/MediaProfiles.cpp
+++ b/media/libmedia/MediaProfiles.cpp
@@ -48,7 +48,8 @@
{"amrwb", AUDIO_ENCODER_AMR_WB},
{"aac", AUDIO_ENCODER_AAC},
{"heaac", AUDIO_ENCODER_HE_AAC},
- {"aaceld", AUDIO_ENCODER_AAC_ELD}
+ {"aaceld", AUDIO_ENCODER_AAC_ELD},
+ {"opus", AUDIO_ENCODER_OPUS}
};
const MediaProfiles::NameToTagMap MediaProfiles::sFileFormatMap[] = {
diff --git a/media/libmedia/include/media/mediarecorder.h b/media/libmedia/include/media/mediarecorder.h
index d8b0fe7..bdf1aae 100644
--- a/media/libmedia/include/media/mediarecorder.h
+++ b/media/libmedia/include/media/mediarecorder.h
@@ -67,7 +67,7 @@
OUTPUT_FORMAT_AAC_ADTS = 6,
OUTPUT_FORMAT_AUDIO_ONLY_END = 7, // Used in validating the output format. Should be the
- // at the end of the audio only output formats.
+ // at the end of the audio only output formats.
/* Stream over a socket, limited to a single stream */
OUTPUT_FORMAT_RTP_AVP = 7,
@@ -81,6 +81,9 @@
/* HEIC data in a HEIF container */
OUTPUT_FORMAT_HEIF = 10,
+ /* Opus data in a OGG container */
+ OUTPUT_FORMAT_OGG = 11,
+
OUTPUT_FORMAT_LIST_END // must be last - used to validate format type
};
@@ -92,6 +95,7 @@
AUDIO_ENCODER_HE_AAC = 4,
AUDIO_ENCODER_AAC_ELD = 5,
AUDIO_ENCODER_VORBIS = 6,
+ AUDIO_ENCODER_OPUS = 7,
AUDIO_ENCODER_LIST_END // must be the last - used to validate the audio encoder type
};