From: Andriy Martynets Date: Mon, 27 Nov 2017 16:36:29 +0000 (+0200) Subject: bugfixes: (1) crash playing video360 with SW decoder; (2) DLOG spawned with zero... X-Git-Tag: submit/tizen/20171212.053432~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=020babc257f8cc1f394490fcfa29fbf923d7a833;p=platform%2Fcore%2Fmultimedia%2Flibmm-player.git bugfixes: (1) crash playing video360 with SW decoder; (2) DLOG spawned with zero TBM BO referring; (3) video360 zoom typo. Change-Id: Iacf3df68e30833cfeef4b317849675f0850718f4 Signed-off-by: Andriy Martynets --- diff --git a/src/mm_player_360.c b/src/mm_player_360.c index e9f230a..738ed03 100644 --- a/src/mm_player_360.c +++ b/src/mm_player_360.c @@ -111,7 +111,7 @@ int _mmplayer_360_set_zoom(MMHandleType player, float level) if (level < 1.0f || level > VIDEO360_MAX_ZOOM) return MM_ERROR_INVALID_ARGUMENT; - ((mm_player_t*) player)->video360_zoom = 1.0f / level; + ((mm_player_t*) player)->video360_zoom = level; if (((mm_player_t*) player)->is_content_spherical && ((mm_player_t*) player)->is_video360_plugin_used) { @@ -129,7 +129,7 @@ int _mmplayer_360_get_zoom(MMHandleType player, float *level) float current_zoom; if (((mm_player_t*) player)->state < MM_PLAYER_STATE_READY) { - *level = 1.0f / ((mm_player_t*) player)->video360_zoom; + *level = ((mm_player_t*) player)->video360_zoom; return MM_ERROR_NONE; } diff --git a/src/mm_player_priv.c b/src/mm_player_priv.c index 12d66a1..a19c7f3 100644 --- a/src/mm_player_priv.c +++ b/src/mm_player_priv.c @@ -4166,6 +4166,9 @@ static void __mmplayer_gst_caps_notify_cb(GstPad * pad, GParamSpec * unused, gpo player->audio_stream_changed_cb(player->audio_stream_changed_cb_user_param); } } else if (strstr(name, "video")) { + if ((name = gst_structure_get_string(str, "format"))) + player->set_mode.video_zc = name[0] == 'S'; + _mmplayer_update_content_attrs(player, ATTR_VIDEO); if (player->video_stream_changed_cb) { @@ -5115,8 +5118,9 @@ __mmplayer_video_stream_decoded_render_cb(GstElement* object, GstBuffer *buffer, int i = 0; /* copy pointer of tbm bo, stride, elevation */ - for (i = 0 ; i < MM_VIDEO_BUFFER_PLANE_MAX ; i++) { + while (video_buffer->handle.bo[i] && i < MM_VIDEO_BUFFER_PLANE_MAX) { stream->bo[i] = tbm_bo_ref(video_buffer->handle.bo[i]); + i++; } } else { LOGE("Not support video buffer format"); @@ -5174,7 +5178,7 @@ __mmplayer_video_stream_decoded_render_cb(GstElement* object, GstBuffer *buffer, } } - if (player->video_stream_cb) { + if (player->video_stream_cb) { /* This has been already checked at the entry */ if (!player->video_stream_cb(stream, player->video_stream_cb_user_param)) { LOGE("failed to send video stream data."); goto ERROR;