mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-23 23:58:17 +00:00
pad linking only works when both elements are not playing
Original commit message from CVS: pad linking only works when both elements are not playing
This commit is contained in:
parent
e57f527722
commit
62d382149a
1 changed files with 5 additions and 1 deletions
|
@ -989,6 +989,7 @@ gst_pad_link_filtered (GstPad *srcpad, GstPad *sinkpad, GstCaps *filtercaps)
|
||||||
GST_INFO (GST_CAT_PADS, "*actually* linking %s:%s and %s:%s",
|
GST_INFO (GST_CAT_PADS, "*actually* linking %s:%s and %s:%s",
|
||||||
GST_DEBUG_PAD_NAME (realsrc), GST_DEBUG_PAD_NAME (realsink));
|
GST_DEBUG_PAD_NAME (realsrc), GST_DEBUG_PAD_NAME (realsink));
|
||||||
}
|
}
|
||||||
|
/* FIXME: shouldn't we convert this to g_return_val_if_fail? */
|
||||||
if (GST_RPAD_PEER (realsrc) != NULL) {
|
if (GST_RPAD_PEER (realsrc) != NULL) {
|
||||||
GST_INFO (GST_CAT_PADS, "Real source pad %s:%s has a peer, failed",
|
GST_INFO (GST_CAT_PADS, "Real source pad %s:%s has a peer, failed",
|
||||||
GST_DEBUG_PAD_NAME (realsrc));
|
GST_DEBUG_PAD_NAME (realsrc));
|
||||||
|
@ -1005,10 +1006,13 @@ gst_pad_link_filtered (GstPad *srcpad, GstPad *sinkpad, GstCaps *filtercaps)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
if (GST_PAD_PARENT (realsink) == NULL) {
|
if (GST_PAD_PARENT (realsink) == NULL) {
|
||||||
GST_INFO (GST_CAT_PADS, "Real src pad %s:%s has no parent, failed",
|
GST_INFO (GST_CAT_PADS, "Real sink pad %s:%s has no parent, failed",
|
||||||
GST_DEBUG_PAD_NAME (realsrc));
|
GST_DEBUG_PAD_NAME (realsrc));
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
g_return_val_if_fail (GST_STATE (GST_PAD_PARENT (realsrc)) != GST_STATE_PLAYING, FALSE);
|
||||||
|
g_return_val_if_fail (GST_STATE (GST_PAD_PARENT (realsink)) != GST_STATE_PLAYING, FALSE);
|
||||||
|
|
||||||
|
|
||||||
if (!gst_pad_check_schedulers (realsrc, realsink)) {
|
if (!gst_pad_check_schedulers (realsrc, realsink)) {
|
||||||
g_warning ("linking pads with different scheds requires "
|
g_warning ("linking pads with different scheds requires "
|
||||||
|
|
Loading…
Reference in a new issue