diff options
author | Sebastian Dröge <sebastian@centricular.com> | 2016-12-15 14:05:09 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2016-12-22 14:42:19 +0200 |
commit | 8dfaecfa3d78ed864bd4dfc3cb435304248e6157 (patch) | |
tree | 2eb2cc9df46928e8ef6422ed5a66fe32e98bf7ee /sys | |
parent | 5341390c627ccdcc43e40faf1bc8aa1ff1c6f16b (diff) | |
download | gstreamer-plugins-bad-8dfaecfa3d78ed864bd4dfc3cb435304248e6157.tar.gz |
amcaudiodec: Set "is-adts" to 1 for ADTS AAC
Otherwise it fails to decode.
https://bugzilla.gnome.org/show_bug.cgi?id=740101
Diffstat (limited to 'sys')
-rw-r--r-- | sys/androidmedia/gstamcaudiodec.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/sys/androidmedia/gstamcaudiodec.c b/sys/androidmedia/gstamcaudiodec.c index 49c8c602c..f46df7b09 100644 --- a/sys/androidmedia/gstamcaudiodec.c +++ b/sys/androidmedia/gstamcaudiodec.c @@ -882,6 +882,21 @@ gst_amc_audio_dec_set_format (GstAudioDecoder * decoder, GstCaps * caps) return FALSE; } + if (gst_structure_has_name (s, "audio/mpeg")) { + gint mpegversion; + const gchar *stream_format; + + if (!gst_structure_get_int (s, "mpegversion", &mpegversion)) + mpegversion = -1; + stream_format = gst_structure_get_string (s, "stream-format"); + + if (mpegversion == 4 && g_strcmp0 (stream_format, "adts") == 0) { + gst_amc_format_set_int (format, "is-adts", 1, &err); + if (err) + GST_ELEMENT_WARNING_FROM_ERROR (self, err); + } + } + /* FIXME: These buffers needs to be valid until the codec is stopped again */ g_list_foreach (self->codec_datas, (GFunc) gst_buffer_unref, NULL); g_list_free (self->codec_datas); |