mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-20 08:41:07 +00:00
inputselector: Always proxy position/duration query
active-pad switch causes reconfigure event with lock taken, and upstream element might query the current position or duration before returning the reconfigure event. Meanwhile, gst_input_selector_get_linked_pad() is used to get srcpad inside of default query handle, and it takes also lock. Since inputselector is still locked by active-pad switch, and so the query cannot be handled further. https://bugzilla.gnome.org/show_bug.cgi?id=775445
This commit is contained in:
parent
c90d3e9d5a
commit
89082272f8
1 changed files with 4 additions and 1 deletions
|
@ -664,7 +664,10 @@ gst_selector_pad_query (GstPad * pad, GstObject * parent, GstQuery * query)
|
||||||
|
|
||||||
switch (GST_QUERY_TYPE (query)) {
|
switch (GST_QUERY_TYPE (query)) {
|
||||||
case GST_QUERY_CAPS:
|
case GST_QUERY_CAPS:
|
||||||
/* always proxy caps query, regardless of active pad or not */
|
case GST_QUERY_POSITION:
|
||||||
|
case GST_QUERY_DURATION:
|
||||||
|
/* always proxy caps/position/duration query, regardless of active pad or not
|
||||||
|
* See https://bugzilla.gnome.org/show_bug.cgi?id=775445 */
|
||||||
res = gst_pad_peer_query (self->srcpad, query);
|
res = gst_pad_peer_query (self->srcpad, query);
|
||||||
break;
|
break;
|
||||||
case GST_QUERY_ALLOCATION:{
|
case GST_QUERY_ALLOCATION:{
|
||||||
|
|
Loading…
Reference in a new issue