[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