summaryrefslogtreecommitdiff
path: root/ext/flac
diff options
context:
space:
mode:
authorStefan Sauer <ensonic@users.sf.net>2013-04-17 21:12:55 +0200
committerStefan Sauer <ensonic@users.sf.net>2013-04-17 21:12:55 +0200
commit7e3793e3781b9350855c4bb11e3fe404681bbbd1 (patch)
tree8c7020dcfa741d12472665187b99cb2f347ea467 /ext/flac
parentddedf6b797f8c757d101057b63e2bce095e486b6 (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.c24
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;