]> git.sesse.net Git - vlc/blobdiff - src/input/resource.c
Gives the input_thread_t to use to vout_Request().
[vlc] / src / input / resource.c
index bfe3e894c58ea1a6d1fd097b7b9dc81199cd2428..b015be8fba1cd7b9d9236a7ca90ad6de98167414 100644 (file)
@@ -32,7 +32,7 @@
 
 #include <vlc_common.h>
 #include <vlc_vout.h>
-#include <vlc_osd.h>
+#include <vlc_spu.h>
 #include <vlc_aout.h>
 #include <vlc_sout.h>
 #include "../libvlc.h"
@@ -242,7 +242,12 @@ static vout_thread_t *RequestVout( input_resource_t *p_resource,
         }
 
         /* */
-        p_vout = vout_Request( p_resource->p_input, p_vout, p_fmt );
+        vout_configuration_t cfg = {
+            .vout  = p_vout,
+            .input = VLC_OBJECT(p_resource->p_input),
+            .fmt   = p_fmt,
+        };
+        p_vout = vout_Request( p_resource->p_input, &cfg );
         if( !p_vout )
             return NULL;
 
@@ -273,9 +278,14 @@ static vout_thread_t *RequestVout( input_resource_t *p_resource,
         {
             msg_Dbg( p_resource->p_input, "saving a free vout" );
             vout_Flush( p_vout, 1 );
-            spu_ClearChannel( vout_GetSpu( p_vout ), -1 );
-
-            p_resource->p_vout_free = p_vout;
+            vout_FlushSubpictureChannel( p_vout, -1 );
+
+            vout_configuration_t cfg = {
+                .vout  = p_vout,
+                .input = NULL,
+                .fmt   = p_fmt,
+            };
+            p_resource->p_vout_free = vout_Request( p_resource->p_input, &cfg );
         }
         return NULL;
     }