return FALSE;
#endif
}
+#ifdef TIZEN_FEATURE_URISRCBIN_FIX_DEADLOCK
+ GST_STATE_LOCK(info->demuxer);
+#endif
gst_bin_add (GST_BIN_CAST (urisrc), info->demuxer);
info->demuxer_is_parsebin = TRUE;
gst_element_sync_state_with_parent (info->pre_parse_queue);
}
gst_element_sync_state_with_parent (info->demuxer);
+#ifdef TIZEN_FEATURE_URISRCBIN_FIX_DEADLOCK
+ GST_STATE_UNLOCK(info->demuxer);
+#endif
GST_URI_SOURCE_BIN_UNLOCK (urisrc);
return TRUE;
could_not_link:
{
+#ifdef TIZEN_FEATURE_URISRCBIN_FIX_DEADLOCK
+ if (info->demuxer)
+ GST_STATE_UNLOCK(info->demuxer);
+#endif
GST_URI_SOURCE_BIN_UNLOCK (urisrc);
GST_ELEMENT_ERROR (urisrc, CORE, NEGOTIATION,
(NULL), ("Can't link to (pre-)parsebin element"));
core_conf.set('TIZEN_FEATURE_MANUAL_BUFFERING_CTRL', true)
core_conf.set('TIZEN_FEATURE_FIX_PAD_BLOCK', true)
core_conf.set('TIZEN_FEATURE_BUG_FIX', true)
+core_conf.set('TIZEN_FEATURE_URISRCBIN_FIX_DEADLOCK', true)
tbm_dep = dependency('libtbm', required : get_option('tbm'))
if tbm_dep.found()