gst_object_unref (idsrc);
gst_object_unref (idsink);
gst_ghost_pad_set_target (GST_GHOST_PAD (input->ghost_sink), idsink);
+#ifdef TIZEN_FEATURE_FIX_PAD_BLOCK
+ gst_element_set_state (input->identity, GST_STATE_PAUSED);
+#else
gst_element_sync_state_with_parent (input->identity);
+#endif
}
static gboolean
case GST_AUTOPLUG_SELECT_EXPOSE:
GST_DEBUG_OBJECT (parsebin, "autoplug select requested expose");
/* expose the pad, we don't have the source element */
+#ifdef TIZEN_FEATURE_FIX_PAD_BLOCK
+ CHAIN_MUTEX_LOCK (chain);
+ if (chain->endpad == NULL)
+ expose_pad (parsebin, src, parsepad, pad, caps, chain);
+ else
+ GST_WARNING_OBJECT (parsebin, "endpad already exist %" GST_PTR_FORMAT, chain->endpad);
+ CHAIN_MUTEX_UNLOCK (chain);
+#else
expose_pad (parsebin, src, parsepad, pad, caps, chain);
+#endif
res = TRUE;
goto beach;
case GST_AUTOPLUG_SELECT_SKIP:
core_conf.set('TIZEN_FEATURE_PLAYBIN3_MODIFICATION', true)
core_conf.set('TIZEN_FEATURE_DISABLE_EOS_DROP', true)
core_conf.set('TIZEN_FEATURE_MANUAL_BUFFERING_CTRL', true)
+core_conf.set('TIZEN_FEATURE_FIX_PAD_BLOCK', true)
tbm_dep = dependency('libtbm', required : get_option('tbm'))
if tbm_dep.found()