- deadlock can be occurred by bitrate query during
pipeline reconfiguration.
- the query is required by queue2 and almost demux reply
the request but not all.
- deadlock can be resolved by forwarding the query to srcpad directly.
- queue2: revert
bea8fc39a4798aafa5daeec6bc785937f916311d
which is temporary patch to avoid deadlock
Change-Id: I499d1fe27cfd9db3ef66197b5b3b752c71d3446d
-DTIZEN_FEATURE_BASEPARSE_MODIFICATION\
-DTIZEN_FEATURE_QUEUE_MODIFICATION\
-DTIZEN_FEATURE_FAKESINK_MODIFICATION\
+ -DTIZEN_FEATURE_INPUT_SELECTOR_MODIFICATION\
%if "%{tizen_profile_name}" == "tv"
-DTIZEN_PROFILE_TV\
-DTIZEN_FEATURE_TRUSTZONE\
case GST_QUERY_POSITION:
case GST_QUERY_DURATION:
case GST_QUERY_CONTEXT:
+#ifdef TIZEN_FEATURE_INPUT_SELECTOR_MODIFICATION
+ /* to resolve deadlock during reconfiguration. */
+ case GST_QUERY_BITRATE:
+#endif
/* always proxy caps/position/duration/context queries, regardless of active pad or not
* See https://bugzilla.gnome.org/show_bug.cgi?id=775445 */
res = gst_pad_peer_query (self->srcpad, query);
}
GST_QUEUE2_MUTEX_UNLOCK (queue);
-#ifndef TIZEN_FEATURE_QUEUE2_MODIFICATION
/* force a new bitrate query to be performed */
- /* FIXME: Deadlock occurs in some streaming case(rtsp, mp3/ogv http streaming) */
query_downstream_bitrate (queue);
-#endif
res = gst_pad_push_event (queue->sinkpad, event);
break;