rgvolume: Send all events through the proxypads instead of just sending to the target

Otherwise the sticky events are missing on the proxypads.
This commit is contained in:
Sebastian Dröge 2013-05-14 17:29:58 +02:00
parent 381e6912a5
commit 41e1af3751

View file

@ -448,12 +448,10 @@ static gboolean
gst_rg_volume_sink_event (GstPad * pad, GstObject * parent, GstEvent * event) gst_rg_volume_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
{ {
GstRgVolume *self; GstRgVolume *self;
GstPad *volume_sink_pad;
GstEvent *send_event = event; GstEvent *send_event = event;
gboolean res; gboolean res;
self = GST_RG_VOLUME (parent); self = GST_RG_VOLUME (parent);
volume_sink_pad = gst_ghost_pad_get_target (GST_GHOST_PAD (pad));
switch (GST_EVENT_TYPE (event)) { switch (GST_EVENT_TYPE (event)) {
case GST_EVENT_TAG: case GST_EVENT_TAG:
@ -477,12 +475,10 @@ gst_rg_volume_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
} }
if (G_LIKELY (send_event != NULL)) if (G_LIKELY (send_event != NULL))
res = gst_pad_send_event (volume_sink_pad, send_event); res = gst_pad_event_default (pad, parent, send_event);
else else
res = TRUE; res = TRUE;
gst_object_unref (volume_sink_pad);
return res; return res;
} }