Add source elements to the pipeline before activation

In plug_src we changed the element state before adding it to
the owner container. This prevented the pipeline from intercepting
a GST_STREAM_STATUS_TYPE_CREATE message from the pad in order
to assign a custom task pool.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/issues/53
This commit is contained in:
Patricia Muscalu 2018-12-05 15:07:25 +01:00 committed by Sebastian Dröge
parent 5b86dc34ee
commit 3be1b9bba8

View file

@ -3401,6 +3401,9 @@ plug_src (GstRTSPStream * stream, GstBin * bin, GstElement * src,
priv = stream->priv;
/* add src */
gst_bin_add (bin, src);
pad = gst_element_get_static_pad (src, "src");
if (priv->srcpad) {
/* block pad so src can't push data while it's not yet linked */
@ -3412,9 +3415,6 @@ plug_src (GstRTSPStream * stream, GstBin * bin, GstElement * src,
gst_element_set_locked_state (src, TRUE);
}
/* add src */
gst_bin_add (bin, src);
/* and link to the funnel */
selpad = gst_element_get_request_pad (funnel, "sink_%u");
gst_pad_link (pad, selpad);