After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 776613 - Playlist Support
Playlist Support
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
unspecified
Other All
: Normal enhancement
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
: 346262 346840 346948 478564 588269 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2016-12-30 10:28 UTC by Sebastian Dröge (slomo)
Modified: 2018-11-03 12:38 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
gst-play: Implement playlist parsing optionally via totem-plparser (3.33 KB, patch)
2016-12-30 10:28 UTC, Sebastian Dröge (slomo)
none Details | Review

Description Sebastian Dröge (slomo) 2016-12-30 10:28:30 UTC
This is useful to support remote playlists and other formats than a simple
URI/filename list. totem-plparser is rather small and doesn't do much more
than the name suggests.
Comment 1 Sebastian Dröge (slomo) 2016-12-30 10:28:36 UTC
Created attachment 342614 [details] [review]
gst-play: Implement playlist parsing optionally via totem-plparser
Comment 2 Olivier Crête 2017-01-05 20:46:22 UTC
Shoudn't we instead try to absorb totem-pl-parser into GStreamer somehow?
Comment 3 Tim-Philipp Müller 2017-01-05 21:14:47 UTC
Yes, we should see bug #478564. I'd rather not have an external dep for gst-play, even if optional.
Comment 4 Sebastian Dröge (slomo) 2017-01-06 09:32:14 UTC
totem-pl-parser as is has some (optional) external dependencies for e.g. downloading playlists. It would have to be changed a bit to use GStreamer infrastructure for that (libgsturidownloader? :) ).

CC'ing Bastien in case he has any thoughts about that.
Comment 5 Tim-Philipp Müller 2017-01-06 09:43:46 UTC
Is that part needed? (Haven't looked at all yet)

I was hoping to get rid of uridownloader and move it into adaptivedemux directly, it's not great API, I don't think we can move that to -base (not to mention that soup is in -good).
Comment 6 Sebastian Dröge (slomo) 2017-01-06 09:49:55 UTC
If you point totem to http://whatever.com/something.pls, then you need that, yes. I think that's one of the main use cases here, many Internet radios give you a remote playlist.
Comment 7 Bastien Nocera 2017-01-06 11:20:06 UTC
(In reply to Olivier Crête from comment #2)
> Shoudn't we instead try to absorb totem-pl-parser into GStreamer somehow?

I'm not sure that the code would be of the expected quality: it has loads of special-cases, might download huge files without a second thought, and some of the parsers might not be as robust as they should be.

It also provides 2 additional features. A prober which doesn't do any parsing but can detect whether something might be a playlist (was used in the totem browser plugin), and detect whether specific URLs might point to video websites (using quvi or an external helper via youtube-dl).

(In reply to Sebastian Dröge (slomo) from comment #4)
> totem-pl-parser as is has some (optional) external dependencies for e.g.
> downloading playlists.

The dependencies are:
- libsoup, hard requirement for downloading from HTTP(s)
- libxml, hard dependency but could be made optional, for parsing certain types of playlist, also has a home-grown "this is utterly broken but looks like XML" parser
- gmime, optional dep, used for parsing dates in various formats, used for the RSS and Atom parsers
- quvi, optional dep, for detecting "video sites", so parsing a video site will point you to the actual video stream
- libarchive, used in totem-disc, to detect whether an ISO image is a video DVD, or VCD, etc.
- libgcrypt, to parse AMZ files. I might remove that.

shared-mime-info is a hard unlisted dependency. totem-pl-parser is one of the reasons I became shared-mime-info maintainer:
https://git.gnome.org//browse/totem-pl-parser/tree/plparse/totem-pl-parser.c#n191

> It would have to be changed a bit to use GStreamer
> infrastructure for that (libgsturidownloader? :) ).

I'd be fine moving some parts of that code to GStreamer, and I would even be happy to help integrate more parsers once the scaffolding is done.

But totem-pl-parser probably needs to carry on working, it has functionality that you probably wouldn't want in GStreamer. Ideally, you'd move the playlist parsing (and saving?) code to GStreamer, and I'd use inside the totem-pl-parser API.

Bonus points if the parsers with optional deps can be built as plugins, reimplemented in other more secure languages, or sandboxed.

Let me know if you have any questions.
Comment 8 Edward Hervey 2018-05-01 09:19:19 UTC
Renaming this to be the generic "(How) should we add playlist support to GStreamer" and marking all other playlist related ones as duplicates of this.
Comment 9 Edward Hervey 2018-05-01 09:19:29 UTC
*** Bug 346262 has been marked as a duplicate of this bug. ***
Comment 10 Edward Hervey 2018-05-01 09:19:39 UTC
*** Bug 346840 has been marked as a duplicate of this bug. ***
Comment 11 Edward Hervey 2018-05-01 09:19:46 UTC
*** Bug 478564 has been marked as a duplicate of this bug. ***
Comment 12 Edward Hervey 2018-05-04 11:32:27 UTC
*** Bug 346948 has been marked as a duplicate of this bug. ***
Comment 13 Edward Hervey 2018-05-04 11:33:47 UTC
*** Bug 588269 has been marked as a duplicate of this bug. ***
Comment 14 GStreamer system administrator 2018-11-03 12:38:51 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/213.