decodebin3: do not drop regular eos event 97/257197/1 accepted/tizen/unified/20210422.005402 submit/tizen/20210421.110538
authorEunhye Choi <eunhae1.choi@samsung.com>
Tue, 20 Apr 2021 10:05:51 +0000 (19:05 +0900)
committereunhae choi <eunhae1.choi@samsung.com>
Wed, 21 Apr 2021 04:22:08 +0000 (04:22 +0000)
- 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)

gst/playback/gstdecodebin3.c
packaging/gst-plugins-base.spec

index fdec1be..bb87df6 100644 (file)
@@ -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);
index 12580e5..340bd95 100644 (file)
@@ -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\