vlc | branch: master | Felix Paul Kühne <[email protected]> | Fri Apr  6 
13:09:12 2012 +0200| [25cf83bcace12d19b4980140037096a0b57bcd87] | committer: 
Felix Paul Kühne

vout_macosx: slightly improve the resize behavior in a few corner cases (refs 
#6427)

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

 modules/video_output/macosx.m |   22 ++++++++++++++++++++--
 1 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/modules/video_output/macosx.m b/modules/video_output/macosx.m
index f5f2568..5efd3c3 100644
--- a/modules/video_output/macosx.m
+++ b/modules/video_output/macosx.m
@@ -405,9 +405,27 @@ static int Control (vout_display_t *vd, int query, va_list 
ap)
             }
             else
             {
+                const vout_display_cfg_t *cfg;
+                const video_format_t *source;
+                bool is_forced = false;
+
+                source = &vd->source;
                 cfg = (const vout_display_cfg_t*)va_arg (ap, const 
vout_display_cfg_t *);
-                i_width = cfg->display.width;
-                i_height = cfg->display.height;
+                is_forced = (bool)va_arg (ap, int);
+
+                if (query == VOUT_DISPLAY_CHANGE_DISPLAY_SIZE
+                    && is_forced
+                    && (cfg->display.width  != vd->cfg->display.width
+                        ||cfg->display.height != vd->cfg->display.height)
+                    && vout_window_SetSize (sys->embed,
+                                            cfg->display.width,
+                                            cfg->display.height))
+                    return VLC_EGENERIC;
+
+                vout_display_place_t place;
+                vout_display_PlacePicture (&place, source, cfg, false);
+                i_width = place.width;
+                i_height = place.height;
             }
 
             /* Calculate the window's new size, if it is larger than our 
minimal size */

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

Reply via email to