vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Wed Dec 26 
16:19:48 2018 +0200| [d98e93c5ff3798f536109dde12398b600ac8e2ee] | committer: 
Rémi Denis-Courmont

kva: zoom, fill change A/R, not display size

Changing the zoom and the fill flag is susceptible to changing the
intended "place" size, not the display size.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=d98e93c5ff3798f536109dde12398b600ac8e2ee
---

 modules/video_output/kva.c | 29 +++++++++++++----------------
 1 file changed, 13 insertions(+), 16 deletions(-)

diff --git a/modules/video_output/kva.c b/modules/video_output/kva.c
index fede443a0d..f319ccee2e 100644
--- a/modules/video_output/kva.c
+++ b/modules/video_output/kva.c
@@ -435,7 +435,6 @@ static int Control( vout_display_t *vd, int query, va_list 
args )
     }
 
     case VOUT_DISPLAY_CHANGE_DISPLAY_SIZE:
-    case VOUT_DISPLAY_CHANGE_ZOOM:
     {
         const vout_display_cfg_t *cfg = va_arg(args, const vout_display_cfg_t 
*);
 
@@ -445,19 +444,21 @@ static int Control( vout_display_t *vd, int query, 
va_list args )
         return VLC_SUCCESS;
     }
 
+    case VOUT_DISPLAY_CHANGE_DISPLAY_FILLED:
+    case VOUT_DISPLAY_CHANGE_ZOOM:
     case VOUT_DISPLAY_CHANGE_SOURCE_ASPECT:
-    case VOUT_DISPLAY_CHANGE_SOURCE_CROP:
     {
-        if( query == VOUT_DISPLAY_CHANGE_SOURCE_ASPECT )
-        {
-            vout_display_place_t place;
-            vout_display_PlacePicture(&place, &vd->source, vd->cfg);
+        vout_display_place_t place;
+        vout_display_PlacePicture(&place, &vd->source, vd->cfg);
 
-            sys->kvas.ulAspectWidth  = place.width;
-            sys->kvas.ulAspectHeight = place.height;
-        }
-        else
-        {
+        sys->kvas.ulAspectWidth  = place.width;
+        sys->kvas.ulAspectHeight = place.height;
+        kvaSetup( &sys->kvas );
+        return VLC_SUCCESS;
+    }
+
+    case VOUT_DISPLAY_CHANGE_SOURCE_CROP:
+    {
             video_format_t src_rot;
             video_format_ApplyRotation(&src_rot, &vd->source);
 
@@ -468,16 +469,12 @@ static int Control( vout_display_t *vd, int query, 
va_list args )
             sys->kvas.rclSrcRect.yBottom = src_rot.i_y_offset +
                                            src_rot.i_visible_height;
         }
-
         kvaSetup( &sys->kvas );
-
         return VLC_SUCCESS;
     }
 
     case VOUT_DISPLAY_RESET_PICTURES:
-    case VOUT_DISPLAY_CHANGE_DISPLAY_FILLED:
-        /* TODO */
-        break;
+        vlc_assert_unreachable();
     }
 
     msg_Err(vd, "Unsupported query(=%d) in vout display KVA", query);

_______________________________________________
vlc-commits mailing list
[email protected]
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to