[vlc-devel] XSPF support in VLC

Rafaël Carré funman at videolan.org
Fri Oct 12 13:12:39 CEST 2007


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Sebastian Pipping a écrit :
> Rafaël Carré wrote:
>> I've got a patch for generating valid XSPF playlist files (we have
>> problems about URI encoding), but it will need review first.
> 
> Cool!
> 
> 
> 
>> btw, I saw you are an author of URIparser, maybe you can advice me about
>> URI use in VLC ?
> 
> Sure, what's the problem?

URI encoding.

For example, a ':' in a file: URI must be %encoded, but in a http: URI,
it can be a port delimiter, so must be kept as it.
Does lipspiff take care of this, doing the right encoding for every URIs ?

> 
>> About integrating libspiff, I don't know if that's worth, since it would
>> add another complexity layer to our current playlist generator and
>> reader, and maybe requiring unneeded CPU power.
> 
> libSpiff is based on Expat, one of the fastest XML parsers around.
> There not much room left for squeezing out more speed out of libSpiff.
> Integrating libSpiff should at best take away complexity since you
> don't talk to an XML parser directly anymore. Using libSpiff comes
> with several other advantages like improved interoperability.
> We could look at the code in IRC together if your decision is not
> final yet but don't feel pushed. Just be sure I'll report all the
> bugs for VLC that libSpiff fixed before ;-)
> 

Eh ok, where can you be joined on IRC ?

> 
>> Finally, about the extension, we need to check how it can be used
>> because it's currently not, and we may change it before 0.9.0 release is
>> shipped (ETA not known yet, but that should be a matter of months).
>>
>> The main problematic is "howto add hierarchy to xspf?" and the extension
>> may, or may not ship (I mean as in the current state) as a 0.9.0 feature
>> (that will need review, as how it can be used with current VLC object
>> structure).
> 
> As I understand you want to have a nested playlist - is that correct?
yes

> The way I would currently solve this would be using
> * a playlist extension reflecting the hierarchy and introducing
>   identifiers and
> * meta tags for each track assigning tracks to playlists
> 
> Here is what I mean but concrete and visual:
> 
> <playlist ...>
>   ...
>   <extension application="http://videolan.org/pl/ext/hier_decl/1/"
>       xmlns:vlc="http://videolan.org/pl/ext/hier_decl/1/">
>     <vlc:child id="one" />
>     <vlc:child id="two">
>       <vlc:child id="three" />
>     </vlc:child>
>   </extension>
>   ...
>   <trackList>
>     ...
>     <track>
>       ...
>       <meta rel="http://videolan.org/tr/meta/hier_ref/1/">three</meta>
>       ...
>     </track>
>     ...
>   </trackList>
> </playlist>
> 
> Tracks without such a meta tag would belong to the "root playlist"
> in that model. While you might want to adjust a few cosmetics about
> this please let's talk back about it: Keeping version information
> in the URIs is for instance very important. There are other ways to
> implement playlist hierarchies. In case this solution does not fit
> your needs yet it might be best to come together on the XSPF mailing
> list [1] to work out another approach with more eyes.
> 
> 

Here is what we use atm:

    <extension application="http://www.videolan.org/vlc">
        <node title="mp3">
        <node title="113 - 113 degrés">
            <item href="0" />
            <item href="1" />
            <item href="65" />
        </node>
        <node title="ACDC">
        <node title="Back In Black">
            <item href="66" />
.....
the item href is keyed on the track identifier, so there is no need to
put extra information in each track

should "http://videolan.org/tr/meta/hier_ref/1/" be a .dtd describing
the extension? (i don't know very well xml...)

> 
>> P.S. : If I'm not wrong you are french, if no non-french VLC developer
>> is interested in this issue, maybe we can communicate in French, and
>> save extra (and misunderstanding prone) translation time (because I'm
>> french too).
> 
> Sorry to disappoint you, but my native tongue is German.
> I'm still not such a bad person :-)
> 

:/ I must have seen your name associated with some french text, don't
know where.

Entschuldigung :)

> 
> Sebastian
> 
> 
> [1] http://lists.musicbrainz.org/mailman/listinfo/playlist
> 
> 


- --
Rafaël Carré
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHD1amYWCeGMCv8Q8RAvlJAKDIxmzT6jpVimyF9AND+4JzgP9QowCfYFb3
fqSahtwvbd/siwtAktYO3j8=
=FD08
-----END PGP SIGNATURE-----



More information about the vlc-devel mailing list