]> git.sesse.net Git - vlc/commitdiff
* modules/video_output/directx/directx.c, modules/video_output/directx/glwin32.c...
authorGildas Bazin <gbazin@videolan.org>
Fri, 28 Oct 2005 08:21:18 +0000 (08:21 +0000)
committerGildas Bazin <gbazin@videolan.org>
Fri, 28 Oct 2005 08:21:18 +0000 (08:21 +0000)
modules/video_output/directx/directx.c
modules/video_output/directx/glwin32.c
modules/video_output/opengl.c

index 4ccbd29e3464141fa6ff445d68d036e37ffc5ff5..5c345c579d73b5f67380ada45020577073fafad7 100644 (file)
@@ -539,16 +539,21 @@ static int Manage( vout_thread_t *p_vout )
         }
     }
 
-    /* Check for cropping changes */
-    if( p_vout->fmt_out.i_x_offset != p_vout->fmt_in.i_x_offset ||
-        p_vout->fmt_out.i_y_offset != p_vout->fmt_in.i_y_offset ||
-        p_vout->fmt_out.i_visible_width != p_vout->fmt_in.i_visible_width ||
-        p_vout->fmt_out.i_visible_height != p_vout->fmt_in.i_visible_height )
+    /* Check for cropping / aspect changes */
+    if( p_vout->i_changes & VOUT_CROP_CHANGE ||
+        p_vout->i_changes & VOUT_ASPECT_CHANGE )
     {
+        p_vout->i_changes &= ~VOUT_CROP_CHANGE;
+        p_vout->i_changes &= ~VOUT_ASPECT_CHANGE;
+
         p_vout->fmt_out.i_x_offset = p_vout->fmt_in.i_x_offset;
         p_vout->fmt_out.i_y_offset = p_vout->fmt_in.i_y_offset;
         p_vout->fmt_out.i_visible_width = p_vout->fmt_in.i_visible_width;
         p_vout->fmt_out.i_visible_height = p_vout->fmt_in.i_visible_height;
+        p_vout->fmt_out.i_aspect = p_vout->fmt_in.i_aspect;
+        p_vout->fmt_out.i_sar_num = p_vout->fmt_in.i_sar_num;
+        p_vout->fmt_out.i_sar_den = p_vout->fmt_in.i_sar_den;
+        p_vout->output.i_aspect = p_vout->fmt_in.i_aspect;
         E_(DirectXUpdateRects)( p_vout, VLC_TRUE );
     }
 
index c88af49143e9c835bc7ae71990477581b4902d63..82b78711a0322ea224529a10f861f7afa935a062 100644 (file)
@@ -302,16 +302,21 @@ static int Manage( vout_thread_t *p_vout )
         vlc_mutex_unlock( &p_vout->p_sys->lock );
     }
 
-    /* Check for cropping changes */
-    if( p_vout->fmt_out.i_x_offset != p_vout->fmt_in.i_x_offset ||
-        p_vout->fmt_out.i_y_offset != p_vout->fmt_in.i_y_offset ||
-        p_vout->fmt_out.i_visible_width != p_vout->fmt_in.i_visible_width ||
-        p_vout->fmt_out.i_visible_height != p_vout->fmt_in.i_visible_height )
+    /* Check for cropping / aspect changes */
+    if( p_vout->i_changes & VOUT_CROP_CHANGE ||
+        p_vout->i_changes & VOUT_ASPECT_CHANGE )
     {
+        p_vout->i_changes &= ~VOUT_CROP_CHANGE;
+        p_vout->i_changes &= ~VOUT_ASPECT_CHANGE;
+
         p_vout->fmt_out.i_x_offset = p_vout->fmt_in.i_x_offset;
         p_vout->fmt_out.i_y_offset = p_vout->fmt_in.i_y_offset;
         p_vout->fmt_out.i_visible_width = p_vout->fmt_in.i_visible_width;
         p_vout->fmt_out.i_visible_height = p_vout->fmt_in.i_visible_height;
+        p_vout->fmt_out.i_aspect = p_vout->fmt_in.i_aspect;
+        p_vout->fmt_out.i_sar_num = p_vout->fmt_in.i_sar_num;
+        p_vout->fmt_out.i_sar_den = p_vout->fmt_in.i_sar_den;
+        p_vout->output.i_aspect = p_vout->fmt_in.i_aspect;
         E_(DirectXUpdateRects)( p_vout, VLC_TRUE );
     }
 
index 60703b9ddfa3d77a3f9e8f724c443d540ead2422..ac91d2acc66c9f9998197ae7e176c403d0d1816a 100644 (file)
@@ -466,6 +466,13 @@ static int Manage( vout_thread_t *p_vout )
         p_vout->fmt_in.i_visible_width;
     p_vout->fmt_out.i_visible_height = p_sys->p_vout->fmt_in.i_visible_height =
         p_vout->fmt_in.i_visible_height;
+    p_vout->fmt_out.i_aspect = p_sys->p_vout->fmt_in.i_aspect =
+        p_vout->fmt_in.i_aspect;
+    p_vout->fmt_out.i_sar_num = p_sys->p_vout->fmt_in.i_sar_num =
+        p_vout->fmt_in.i_sar_num;
+    p_vout->fmt_out.i_sar_den = p_sys->p_vout->fmt_in.i_sar_den =
+        p_vout->fmt_in.i_sar_den;
+    p_vout->output.i_aspect = p_vout->fmt_in.i_aspect;
 
     p_sys->p_vout->i_changes = p_vout->i_changes;
     i_ret = p_sys->p_vout->pf_manage( p_sys->p_vout );