From: Eunhye Choi Date: Tue, 20 Apr 2021 10:05:51 +0000 (+0900) Subject: decodebin3: do not drop regular eos event X-Git-Tag: accepted/tizen/unified/20210422.005402^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0fd633194e81a887a074e671fceb45a71a0c4347;p=platform%2Fupstream%2Fgst-plugins-base.git decodebin3: do not drop regular eos event - decodebin3 send eos event to downstream when it gets eos event from all tracks but it causes hang up if application ask changing pipeline state to PAUSED. - eos track has no data to preroll but sink does not know whether it is eos or not because d3 drop the eos and it is waiting another track's eos. Change-Id: Iee3aaa622f88898f5030a154f4eae25bc9fca562 (cherry picked from commit d52a7353d161875acb8d1168914d600d905374de) --- diff --git a/gst/playback/gstdecodebin3.c b/gst/playback/gstdecodebin3.c index fdec1be..bb87df6 100644 --- a/gst/playback/gstdecodebin3.c +++ b/gst/playback/gstdecodebin3.c @@ -2001,7 +2001,9 @@ multiqueue_src_probe (GstPad * pad, GstPadProbeInfo * info, GST_DEBUG_OBJECT (pad, "Got regular eos (all_inputs_are_eos)"); /* drop current event as eos will be sent in check_all_slot_for_eos * when all output streams are also eos */ +#ifndef TIZEN_FEATURE_DISABLE_EOS_DROP ret = GST_PAD_PROBE_DROP; +#endif SELECTION_LOCK (dbin); check_all_slot_for_eos (dbin); SELECTION_UNLOCK (dbin); diff --git a/packaging/gst-plugins-base.spec b/packaging/gst-plugins-base.spec index 12580e5..340bd95 100644 --- a/packaging/gst-plugins-base.spec +++ b/packaging/gst-plugins-base.spec @@ -5,7 +5,7 @@ Name: gst-plugins-base Version: 1.16.2 -Release: 10 +Release: 11 License: LGPL-2.0+ Summary: GStreamer Streaming-Media Framework Plug-Ins Url: http://gstreamer.freedesktop.org/ @@ -95,6 +95,7 @@ export CFLAGS="%{optflags} -fno-strict-aliasing\ -DTIZEN_FEATURE_FORCE_SW_DECODER\ -DTIZEN_FEATURE_U3_AVOID_DEADLOCK\ -DTIZEN_FEATURE_PLAYBIN3_MODIFICATION\ + -DTIZEN_FEATURE_DISABLE_EOS_DROP\ %if "%{tizen_profile_name}" == "tv" -DTIZEN_PROFILE_TV\ -DTIZEN_FEATURE_TRUSTZONE\