[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