summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@gmail.com>2007-01-24 12:26:41 +0000
committerWim Taymans <wim.taymans@gmail.com>2007-01-24 12:26:41 +0000
commit1f51fd9785945f1b33c3464af363b42e445d32f3 (patch)
treef7a75de93e0def1c7ecc53e29abd28a3b6356c31
parent3df533de2c74cffdbcf2ff9b81b8950fc1784b06 (diff)
gst/rtsp/gstrtspsrc.c: Unblock pads after adding the pads to the element so that autopluggers get a change to link so...
Original commit message from CVS: * gst/rtsp/gstrtspsrc.c: (pad_unblocked), (pad_blocked): Unblock pads after adding the pads to the element so that autopluggers get a change to link something. Possibly fixes #395688.
-rw-r--r--ChangeLog6
-rw-r--r--gst/rtsp/gstrtspsrc.c11
2 files changed, 13 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 4397b03f..c04ba488 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2007-01-24 Wim Taymans <wim@fluendo.com>
+ * gst/rtsp/gstrtspsrc.c: (pad_unblocked), (pad_blocked):
+ Unblock pads after adding the pads to the element so that autopluggers
+ get a change to link something. Possibly fixes #395688.
+
+2007-01-24 Wim Taymans <wim@fluendo.com>
+
* gst/rtp/gstrtpamrdepay.c:
* gst/rtp/gstrtpgsmdepay.c:
* gst/rtp/gstrtph263pdepay.c:
diff --git a/gst/rtsp/gstrtspsrc.c b/gst/rtsp/gstrtspsrc.c
index 96fd79ee..b56265cc 100644
--- a/gst/rtsp/gstrtspsrc.c
+++ b/gst/rtsp/gstrtspsrc.c
@@ -841,6 +841,7 @@ cleanup:
static void
pad_unblocked (GstPad * pad, gboolean blocked, GstRTSPSrc * src)
{
+ GST_DEBUG_OBJECT (src, "pad %s:%s unblocked", GST_DEBUG_PAD_NAME (pad));
}
static void
@@ -849,9 +850,6 @@ pad_blocked (GstPad * pad, gboolean blocked, GstRTSPSrc * src)
GST_DEBUG_OBJECT (src, "pad %s:%s blocked, activating streams",
GST_DEBUG_PAD_NAME (pad));
- gst_pad_set_blocked_async (pad, FALSE, (GstPadBlockCallback) pad_unblocked,
- src);
-
/* activate the streams */
GST_OBJECT_LOCK (src);
if (!src->need_activate)
@@ -862,12 +860,17 @@ pad_blocked (GstPad * pad, gboolean blocked, GstRTSPSrc * src)
gst_rtspsrc_activate_streams (src);
+unblock:
+ /* now unblock and let it stream */
+ gst_pad_set_blocked_async (pad, FALSE, (GstPadBlockCallback) pad_unblocked,
+ src);
+
return;
was_ok:
{
GST_OBJECT_UNLOCK (src);
- return;
+ goto unblock;
}
}