[gst-cvs] gst-plugins-bad: aacparse: Add stream-format to output caps

Thiago Sousa Santos thiagoss at kemper.freedesktop.org
Mon Jan 11 07:34:24 PST 2010


Module: gst-plugins-bad
Branch: master
Commit: 7cfe3643dbfd4440cbb6c55f99b4abfda85f8082
URL:    http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=7cfe3643dbfd4440cbb6c55f99b4abfda85f8082

Author: Thiago Santos <thiago.sousa.santos at collabora.co.uk>
Date:   Mon Jan 11 10:51:18 2010 -0300

aacparse: Add stream-format to output caps

Adds stream-format field to output caps

---

 gst/audioparsers/gstaacparse.c |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)

diff --git a/gst/audioparsers/gstaacparse.c b/gst/audioparsers/gstaacparse.c
index e48f818..545c937 100644
--- a/gst/audioparsers/gstaacparse.c
+++ b/gst/audioparsers/gstaacparse.c
@@ -210,6 +210,7 @@ gst_aacparse_set_src_caps (GstAacParse * aacparse, GstCaps * sink_caps)
   GstStructure *s;
   GstCaps *src_caps = NULL;
   gboolean res = FALSE;
+  const gchar *stream_format;
 
   GST_DEBUG_OBJECT (aacparse, "sink caps: %" GST_PTR_FORMAT, sink_caps);
   if (sink_caps)
@@ -220,11 +221,27 @@ gst_aacparse_set_src_caps (GstAacParse * aacparse, GstCaps * sink_caps)
   gst_caps_set_simple (src_caps, "framed", G_TYPE_BOOLEAN, TRUE,
       "mpegversion", G_TYPE_INT, aacparse->mpegversion, NULL);
 
+  switch (aacparse->header_type) {
+    case DSPAAC_HEADER_NONE:
+      stream_format = "none";
+      break;
+    case DSPAAC_HEADER_ADTS:
+      stream_format = "adts";
+      break;
+    case DSPAAC_HEADER_ADIF:
+      stream_format = "adif";
+      break;
+    default:
+      stream_format = NULL;
+  }
+
   s = gst_caps_get_structure (src_caps, 0);
   if (!gst_structure_has_field (s, "rate") && aacparse->sample_rate > 0)
     gst_structure_set (s, "rate", G_TYPE_INT, aacparse->sample_rate, NULL);
   if (!gst_structure_has_field (s, "channels") && aacparse->channels > 0)
     gst_structure_set (s, "channels", G_TYPE_INT, aacparse->channels, NULL);
+  if (!gst_structure_has_field (s, "stream-format") && stream_format)
+    gst_structure_set (s, "stream-format", G_TYPE_STRING, stream_format, NULL);
 
   GST_DEBUG_OBJECT (aacparse, "setting src caps: %" GST_PTR_FORMAT, src_caps);
 





More information about the Gstreamer-commits mailing list