- 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: I0787c8cf22abeb1e6e30ba56d0909381399cdbd2
(cherry picked from commit
e81e47479b49ffe98c3614ad2295c56e28e0b282)
gst_mini_object_set_qdata (GST_MINI_OBJECT_CAST (ev),
CUSTOM_EOS_QUARK, NULL, NULL);
GST_LOG_OBJECT (pad, "Received custom EOS");
gst_mini_object_set_qdata (GST_MINI_OBJECT_CAST (ev),
CUSTOM_EOS_QUARK, NULL, NULL);
GST_LOG_OBJECT (pad, "Received custom EOS");
+#ifndef TIZEN_FEATURE_DISABLE_EOS_DROP
ret = GST_PAD_PROBE_HANDLED;
ret = GST_PAD_PROBE_HANDLED;
SELECTION_LOCK (dbin);
if (slot->input == NULL) {
GST_DEBUG_OBJECT (pad,
SELECTION_LOCK (dbin);
if (slot->input == NULL) {
GST_DEBUG_OBJECT (pad,
GST_DEBUG_OBJECT (pad, "Got final eos, propagating downstream");
} else {
GST_DEBUG_OBJECT (pad, "Got regular eos (all_inputs_are_eos)");
GST_DEBUG_OBJECT (pad, "Got final eos, propagating downstream");
} else {
GST_DEBUG_OBJECT (pad, "Got regular eos (all_inputs_are_eos)");
+#ifndef TIZEN_FEATURE_DISABLE_EOS_DROP
/* drop current event as eos will be sent in check_all_slot_for_eos
* when all output streams are also eos */
ret = GST_PAD_PROBE_DROP;
/* drop current event as eos will be sent in check_all_slot_for_eos
* when all output streams are also eos */
ret = GST_PAD_PROBE_DROP;
SELECTION_LOCK (dbin);
check_all_slot_for_eos (dbin);
SELECTION_UNLOCK (dbin);
SELECTION_LOCK (dbin);
check_all_slot_for_eos (dbin);
SELECTION_UNLOCK (dbin);
-DTIZEN_FEATURE_VOLUME_MODIFICATION\
-DTIZEN_FEATURE_FORCE_SW_DECODER\
-DTIZEN_FEATURE_U3_AVOID_DEADLOCK\
-DTIZEN_FEATURE_VOLUME_MODIFICATION\
-DTIZEN_FEATURE_FORCE_SW_DECODER\
-DTIZEN_FEATURE_U3_AVOID_DEADLOCK\
+ -DTIZEN_FEATURE_DISABLE_EOS_DROP\
-DTIZEN_FEATURE_PLAYBIN3_MODIFICATION\
%if "%{tizen_profile_name}" == "tv"
-DTIZEN_PROFILE_TV\
-DTIZEN_FEATURE_PLAYBIN3_MODIFICATION\
%if "%{tizen_profile_name}" == "tv"
-DTIZEN_PROFILE_TV\