[vlc-commits] macos vout: implement VOUT_DISPLAY_CHANGE_DISPLAY_FILLED as it seems to be intended

David Fuhrmann git at videolan.org
Wed Mar 21 17:56:51 CET 2012


vlc | branch: master | David Fuhrmann <david.fuhrmann at googlemail.com> | Wed Mar 21 17:12:36 2012 +0100| [e6820b6113e28172fe2ad590829ad7a7395cabaa] | committer: David Fuhrmann

macos vout: implement VOUT_DISPLAY_CHANGE_DISPLAY_FILLED as it seems to be intended

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

 modules/video_output/macosx.m |   19 ++++++++++++-------
 1 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/modules/video_output/macosx.m b/modules/video_output/macosx.m
index 083f35b..17ae4e0 100644
--- a/modules/video_output/macosx.m
+++ b/modules/video_output/macosx.m
@@ -328,10 +328,6 @@ static int Control (vout_display_t *vd, int query, va_list ap)
             return VLC_SUCCESS;
         }
         case VOUT_DISPLAY_CHANGE_DISPLAY_FILLED:
-        {
-            [[sys->glView window] performSelectorOnMainThread:@selector(performZoom:) withObject: nil waitUntilDone:NO];
-            return VLC_SUCCESS;
-        }
         case VOUT_DISPLAY_CHANGE_ZOOM:
         case VOUT_DISPLAY_CHANGE_SOURCE_ASPECT:
         case VOUT_DISPLAY_CHANGE_SOURCE_CROP:
@@ -676,8 +672,17 @@ static void OpenglSwap(vlc_gl_t *gl)
 
     NSRect bounds = [self bounds];
 
-    CGFloat height = bounds.size.height;
-    CGFloat width = bounds.size.width;
+    CGFloat height, width;
+    if( !vd || ( vd && vd->cfg->is_display_filled ))
+    {
+        height = bounds.size.height;
+        width = bounds.size.width;
+    }
+    else
+    {
+        height = vd->source.i_visible_height;
+        width = vd->source.i_visible_width;
+    }
 
     GLint x = width, y = height;
 
@@ -703,7 +708,7 @@ static void OpenglSwap(vlc_gl_t *gl)
     }
 
     if ([self lockgl]) {
-        glViewport((width - x) / 2, (height - y) / 2, x, y);
+        glViewport((bounds.size.width - x) / 2, (bounds.size.height - y) / 2, x, y);
 
         @synchronized(self) {
             // This may be cleared before -drawRect is being called,



More information about the vlc-commits mailing list