From fa6fc13941f4a90ab33c3ea05ed6a63f5d626979 Mon Sep 17 00:00:00 2001 From: Eunhae Choi Date: Wed, 22 Feb 2017 17:09:24 +0900 Subject: [PATCH] queue2: add pull scheduling mode depends on peer scheduling mode Change-Id: I39c9174206ef113a6373dee50fcb8a806ff73d0d --- packaging/gstreamer.spec | 2 +- plugins/elements/gstqueue2.c | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/packaging/gstreamer.spec b/packaging/gstreamer.spec index fb2132c..e2decdd 100644 --- a/packaging/gstreamer.spec +++ b/packaging/gstreamer.spec @@ -2,7 +2,7 @@ Name: gstreamer Version: 1.6.1 -Release: 7 +Release: 8 Summary: Streaming-Media Framework Runtime License: LGPL-2.0+ Group: Multimedia/Framework diff --git a/plugins/elements/gstqueue2.c b/plugins/elements/gstqueue2.c index 05c0fff..1f8ece5 100644 --- a/plugins/elements/gstqueue2.c +++ b/plugins/elements/gstqueue2.c @@ -3268,6 +3268,16 @@ gst_queue2_handle_src_query (GstPad * pad, GstObject * parent, GstQuery * query) gst_query_parse_scheduling (query, &flags, NULL, NULL, NULL); +#ifdef TIZEN_FEATURE_QUEUE2_MODIFICATION + if (!gst_query_has_scheduling_mode(query, GST_PAD_MODE_PULL)) { + GST_DEBUG_OBJECT(queue, "peer can support only push mode"); + gst_query_set_scheduling (query, flags, 0, -1, 0); + gst_query_add_scheduling_mode (query, GST_PAD_MODE_PUSH); + break; + } +#endif + GST_DEBUG_OBJECT(queue, "peer can support pull mode"); + /* we can operate in pull mode when we are using a tempfile */ pull_mode = !QUEUE_IS_USING_QUEUE (queue); -- 2.7.4