From 716a88c632df479f2f9940d05efbdea3a3c3cbb6 Mon Sep 17 00:00:00 2001 From: Jaechan Lee Date: Mon, 27 Mar 2017 20:23:05 +0900 Subject: [PATCH] [0.3.53] If player_prepare_async is failed, Set timeout as 5sec & Release prepare cb. Change-Id: I1ef9336acb3be7a7036a67e5bed21588bddb2e33 --- src/player.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/player.c b/src/player.c index 2f3cc78..67d07a8 100644 --- a/src/player.c +++ b/src/player.c @@ -603,8 +603,15 @@ static void __error_cb_handler(callback_cb_info_s * cb_info, _player_recv_data * int code; muse_player_event_e ev = MUSE_PLAYER_EVENT_TYPE_ERROR; - if (player_msg_get(code, recv_data->buffer)) + if (player_msg_get(code, recv_data->buffer)) { + if (code == PLAYER_ERROR_NOT_SUPPORTED_FILE) { + if (cb_info->user_cb[MUSE_PLAYER_EVENT_TYPE_PREPARE]) { + LOGW("failed to pause, so prepare cb will be released soon"); + set_null_user_cb(cb_info, MUSE_PLAYER_EVENT_TYPE_PREPARE); + } + } ((player_error_cb) cb_info->user_cb[ev]) (code, cb_info->user_data[ev]); + } } static void __disconnected_error_cb_handler(callback_cb_info_s * cb_info, _player_recv_data *recv_data) @@ -1975,6 +1982,11 @@ int player_prepare_async(player_h player, player_prepared_cb callback, void *use LOGD("server timeout will be %d sec", timeout); SERVER_TIMEOUT(pc) = timeout * G_TIME_SPAN_MILLISECOND; + } else { + LOGW("failed to realize, so prepare cb will be released soon"); + if (pc->cb_info->user_cb[MUSE_PLAYER_EVENT_TYPE_PREPARE]) { + set_null_user_cb(pc->cb_info, MUSE_PLAYER_EVENT_TYPE_PREPARE); + } } g_free(ret_buf); -- 2.7.4