LOGD("ENTER");
#ifdef TIZEN_FEATURE_EVAS_RENDERER
- if (EVAS_HANDLE(pc) && EVAS_INFO(pc)->visible == EVAS_VISIBLE_NONE) {
+ if (CALLBACK_INFO(pc) && EVAS_HANDLE(pc) && EVAS_INFO(pc)->visible == EVAS_VISIBLE_NONE) {
ret = mm_evas_renderer_set_visible(EVAS_HANDLE(pc), true);
if (ret != MM_ERROR_NONE) {
LOGE("mm_evas_renderer_set_visible err 0x%x", ret);
if (ret == PLAYER_ERROR_NONE)
set_null_user_cb_lock(pc->cb_info, MUSE_PLAYER_EVENT_TYPE_SEEK);
+#ifdef TIZEN_FEATURE_EVAS_RENDERER
+ if (ret != PLAYER_ERROR_INVALID_STATE) {
+ if (CALLBACK_INFO(pc) && EVAS_HANDLE(pc) && (EVAS_INFO(pc)->visible == EVAS_VISIBLE_TRUE)) {
+ ret = mm_evas_renderer_set_visible(EVAS_HANDLE(pc), false);
+ if (ret != MM_ERROR_NONE) {
+ LOGE("mm_evas_renderer_set_visible err 0x%x", ret);
+ return PLAYER_ERROR_INVALID_OPERATION;
+ }
+ /* do not update EVAS_INFO(pc)->visible to set visible true if start again */
+ }
+ }
+#endif
+
g_free(ret_buf);
return ret;
}