]> git.sesse.net Git - vlc/blobdiff - src/input/resource.c
Modified the prototype of vout_Request and unexport unused vout_Create.
[vlc] / src / input / resource.c
index 0f54b8b9cf5a82bb7fd0ca9ba7d4f6de9a2535a5..f4ae531fb1ef3d0a91046b7609073096d0a0b268 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"
@@ -154,6 +154,7 @@ static void DestroyVout( input_resource_t *p_resource )
 }
 static vout_thread_t *DetachVout( input_resource_t *p_resource )
 {
+    vlc_assert_locked( &p_resource->lock );
     assert( p_resource->i_vout == 0 );
     vout_thread_t *p_vout = p_resource->p_vout_free;
     p_resource->p_vout_free = NULL;
@@ -207,6 +208,8 @@ static vout_thread_t *RequestVout( input_resource_t *p_resource,
                                    vout_thread_t *p_vout, video_format_t *p_fmt,
                                    bool b_recycle )
 {
+    vlc_assert_locked( &p_resource->lock );
+
     if( !p_vout && !p_fmt )
     {
         if( p_resource->p_vout_free )
@@ -239,7 +242,11 @@ 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,
+            .fmt  = p_fmt,
+        };
+        p_vout = vout_Request( p_resource->p_input, &cfg );
         if( !p_vout )
             return NULL;
 
@@ -270,7 +277,7 @@ 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_Control( vout_GetSpu( p_vout ), SPU_CHANNEL_CLEAR, -1 );
+            vout_FlushSubpictureChannel( p_vout, -1 );
 
             p_resource->p_vout_free = p_vout;
         }
@@ -330,6 +337,7 @@ static void DestroyAout( input_resource_t *p_resource )
 }
 static aout_instance_t *DetachAout( input_resource_t *p_resource )
 {
+    vlc_assert_locked( &p_resource->lock );
     vlc_mutex_lock( &p_resource->lock_hold );
 
     aout_instance_t *p_aout = p_resource->p_aout;
@@ -342,6 +350,7 @@ static aout_instance_t *DetachAout( input_resource_t *p_resource )
 
 static aout_instance_t *RequestAout( input_resource_t *p_resource, aout_instance_t *p_aout )
 {
+    vlc_assert_locked( &p_resource->lock );
     assert( p_resource->p_input );
 
     if( p_aout )