#include <vlc_common.h>
#include <vlc_plugin.h>
-#include <vlc_playlist.h>
#include <vlc_services_discovery.h>
#include <vlc_network.h>
static int Open ( vlc_object_t * );
static void Close( vlc_object_t * );
-VLC_SD_PROBE_HELPER("podcast", N_("Podcasts"), SD_CAT_INTERNET)
+VLC_SD_PROBE_HELPER("podcast", "Podcasts", SD_CAT_INTERNET)
#define URLS_TEXT N_("Podcast URLs list")
#define URLS_LONGTEXT N_("Enter the list of podcasts to retrieve, " \
set_category( CAT_PLAYLIST )
set_subcategory( SUBCAT_PLAYLIST_SD )
- add_string( "podcast-urls", NULL, NULL,
+ add_string( "podcast-urls", NULL,
URLS_TEXT, URLS_LONGTEXT, false )
- change_autosave ()
set_capability( "services_discovery", 0 )
set_callbacks( Open, Close )
continue;
input_Stop( p_input, true );
- vlc_thread_join( p_input );
- vlc_object_release( p_input );
+ input_Close( p_input );
p_sd->p_sys->pp_input[i] = NULL;
}
/*****************************************************************************
* Run: main thread
*****************************************************************************/
+VLC_NORETURN
static void *Run( void *data )
{
services_discovery_t *p_sd = data;
if( p_input->b_eof || p_input->b_error )
{
input_Stop( p_input, false );
- vlc_thread_join( p_input );
- vlc_object_release( p_input );
+ input_Close( p_input );
p_sd->p_sys->pp_input[i] = NULL;
REMOVE_ELEM( p_sys->pp_input, p_sys->i_input, i );
strdup( psz_urls ) );
input_item_t *p_input;
- p_input = input_item_New( p_sd, psz_urls, psz_urls );
+ p_input = input_item_New( psz_urls, psz_urls );
input_item_AddOption( p_input, "demux=podcast", VLC_INPUT_OPTION_TRUSTED );
INSERT_ELEM( pp_new_items, i_new_items, i_new_items, p_input );
strdup( psz_request ) );
input_item_t *p_input;
- p_input = input_item_New( p_sd, psz_request, psz_request );
+ p_input = input_item_New( psz_request, psz_request );
input_item_AddOption( p_input, "demux=podcast", VLC_INPUT_OPTION_TRUSTED );
INSERT_ELEM( p_sys->pp_items, p_sys->i_items, p_sys->i_items, p_input );
}
config_PutPsz( p_sd, "podcast-urls", psz_urls );
- config_SaveConfigFile( p_sd, "podcast" );
free( psz_urls );
}