[0.6.242] Check MMPLAYER_BUS_WATCHER_WAIT_UNTIL() return value, when remove bus watcher 87/245187/4
authorGilbok Lee <gilbok.lee@samsung.com>
Mon, 5 Oct 2020 07:19:05 +0000 (16:19 +0900)
committerGilbok Lee <gilbok.lee@samsung.com>
Tue, 6 Oct 2020 04:57:33 +0000 (13:57 +0900)
Change-Id: Ia4ae724ddf204a829277f19610a0bcd6ef2a7422

packaging/libmm-player.spec
src/mm_player_priv.c

index d123de8..3a70d7d 100644 (file)
@@ -1,6 +1,6 @@
 Name:       libmm-player
 Summary:    Multimedia Framework Player Library
-Version:    0.6.241
+Version:    0.6.242
 Release:    0
 Group:      Multimedia/Libraries
 License:    Apache-2.0
index c90a9e0..ec122c6 100644 (file)
@@ -802,10 +802,14 @@ _mmplayer_bus_watcher_remove(MMHandleType hplayer)
                __mmplayer_remove_g_source_from_context(player->context.thread_default, player->bus_watcher);
                MMPLAYER_BUS_WATCHER_LOCK(player);
                end_time = g_get_monotonic_time () + 2 * G_TIME_SPAN_SECOND;
-               while (player->bus_watcher > 0)
-                       MMPLAYER_BUS_WATCHER_WAIT_UNTIL(player, end_time);
+               while (player->bus_watcher > 0) {
+                       if (!MMPLAYER_BUS_WATCHER_WAIT_UNTIL(player, end_time)) {
+                               LOGW("MMPLAYER_BUS_WATCHER_WAIT_UNTIL() timeout has passed - bus_watcher (%d)",
+                                               player->bus_watcher);
+                               break;
+                       }
+               }
                MMPLAYER_BUS_WATCHER_UNLOCK(player);
-
                g_mutex_clear(&player->bus_watcher_mutex);
                g_cond_clear(&player->bus_watcher_cond);
        }