static int __mmplayer_unrealize_streaming_ext(mm_player_t *player);
static int __mmplayer_start_streaming_ext(mm_player_t *player);
static int __mmplayer_destroy_streaming_ext(mm_player_t* player);
+static void __mmplayer_remove_g_source_from_context(guint source_id);
/*===========================================================================================
return MM_ERROR_PLAYER_INTERNAL;
}
+void __mmplayer_remove_g_source_from_context(guint source_id)
+{
+ GMainContext *context = g_main_context_get_thread_default ();
+ GSource *source = NULL;
+
+ debug_fenter();
+
+ source = g_main_context_find_source_by_id (context, source_id);
+
+ if (source != NULL)
+ {
+ debug_log("context : %x, source : %x", context, source);
+ g_source_destroy(source);
+ }
+
+ debug_fleave();
+}
static int
__mmplayer_gst_destroy_pipeline(mm_player_t* player) // @
/* disconnecting bus watch */
if ( player->bus_watcher )
- g_source_remove_by_user_data( player);
+ __mmplayer_remove_g_source_from_context(player->bus_watcher);
player->bus_watcher = 0;
if ( mainbin )
if (player->lazy_pause_event_id)
{
- g_source_remove_by_user_data(player);
+ __mmplayer_remove_g_source_from_context(player->lazy_pause_event_id);
player->lazy_pause_event_id = 0;
}
if ( player->eos_timer )
{
- g_source_remove_by_user_data(player);
+ __mmplayer_remove_g_source_from_context( player->eos_timer );
}
player->eos_timer = 0;