[Bug 776613] gst-play: Implement playlist parsing optionally via totem-plparser

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Fri Jan 6 11:20:06 UTC 2017


https://bugzilla.gnome.org/show_bug.cgi?id=776613

--- Comment #7 from Bastien Nocera <bugzilla at hadess.net> ---
(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.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list