[P170712-00874] Screen blinks when the Video has finished playing 96/141796/1
authorJaechan Lee <jaechan3.lee@samsung.com>
Wed, 26 Jul 2017 05:57:16 +0000 (14:57 +0900)
committerEunhae Choi <eunhae1.choi@samsung.com>
Tue, 1 Aug 2017 11:34:30 +0000 (20:34 +0900)
[Model] POP
[BinType] AP
[Customer] OPEN

[Issue#] P170712-00874
[Request] PLM
[Occurrence Version] DayR600XX_20170712.002

[Problem] Screen blinks when the Video has finished playing
[Cause & Measure] Cause : When player_stop is getting called, first screen is always showing.
Because visible value is changed after doing seek 0.
Measure : Set visible to FALSE before doing seek to 0.
[Checking Method] message / select Video message / select Video file / check the screen when the Video has finished playing

[Team] MM FRAMEWORK
[Developer] JaeChan Lee
[Solution company] Samsung
[Change Type] Specification change

Change-Id: I7e343d315aa197b24f4097e3b59ec378ce57dbe2

legacy/src/legacy_player.c

index 2ef8a24..12b50b7 100644 (file)
@@ -1583,12 +1583,17 @@ int legacy_player_stop(player_h player)
        LOGI("[%s] Start", __FUNCTION__);
        PLAYER_INSTANCE_CHECK(player);
        player_s *handle = (player_s *)player;
-       if (handle->state == PLAYER_STATE_PLAYING || handle->state == PLAYER_STATE_PAUSED) {
-               int ret = mm_player_stop(handle->mm_handle);
+       int ret = MM_ERROR_NONE;
 
-               if (handle->display_type == PLAYER_DISPLAY_TYPE_OVERLAY)
+       if (handle->state == PLAYER_STATE_PLAYING || handle->state == PLAYER_STATE_PAUSED) {
+               if (handle->display_type == PLAYER_DISPLAY_TYPE_OVERLAY) {
                        ret = mm_player_set_attribute(handle->mm_handle, NULL, "display_visible", 0, (char *)NULL);
+                       if (ret != MM_ERROR_NONE) {
+                               LOGW("[%s] Failed to set display_visible '0' (0x%x)", __FUNCTION__, ret);
+                       }
+               }
 
+               ret = mm_player_stop(handle->mm_handle);
                if (ret != MM_ERROR_NONE) {
                        return __player_convert_error_code(ret, (char *)__FUNCTION__);
                } else {