char *psz_line;
char *psz_name = NULL;
char *psz_artist = NULL;
+ char *psz_album_art = NULL;
int i_parsed_duration = 0;
mtime_t i_duration = -1;
const char**ppsz_options = NULL;
input_item_t *p_input;
input_item_t *p_current_input = GetCurrentItem(p_demux);
+ input_item_node_t *p_subitems = input_item_node_Create( p_current_input );
psz_line = stream_ReadLine( p_demux->s );
while( psz_line )
INSERT_ELEM( ppsz_options, i_options, i_options,
psz_option );
}
+ /* Special case for jamendo which provide the albumart */
+ else if( !strncasecmp( psz_parse, "EXTALBUMARTURL:",
+ sizeof( "EXTALBUMARTURL:" ) -1 ) )
+ {
+ psz_parse += sizeof( "EXTALBUMARTURL:" ) - 1;
+ free( psz_album_art );
+ psz_album_art = pf_dup( psz_parse );
+ }
}
else if( !strncasecmp( psz_parse, "RTSPtext", sizeof("RTSPtext") -1 ) )
{
if ( psz_artist && *psz_artist )
input_item_SetArtist( p_input, psz_artist );
if( psz_name ) input_item_SetTitle( p_input, psz_name );
+ if( !EMPTY_STR(psz_album_art) )
+ input_item_SetArtURL( p_input, psz_album_art );
- input_item_AddSubItem( p_current_input, p_input );
+ input_item_node_AppendItem( p_subitems, p_input );
vlc_gc_decref( p_input );
}
psz_name = NULL;
free( psz_artist );
psz_artist = NULL;
+ free( psz_album_art );
+ psz_album_art = NULL;
i_parsed_duration = 0;
i_duration = -1;
b_cleanup = false;
}
}
+ input_item_node_PostAndDelete( p_subitems );
vlc_gc_decref(p_current_input);
var_Destroy( p_demux, "m3u-extvlcopt" );
return 0; /* Needed for correct operation of go back */