X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Finput%2Fitem.c;h=df4e15967ef345a891f4ca769b4f7ee43a8e4a30;hb=a7c0e2a065b845e9bdd7f00bb7bd8e86a93b5dbe;hp=416ec1970a0f10f77eb45d28217cb07ee7152e61;hpb=abc84401cd082ccd70a8bb07f9d96c3cff12b122;p=vlc diff --git a/src/input/item.c b/src/input/item.c index 416ec1970a..df4e15967e 100644 --- a/src/input/item.c +++ b/src/input/item.c @@ -216,7 +216,7 @@ void input_item_SetMeta( input_item_t *p_i, vlc_meta_type_t meta_type, const cha } /* FIXME GRRRRRRRRRR args should be in the reverse order to be - * consistant with (nearly?) all or copy funcs */ + * consistent with (nearly?) all or copy funcs */ void input_item_CopyOptions( input_item_t *p_parent, input_item_t *p_child ) { @@ -357,8 +357,10 @@ char *input_item_GetURI( input_item_t *p_i ) vlc_mutex_unlock( &p_i->lock ); return psz_s; } + void input_item_SetURI( input_item_t *p_i, const char *psz_uri ) { + assert( psz_uri ); #ifndef NDEBUG if( !strstr( psz_uri, "://" ) || strchr( psz_uri, ' ' ) || strchr( psz_uri, '"' ) ) @@ -856,7 +858,6 @@ input_item_t *input_item_NewWithType( vlc_object_t *p_obj, const char *psz_uri, p_input->b_fixed_name = false; p_input->i_type = i_type; - p_input->b_prefers_tree = false; if( psz_uri ) input_item_SetURI( p_input, psz_uri ); @@ -874,6 +875,31 @@ input_item_t *input_item_NewWithType( vlc_object_t *p_obj, const char *psz_uri, return p_input; } +input_item_t *input_item_Copy( vlc_object_t *p_obj, input_item_t *p_input ) +{ + vlc_mutex_lock( &p_input->lock ); + + input_item_t *p_new_input = + input_item_NewWithType( p_obj, + p_input->psz_uri, p_input->psz_name, + 0, NULL, 0, p_input->i_duration, + p_input->i_type ); + + if( p_new_input ) + { + for( int i = 0 ; i< p_input->i_options; i++ ) + { + input_item_AddOption( p_new_input, + p_input->ppsz_options[i], + p_input->optflagv[i] ); + } + } + + vlc_mutex_unlock( &p_input->lock ); + + return p_new_input; +} + struct item_type_entry { const char psz_scheme[7];