From: Ilkka Ollakka Date: Mon, 5 Oct 2009 12:48:52 +0000 (+0300) Subject: asx-playlist: add ability to have multiple href in entry X-Git-Tag: 1.1.0-ff~3008 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=b71896b3398d6c3329fb8caa34999f4c8c608257;p=vlc asx-playlist: add ability to have multiple href in entry This should fix .asx parsing on http://www.katsomo.fi/?treeId=329&progId=20677. Reported by: Antti Palosaari --- diff --git a/modules/demux/playlist/asx.c b/modules/demux/playlist/asx.c index 4c79604fe7..4daaa5899f 100644 --- a/modules/demux/playlist/asx.c +++ b/modules/demux/playlist/asx.c @@ -606,6 +606,25 @@ static int Demux( demux_t *p_demux ) i_strlen = psz_parse-psz_backup; if( i_strlen < 1 ) continue; + if( psz_href ) + { + /* we have allready one href in this entry, lets make new input from it and + continue with new href, don't free meta/options*/ + input_item_t *p_entry = NULL; + char *psz_name = input_item_GetName( p_current_input ); + + p_entry = input_item_NewExt( p_demux, psz_href, psz_name, + 0, NULL, VLC_INPUT_OPTION_TRUSTED, -1 ); + input_item_CopyOptions( p_current_input, p_entry ); + if( psz_title_entry ) input_item_SetTitle( p_entry, psz_title_entry ); + if( psz_artist_entry ) input_item_SetArtist( p_entry, psz_artist_entry ); + if( psz_copyright_entry ) input_item_SetCopyright( p_entry, psz_copyright_entry ); + if( psz_moreinfo_entry ) input_item_SetURL( p_entry, psz_moreinfo_entry ); + if( psz_abstract_entry ) input_item_SetDescription( p_entry, psz_abstract_entry ); + input_item_AddSubItem( p_current_input, p_entry ); + vlc_gc_decref( p_entry ); + } + free( psz_href ); psz_href = malloc( i_strlen +1); memcpy( psz_href, psz_backup, i_strlen );