decodebin3: do not drop regular eos event 75/257175/1 accepted/tizen/6.0/unified/20210422.124714 submit/tizen_6.0/20210421.102630
authorEunhye Choi <eunhae1.choi@samsung.com>
Tue, 20 Apr 2021 10:05:51 +0000 (19:05 +0900)
committerEunhye Choi <eunhae1.choi@samsung.com>
Tue, 20 Apr 2021 10:09:14 +0000 (19:09 +0900)
- 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

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 1e41bbc..bbdbc90 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\