bugfixes: (1) crash playing video360 with SW decoder; (2) DLOG spawned with zero... 37/161837/1
authorAndriy Martynets <a.martynets@partner.samsung.com>
Mon, 27 Nov 2017 16:36:29 +0000 (18:36 +0200)
committerAndriy Martynets <a.martynets@partner.samsung.com>
Mon, 27 Nov 2017 16:36:29 +0000 (18:36 +0200)
Change-Id: Iacf3df68e30833cfeef4b317849675f0850718f4
Signed-off-by: Andriy Martynets <a.martynets@partner.samsung.com>
src/mm_player_360.c
src/mm_player_priv.c

index e9f230ae4847aa528702dc6ab8a836907184f56e..738ed03f001ee822d7253ac67f4ebd6b260936a6 100644 (file)
@@ -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;
        }
 
index 12d66a1ef2d059709ce109283b78df4ce133eda9..a19c7f3d81bd39163d378ab3a1e557e654f1bfb0 100644 (file)
@@ -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;