From ef1e76ec4fb5e294c7615e9d99bbb44030b5ce4d Mon Sep 17 00:00:00 2001 From: Gilbok Lee Date: Mon, 5 Oct 2020 16:19:05 +0900 Subject: [PATCH 1/1] [0.6.242] Check MMPLAYER_BUS_WATCHER_WAIT_UNTIL() return value, when remove bus watcher Change-Id: Ia4ae724ddf204a829277f19610a0bcd6ef2a7422 --- packaging/libmm-player.spec | 2 +- src/mm_player_priv.c | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/packaging/libmm-player.spec b/packaging/libmm-player.spec index d123de8..3a70d7d 100644 --- a/packaging/libmm-player.spec +++ b/packaging/libmm-player.spec @@ -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 diff --git a/src/mm_player_priv.c b/src/mm_player_priv.c index c90a9e0..ec122c6 100644 --- a/src/mm_player_priv.c +++ b/src/mm_player_priv.c @@ -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); } -- 2.7.4