diff options
author | Wim Taymans <wim.taymans@collabora.co.uk> | 2013-06-25 14:20:37 +0200 |
---|---|---|
committer | Wim Taymans <wim.taymans@collabora.co.uk> | 2013-06-25 14:20:37 +0200 |
commit | a5fed6c2619ff196b620fd7c2669313eaf143c8f (patch) | |
tree | 7ef7ce08c5afcef20cda34caf56c0fb100a797eb | |
parent | 1d1131de19483f96f89f10fa272d38a52dd4c050 (diff) |
rdt: forward sticky events
-rw-r--r-- | gst/realmedia/rdtmanager.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/gst/realmedia/rdtmanager.c b/gst/realmedia/rdtmanager.c index 2e5d463ae7..a2d1b70ac4 100644 --- a/gst/realmedia/rdtmanager.c +++ b/gst/realmedia/rdtmanager.c @@ -1,5 +1,6 @@ /* GStreamer * Copyright (C) <2005,2006> Wim Taymans <wim@fluendo.com> + * <2013> Wim Taymans <wim.taymans@gmail.com> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public @@ -252,6 +253,16 @@ create_session (GstRDTManager * rdtmanager, gint id) } static gboolean +forward_sticky_events (GstPad * pad, GstEvent ** event, gpointer user_data) +{ + GstPad *srcpad = GST_PAD_CAST (user_data); + + gst_pad_push_event (srcpad, gst_event_ref (*event)); + + return TRUE; +} + +static gboolean activate_session (GstRDTManager * rdtmanager, GstRDTManagerSession * session, guint32 ssrc, guint8 pt) { @@ -306,6 +317,8 @@ activate_session (GstRDTManager * rdtmanager, GstRDTManagerSession * session, gst_pad_set_active (session->recv_rtp_src, TRUE); + gst_pad_sticky_events_foreach (session->recv_rtp_sink, forward_sticky_events, + session->recv_rtp_src); gst_pad_set_caps (session->recv_rtp_src, caps); gst_caps_unref (caps); @@ -519,7 +532,7 @@ gst_rdt_manager_class_init (GstRDTManagerClass * g_class) gst_element_class_set_static_metadata (gstelement_class, "RTP Decoder", "Codec/Parser/Network", "Accepts raw RTP and RTCP packets and sends them forward", - "Wim Taymans <wim@fluendo.com>"); + "Wim Taymans <wim.taymans@gmail.com>"); GST_DEBUG_CATEGORY_INIT (rdtmanager_debug, "rdtmanager", 0, "RTP decoder"); } |