Commit 8cc57c7a authored by Rafaël Carré's avatar Rafaël Carré

xspf: fix nodes encoding. big up to yoannp for fully nested xspf !

parent 724f4009
......@@ -635,7 +635,7 @@ static vlc_bool_t set_item_info SIMPLE_INTERFACE
}
else if( !strcmp( psz_name, "image" ) )
{
const char *psz_uri = decode_URI_duplicate( psz_value );
char *psz_uri = decode_URI_duplicate( psz_value );
input_item_SetArtURL( p_input, psz_uri );
free( psz_uri );
}
......@@ -676,7 +676,7 @@ static vlc_bool_t parse_extension_node COMPLEX_INTERFACE
/* attribute: title */
if( !strcmp( psz_name, "title" ) )
{
psz_title = unescape_URI_duplicate( psz_value );
psz_title = decode_URI_duplicate( psz_value );
}
/* extension attribute: application */
else if( !strcmp( psz_name, "application" ) )
......@@ -698,9 +698,8 @@ static vlc_bool_t parse_extension_node COMPLEX_INTERFACE
msg_Warn( p_demux, "<node> requires \"title\" attribute" );
return VLC_FALSE;
}
p_new_input = input_ItemNewWithType( p_playlist, "", psz_title,
0, NULL, -1, ITEM_TYPE_DIRECTORY );
p_new_input = input_ItemNewWithType( VLC_OBJECT( p_playlist ), "",
psz_title, 0, NULL, -1, ITEM_TYPE_DIRECTORY );
if( p_new_input )
{
input_ItemAddSubItem( p_input_item, p_new_input );
......
......@@ -32,6 +32,7 @@
#include <vlc_input.h>
#include <vlc_meta.h>
#include <vlc_strings.h>
#include <vlc_url.h>
#include <vlc_charset.h>
#include "xspf.h"
......@@ -250,7 +251,7 @@ static void xspf_extension_item( playlist_item_t *p_item, FILE *p_file,
{
int i;
char *psz_temp;
psz_temp = convert_xml_special_chars( p_item->p_input->psz_name );
psz_temp = encode_URI_component( p_item->p_input->psz_name );
fprintf( p_file, "\t\t<node title=\"%s\">\n",
*psz_temp ? psz_temp : "" );
free( psz_temp );
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment