appsrc: Wake up the create() function on caps changes

This allows the new caps to be sent downstream as soon as possible
instead of having to wait for the next buffer/buffer list.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/798>
This commit is contained in:
Sebastian Dröge 2020-08-24 19:37:15 +03:00 committed by GStreamer Merge Bot
parent 8d645e1a69
commit d2a0b38717

View file

@ -1457,6 +1457,9 @@ gst_app_src_set_caps (GstAppSrc * appsrc, const GstCaps * caps)
} }
gst_queue_array_push_tail (priv->queue, new_caps); gst_queue_array_push_tail (priv->queue, new_caps);
gst_caps_replace (&priv->last_caps, new_caps); gst_caps_replace (&priv->last_caps, new_caps);
if ((priv->wait_status & STREAM_WAITING))
g_cond_broadcast (&priv->cond);
} }
GST_OBJECT_UNLOCK (appsrc); GST_OBJECT_UNLOCK (appsrc);