[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