mirror of
https://code.videolan.org/videolan/vlc
synced 2024-09-04 09:11:33 +02:00
xspf: try to produce valid XSPF files (there's still a problem with URI %-encoding)
This commit is contained in:
parent
5af2036251
commit
ec187ec3a0
@ -636,7 +636,9 @@ static vlc_bool_t set_item_info SIMPLE_INTERFACE
|
||||
}
|
||||
else if( !strcmp( psz_name, "image" ) )
|
||||
{
|
||||
input_item_SetArtURL( p_input, psz_value );
|
||||
const char *psz_uri = decode_URI_duplicate( psz_value );
|
||||
input_item_SetArtURL( p_input, psz_uri );
|
||||
free( psz_uri );
|
||||
}
|
||||
return VLC_TRUE;
|
||||
}
|
||||
|
@ -84,7 +84,7 @@ int E_(xspf_export_playlist)( vlc_object_t *p_this )
|
||||
fprintf( p_export->p_file, "\t</trackList>\n" );
|
||||
|
||||
/* export the tree structure in <extension> */
|
||||
fprintf( p_export->p_file, "\t<extension>\n" );
|
||||
fprintf( p_export->p_file, "\t<extension application=\"http://www.videolan.org/vlc/playlist/0\">\n" );
|
||||
i_count = 0;
|
||||
for( i = 0; i < p_node->i_children; i++ )
|
||||
{
|
||||
@ -191,12 +191,11 @@ static void xspf_export_item( playlist_item_t *p_item, FILE *p_file,
|
||||
/* -> the track number */
|
||||
psz = input_item_GetTrackNum( p_item->p_input );
|
||||
if( psz == NULL ) psz = strdup( "" );
|
||||
if( psz )
|
||||
if( psz && *psz )
|
||||
{
|
||||
if( *psz )
|
||||
{
|
||||
fprintf( p_file, "\t\t\t<trackNum>%i</trackNum>\n", atoi( psz ) );
|
||||
}
|
||||
int i_tracknum = atoi( psz );
|
||||
if( i_tracknum > 0 )
|
||||
fprintf( p_file, "\t\t\t<trackNum>%i</trackNum>\n", i_tracknum );
|
||||
}
|
||||
free( psz );
|
||||
|
||||
@ -213,13 +212,13 @@ static void xspf_export_item( playlist_item_t *p_item, FILE *p_file,
|
||||
|
||||
psz = input_item_GetArtURL( p_item->p_input );
|
||||
if( psz == NULL ) psz = strdup( "" );
|
||||
psz_temp = convert_xml_special_chars( psz );
|
||||
free( psz );
|
||||
if( !EMPTY_STR( psz_temp ) )
|
||||
if( !EMPTY_STR( psz ) )
|
||||
{
|
||||
fprintf( p_file, "\t\t\t<image>%s</image>\n", psz_temp );
|
||||
psz_uri = assertUTF8URI( psz );
|
||||
fprintf( p_file, "\t\t\t<image>%s</image>\n", psz_uri );
|
||||
free( psz_uri );
|
||||
}
|
||||
free( psz_temp );
|
||||
free( psz );
|
||||
|
||||
xspfexportitem_end:
|
||||
/* -> the duration */
|
||||
|
Loading…
Reference in New Issue
Block a user