[Bug 703312] New: [matroskademux] missing profile field in caps for aac audio
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Sat Jun 29 07:34:55 PDT 2013
https://bugzilla.gnome.org/show_bug.cgi?id=703312
GStreamer | gst-plugins-good | git
Summary: [matroskademux] missing profile field in caps for aac
audio
Classification: Platform
Product: GStreamer
Version: git
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: gst-plugins-good
AssignedTo: gstreamer-bugs at lists.freedesktop.org
ReportedBy: betacentauri at arcor.de
QAContact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
Hi,
my hardware supports only aac lc profile. I have added that to the caps of the
sink, but still the sink is used instead of faad to decode the audio.
It seems that the reason is that no profile fields are generated by matroska
demux for aac audio data.
I have generated a patch which works for me. I'm no expert, so I'm not quite
sure whether this patch
diff --git a/gst/matroska/matroska-demux.c b/gst/matroska/matroska-demux.c
index c586f55..6e23d75 100644
--- a/gst/matroska/matroska-demux.c
+++ b/gst/matroska/matroska-demux.c
@@ -5442,6 +5442,8 @@ gst_matroska_demux_audio_caps
(GstMatroskaTrackAudioContext *
"stream-format", G_TYPE_STRING, "raw", NULL);
gst_caps_set_simple (caps, "codec_data", GST_TYPE_BUFFER, priv, NULL);
*codec_name = g_strdup_printf ("MPEG-%d AAC audio", mpegversion);
+ if (context && context->codec_priv_size > 0)
+ gst_codec_utils_aac_caps_set_level_and_profile(caps,
context->codec_priv, context->codec_priv_size);
gst_buffer_unref (priv);
}
} else if (!strcmp (codec_id, GST_MATROSKA_CODEC_ID_AUDIO_TTA)) {
or this patch
diff --git a/gst/matroska/matroska-demux.c b/gst/matroska/matroska-demux.c
index c586f55..afc2e2c 100644
--- a/gst/matroska/matroska-demux.c
+++ b/gst/matroska/matroska-demux.c
@@ -5444,6 +5444,9 @@ gst_matroska_demux_audio_caps
(GstMatroskaTrackAudioContext *
*codec_name = g_strdup_printf ("MPEG-%d AAC audio", mpegversion);
gst_buffer_unref (priv);
}
+
+ if (context && context->codec_priv_size > 0)
+ gst_codec_utils_aac_caps_set_level_and_profile(caps,
context->codec_priv, context->codec_priv_size);
} else if (!strcmp (codec_id, GST_MATROSKA_CODEC_ID_AUDIO_TTA)) {
caps = gst_caps_new_simple ("audio/x-tta",
"width", G_TYPE_INT, audiocontext->bitdepth, NULL);
is correct.
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list