Playlists handlers in the player

Registered by MichaƂ Sawicz

Playlists in different formats (see http://gonze.com/playlists/playlist-format-survey.html for quite an impressive list) should be handled by the player internally.

Currently any plugin that deals with playlists needs to handle them and give a list of straight URLs to media. This makes it redundant in many internet-driven plugins where often you get a URL of a playlist in some standard format. The plugin then needs to (sometimes recursively) fetch this page and parse. If at some point the resulting stream url that is given to the player is again another link to a playlist, playback fails. There's no way to handle this failure, even though gstreamer usually reports that the stream is of type 'text' and a playlist parser could possibly pick up.

The internal Moovida playlists need a redesign (see bug #356636 for a related problem).

Often in web streams there are alternate urls that should be tried. There's currently no way to tell the player to try them all, not play in sequence.

An entry in a playlist should be allowed to have an 'alternate' and 'chained' attributes, that would serve this purpose. Chained items (such as multifile movies) should play as a single item. Every entry in either of the two should then be a full playlist entry just as well (with a possible limitation that chained entries should not have chains themselves, but then again - why not?).

Every time gstreamer fails to play with a "could not find a handler for type 'text/html'" the player should try and parse this data through a set of playlist formats. A typefinding error (the playlists are often short and gstreamer is often unable to determine type of stream) should be handled in a similar manner.

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.