summaryrefslogtreecommitdiff
path: root/sys/androidmedia/gstamcaudiodec.c
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2016-12-15 14:05:09 +0200
committerSebastian Dröge <sebastian@centricular.com>2016-12-15 14:09:25 +0200
commit3357ddb0e17bf347505b6099796971e0b49481ce (patch)
tree8ddf25069507c02563fd7b55a8254f9bff277271 /sys/androidmedia/gstamcaudiodec.c
parent5e3157098ab63b0c4a988f2eef6dd65203b5340e (diff)
downloadgstreamer-plugins-bad-3357ddb0e17bf347505b6099796971e0b49481ce.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/androidmedia/gstamcaudiodec.c')
-rw-r--r--sys/androidmedia/gstamcaudiodec.c15
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);