]> git.sesse.net Git - vlc/blobdiff - modules/video_filter/wall.c
Use var_InheritString for --decklink-video-connection.
[vlc] / modules / video_filter / wall.c
index d6a73a3d4e64eb901cc3825a24cafbd3aaebc700..12141c547bd3f09cc1f6856c7bf68f093a0a2576 100644 (file)
@@ -32,7 +32,7 @@
 
 #include <vlc_common.h>
 #include <vlc_plugin.h>
-#include "vlc_video_splitter.h"
+#include <vlc_video_splitter.h>
 
 /* FIXME it is needed for VOUT_ALIGN_* only */
 #include <vlc_vout.h>
@@ -351,8 +351,8 @@ static int Open( vlc_object_t *p_this )
             p_cfg->fmt.i_width          = p_output->i_width;
             p_cfg->fmt.i_visible_height =
             p_cfg->fmt.i_height         = p_output->i_height;
-            p_cfg->fmt.i_aspect         = (int64_t)i_aspect * i_target_height * p_output->i_width / i_target_width / p_output->i_height;
-
+            p_cfg->fmt.i_sar_num        = (int64_t)i_aspect * i_target_height;
+            p_cfg->fmt.i_sar_den        = VOUT_ASPECT_FACTOR * i_target_width;
             p_cfg->window.i_x     = p_output->i_left; /* FIXME relative to video-x/y (TODO in wrapper.c) ? */
             p_cfg->window.i_y     = p_output->i_top;
             p_cfg->window.i_align = p_output->i_align;
@@ -384,7 +384,10 @@ static int Filter( video_splitter_t *p_splitter, picture_t *pp_dst[], picture_t
     video_splitter_sys_t *p_sys = p_splitter->p_sys;
 
     if( video_splitter_NewPicture( p_splitter, pp_dst ) )
+    {
+        picture_Release( p_src );
         return VLC_EGENERIC;
+    }
 
     for( int y = 0; y < p_sys->i_row; y++ )
     {
@@ -394,7 +397,6 @@ static int Filter( video_splitter_t *p_splitter, picture_t *pp_dst[], picture_t
             if( !p_output->b_active )
                 continue;
 
-            video_splitter_output_t *p_cfg = &p_splitter->p_output[p_output->i_output];
             picture_t *p_dst = pp_dst[p_output->i_output];
 
             /* */
@@ -419,13 +421,14 @@ static int Mouse( video_splitter_t *p_splitter, vlc_mouse_t *p_mouse,
                   int i_index,
                   const vlc_mouse_t *p_old, const vlc_mouse_t *p_new )
 {
+    VLC_UNUSED(p_old);
     video_splitter_sys_t *p_sys = p_splitter->p_sys;
 
     for( int y = 0; y < p_sys->i_row; y++ )
     {
         for( int x = 0; x < p_sys->i_col; x++ )
         {
-            wall_output_t *p_output = p_output = &p_sys->pp_output[x][y];
+            wall_output_t *p_output = &p_sys->pp_output[x][y];
             if( p_output->b_active && p_output->i_output == i_index )
             {
                 *p_mouse = *p_new;