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
