diff options
author | Stefan Sauer <ensonic@users.sf.net> | 2013-04-17 21:12:55 +0200 |
---|---|---|
committer | Stefan Sauer <ensonic@users.sf.net> | 2013-04-17 21:12:55 +0200 |
commit | 7e3793e3781b9350855c4bb11e3fe404681bbbd1 (patch) | |
tree | 8c7020dcfa741d12472665187b99cb2f347ea467 /ext/flac | |
parent | ddedf6b797f8c757d101057b63e2bce095e486b6 (diff) |
flactag: forward caps event
This ensures that the downstream element will get the event and negotiates. Add
a FIXME for updating the streamheader field on th caps.
Diffstat (limited to 'ext/flac')
-rw-r--r-- | ext/flac/gstflactag.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/ext/flac/gstflactag.c b/ext/flac/gstflactag.c index 9ef267410..5f524f1c2 100644 --- a/ext/flac/gstflactag.c +++ b/ext/flac/gstflactag.c @@ -74,18 +74,6 @@ GST_STATIC_PAD_TEMPLATE ("sink", GST_STATIC_CAPS ("audio/x-flac") ); -/* signals and args */ -enum -{ - /* FILL ME */ - LAST_SIGNAL -}; - -enum -{ - ARG_0 - /* FILL ME */ -}; static void gst_flac_tag_dispose (GObject * object); @@ -172,9 +160,21 @@ gst_flac_tag_init (GstFlacTag * tag) static gboolean gst_flac_tag_sink_event (GstPad * pad, GstObject * parent, GstEvent * event) { + GstFlacTag *tag; gboolean ret; + tag = GST_FLAC_TAG (parent); + + GST_DEBUG_OBJECT (pad, "Received %s event on sinkpad, %" GST_PTR_FORMAT, + GST_EVENT_TYPE_NAME (event), event); + switch (GST_EVENT_TYPE (event)) { + case GST_EVENT_CAPS: + /* FIXME: parse and store the caps. Once we parsed and built the headers, + * update the "streamheader" field in the caps and send a new caps event + */ + ret = gst_pad_push_event (tag->srcpad, event); + break; default: ret = gst_pad_event_default (pad, parent, event); break; |