[vlc-devel] [PATCH 02/18] sd: podcast: don't auto play discorered items

Thomas Guillem thomas at gllm.fr
Fri May 10 16:03:06 CEST 2019


I don't understand why discoverted items are played here. Only the owner of the
service discovery should make this call.
---
 modules/services_discovery/podcast.c | 52 ----------------------------
 1 file changed, 52 deletions(-)

diff --git a/modules/services_discovery/podcast.c b/modules/services_discovery/podcast.c
index 0113d21731..a29996d59b 100644
--- a/modules/services_discovery/podcast.c
+++ b/modules/services_discovery/podcast.c
@@ -84,10 +84,6 @@ enum {
 
 typedef struct
 {
-    /* playlist node */
-    input_thread_t **pp_input;
-    int i_input;
-
     char **ppsz_urls;
     int i_urls;
 
@@ -130,8 +126,6 @@ static int Open( vlc_object_t *p_this )
 
     p_sys->i_urls = 0;
     p_sys->ppsz_urls = NULL;
-    p_sys->i_input = 0;
-    p_sys->pp_input = NULL;
     p_sys->pp_items = NULL;
     p_sys->i_items = 0;
     vlc_mutex_init( &p_sys->lock );
@@ -181,19 +175,6 @@ static void Close( vlc_object_t *p_this )
     vlc_cond_destroy( &p_sys->wait );
     vlc_mutex_destroy( &p_sys->lock );
 
-    for( int i = 0; i < p_sys->i_input; i++ )
-    {
-        input_thread_t *p_input = p_sys->pp_input[i];
-        if( !p_input )
-            continue;
-
-        input_Stop( p_input );
-        input_Close( p_input );
-
-        p_sys->pp_input[i] = NULL;
-    }
-    free( p_sys->pp_input );
-
     for( int i = 0; i < p_sys->i_urls; i++ )
          free( p_sys->ppsz_urls[i] );
     free( p_sys->ppsz_urls );
@@ -209,19 +190,6 @@ static void Close( vlc_object_t *p_this )
 /*****************************************************************************
  * Run: main thread
  *****************************************************************************/
-static input_thread_t *InputCreateAndStart( services_discovery_t *sd,
-                                            input_item_t *item )
-{
-    input_thread_t *input = input_Create( sd, input_LegacyEvents, NULL, item, NULL, NULL );
-    if( input != NULL && input_Start( input ) )
-    {
-        input_LegacyVarInit( input );
-        input_Close(input);
-        input = NULL;
-    }
-    return input;
-}
-
 noreturn static void *Run( void *data )
 {
     services_discovery_t *p_sd = data;
@@ -249,21 +217,6 @@ noreturn static void *Run( void *data )
 
         p_sys->b_update = false;
 
-        for( int i = 0; i < p_sys->i_input; i++ )
-        {
-            input_thread_t *p_input = p_sys->pp_input[i];
-            int state = var_GetInteger( p_input, "state" );
-
-            if( state == END_S || state == ERROR_S )
-            {
-                input_Stop( p_input );
-                input_Close( p_input );
-
-                p_sys->pp_input[i] = NULL;
-                TAB_ERASE(p_sys->i_input, p_sys->pp_input, i);
-                i--;
-            }
-        }
         vlc_restorecancel (canc);
     }
     vlc_cleanup_pop();
@@ -339,9 +292,6 @@ static void ParseUrls( services_discovery_t *p_sd, char *psz_urls )
 
             TAB_APPEND( i_new_items, pp_new_items, p_input );
             services_discovery_AddItem( p_sd, p_input );
-
-            TAB_APPEND( p_sys->i_input, p_sys->pp_input,
-                         InputCreateAndStart( p_sd, p_input ) );
         }
         else
         {
@@ -417,8 +367,6 @@ static void ParseRequest( services_discovery_t *p_sd )
             TAB_APPEND( p_sys->i_items, p_sys->pp_items, p_input );
             services_discovery_AddItem( p_sd, p_input );
 
-            TAB_APPEND( p_sys->i_input, p_sys->pp_input,
-                        InputCreateAndStart( p_sd, p_input ) );
             SaveUrls( p_sd );
         }
     }
-- 
2.20.1



More information about the vlc-devel mailing list