{
LOGW("PLAYER_MESSAGE_PREPARED");
if (handle->user_cb[MUSE_PLAYER_EVENT_TYPE_PREPARE]) {
- handle->is_doing_jobs = TRUE;
handle->state = PLAYER_STATE_READY;
((player_prepared_cb)handle->user_cb[MUSE_PLAYER_EVENT_TYPE_PREPARE])(handle->user_data[MUSE_PLAYER_EVENT_TYPE_PREPARE]);
handle->user_cb[MUSE_PLAYER_EVENT_TYPE_PREPARE] = NULL;
handle->user_data[MUSE_PLAYER_EVENT_TYPE_PREPARE] = NULL;
- handle->is_doing_jobs = FALSE;
} else {
LOGE("null handle in PLAYER_MESSAGE_PREPARED");
}
{
LOGW("PLAYER_MESSAGE_ERROR");
if (handle->user_cb[MUSE_PLAYER_EVENT_TYPE_ERROR]) {
- handle->is_doing_jobs = TRUE;
((player_error_cb)handle->user_cb[MUSE_PLAYER_EVENT_TYPE_ERROR])(handle->error_code, handle->user_data[MUSE_PLAYER_EVENT_TYPE_ERROR]);
- handle->is_doing_jobs = FALSE;
} else {
LOGE("null handle in PLAYER_MESSAGE_ERROR");
}
{
LOGW("PLAYER_MESSAGE_SEEK_DONE");
if (handle->user_cb[MUSE_PLAYER_EVENT_TYPE_SEEK]) {
- handle->is_doing_jobs = TRUE;
((player_seek_completed_cb)handle->user_cb[MUSE_PLAYER_EVENT_TYPE_SEEK])(handle->user_data[MUSE_PLAYER_EVENT_TYPE_SEEK]);
handle->user_cb[MUSE_PLAYER_EVENT_TYPE_SEEK] = NULL;
handle->user_data[MUSE_PLAYER_EVENT_TYPE_SEEK] = NULL;
- handle->is_doing_jobs = FALSE;
} else {
LOGE("null handle in PLAYER_MESSAGE_SEEK_DONE");
}
{
LOGW("PLAYER_MESSAGE_EOS");
if (handle->user_cb[MUSE_PLAYER_EVENT_TYPE_COMPLETE]) {
- handle->is_doing_jobs = TRUE;
((player_completed_cb)handle->user_cb[MUSE_PLAYER_EVENT_TYPE_COMPLETE])(handle->user_data[MUSE_PLAYER_EVENT_TYPE_COMPLETE]);
- handle->is_doing_jobs = FALSE;
} else {
LOGE("null handle in PLAYER_MESSAGE_EOS");
}
PLAYER_TRACE_BEGIN("MM:PLAYER:DESTROY");
PLAYER_INSTANCE_CHECK(player);
player_s *handle = (player_s *)player;
+#ifdef USE_ECORE_FUNCTIONS
if (handle->is_doing_jobs) {
LOGE("jobs not completed. can't do destroy");
return PLAYER_ERROR_INVALID_OPERATION;
}
-#ifdef USE_ECORE_FUNCTIONS
g_hash_table_remove_all(handle->ecore_jobs);
g_hash_table_unref(handle->ecore_jobs);
handle->ecore_jobs = NULL;