[Playlist] XSPF support for video chapters or index points within songs/media?

Sebastian Pipping webmaster at hartwork.org
Thu Oct 16 18:51:52 UTC 2008


I've been collecting a few ideas about a subsong/chapter concept.
Let me present three possible approaches for an XSPF extension
introducing this feature.  Feedback appreciated.


== Approaches ==
1. Tracks referencing container slices
2. XSPF in XSPF
3. Same track multiple times, different slice


== 1. Tracks referencing container slices ==

=== Properties ===
- "Ignorant" XSPF processors will not find any locations
- Feels like a "normal" playlist mainly
- Supports arbitrary placement of subsongs in the playlist
- <location> element forbidden for <track>s referencing a container

=== Example ===
<playlist ...>
  ...
  <extension ...>
    <container>
      <location>...</location>
      <location>...</location>
      <slice xml:id="1">5000</slice>
      <slice xml:id="2">10000</slice>
      ...
    </container>
  </extension>
  ...
  <trackList>
    <track>
      ...
      <extension ...>
        <parent slice="1">
      </extension>
    </track>
  </trackList>
</playlist>


== 2. XSPF in XSPF ==

=== Properties ===
- "Ignorant" XSPF processors will understand it as a single track
- Poeple don't have to learn anything new
- Does not allow arbitrary placement of subsongs in the playlist
- <duration> element mandatory for sub songs
- <location> element forbidden for sub songs

=== Questions ===
- Should track attributes inherited?

=== Example ===
<track>
  ...
  <location>...</location>
  ...
  <extension ...>
    <track>
      <location>...</location>
      <identifier>...</identifier>
      ...
      <duration>...</duration>
      ...
    </track>
    <track>
      ...
      <duration>...</duration>
      ...
    </track>
    ...
  </extension>
</track>


== 3. Same track multiple times, different slice ==

=== Properties ===
- "Ignorant" XSPF processors will understand it as
  "the whole thing" several times
- Supports overlapping and skipping of track slices
- Supports arbitrary placement of subsongs in the playlist
- Redundancy on locations
- Alternative locations put extra burdon on XSPF processor

=== Example ===
<track>
  <location>...</location>
  ...
  <extension ...>
    <begin>10000</begin>
    <end>20000</end>
  </extension>
</track>



Sebastian



More information about the Playlist mailing list