static gpointer __mmplayer_launch_glib_murphy_loop(void *user_data)
{
- LOGI("Run mrp_loop");
MMPlayerResourceManager *resource_manager= (MMPlayerResourceManager *)user_data;
+ LOGI("Run mrp_loop");
g_main_loop_run(resource_manager->mrp_loop);
LOGI("Murphy glib loop exit");
return NULL;
mrp_res_delete_resource_set(resource_manager->rset);
resource_manager->rset = NULL;
}
+
if (resource_manager->context) {
mrp_res_destroy(resource_manager->context);
resource_manager->context = NULL;
}
+
if (resource_manager->mrp_loop) {
g_main_loop_quit(resource_manager->mrp_loop);
+ g_main_loop_unref(resource_manager->mrp_loop);
resource_manager->mrp_loop = NULL;
}
+
g_thread_join(resource_manager->starter);
+ g_thread_unref(resource_manager->starter);
+ resource_manager->starter = NULL;
if (resource_manager->mloop) {
mrp_mainloop_destroy(resource_manager->mloop);