GNOME Bugzilla – Bug 774508
Disable unmaintained, fringe plugins by default
Last modified: 2018-11-03 13:56:48 UTC
Considering https://scarybeastsecurity.blogspot.gr/2016/11/0day-exploit-compromising-linux-desktop.html and https://scarybeastsecurity.blogspot.gr/2016/11/0day-poc-risky-design-decisions-in.html, we should probably disable various plugins in gst-plugins-bad by default (and only enable directly or via --enable-unmaintained). There are various others like these two plugins. I would consider everything that is basically unmaintained here, and plugins for very uncommon formats that have an alternative in ffmpeg (that works for us) or even in GStreamer.
Should also check if there are similar situations in gst-plugins-good/base/ugly
Ack, sure
Let's collect a list here then, I prepare mine in a bit. Let's distinguish unmaintained, redundant, and uncommon
I propose to move the following ones under the "unmaintained" flag (i.e. disabled by default): x adpcmdec x adpcmenc x audiobuffer x audiofxbad x festival x ivfparse x ivtc x jp2kdecimator x librfb x segmentclip x siren x speed x stereo x videosignal x vmnc x yadif x bz2 x daala x directfb x gme x mimic x modplug x mpeg2enc x mplex x musepack x neon x openal x openni2 x opus x schroedinger x spc x zbar x vdpau Anything to add, any comments?
zbar, really ? This element just work, I don't see why this should be disabled by default. Opus, really you think it's unmaintained ? And librfb got updated in 1.10. In my opinion, Element/Plugins that are known to work well shouldn't be subject to that even if they where not touched for a long time.
Dunno what we're trying to achieve here tbh. What does 'unmaintained' mean, if they mostly just work fine, but aren't super-commonly used. Maybe we should focus on things that are autoplugged in decoding pipelines first? adpcm - well ffmpeg might have support for that, but fact is that millions of people get their GStreamer installed without gst-ffmpeg, so we'd basically be removing decoding support for the most common adpcm variant from GStreamer here for all these people, no? :) zbar - people use that mimic - I think we can just remove that (see other bug report) opus - we can just remove this I think (opusparse) - not sure what its purpose is/was. I don't think it can parse the test vectors, which is the only purpose I can think of. librfb - kinda useful, and certainly not "unmaintained" - we just bragged about all the improvements in the release notes ;) mpeg2enc - is this the main/only decent/fully-featured mpeg-2 video encoder? How does it compare to the ffmpeg one? People use this I think.
(In reply to Nicolas Dufresne (stormer) from comment #5) > Opus, really you think it's unmaintained ? That's opusparse, the decoder/encoder are in base and work just fine. opusparse OTOH is... suboptimal. For your other comments: taken into account
(In reply to Tim-Philipp Müller from comment #6) > Dunno what we're trying to achieve here tbh. What does 'unmaintained' mean, > if they mostly just work fine, but aren't super-commonly used. Basically I want to get rid of all code that nobody cares enough about, and that might have alternatives elsewhere. We have enough things that are carried around in gst-plugins-bad and are actually useful, no need to add more things on top if nobody has the time to care about them, and even more it's a big amount of (bad) code (see vmnc) > Maybe we should focus on things that are autoplugged in decoding pipelines > first? Those are the most important ones, yes. I'm fine with also just lowering the ranks of those to NONE for 1.10.1 and then we can see further later.
autoplugged of the ones above are: x adpcmdec (alternative in gst-libav) x ivfparse (alternative in gst-libav, just activated it in master) x siren x vmnc (alternative in gst-libav) x gme x modplug x musepack (alternative in gst-libav) x schroedinger x spc (superseded by gme) Opinions on which ones to set to rank=NONE for 1.10.1?
IMHO "unmaintained elements with known quality issues and existing gst-usable, feature-comparable alternatives" should be just marked for elimination[*], giving x time for them to be saved. I'm OK with the rank=NONE in the 'x' interim, or even disabling building. The way I see it, as long as the conditions and consequences are clear, the temporary measure is not that important. [*] Or demotion to bad if elsewhere?
We use opusparse in the MediaSource Extensions implementation of WebKit in order to get Opus frame durations. WebM and Matroska files have unreliable (often missing, allowed by the Matroska spec) durations, which is a big problem for MSE. opusparse allows us to rebuild them from the contained Opus packets, which is nice. vorbisparse is used for the same purpose too. (It does not help with video though... that one cannot be solved in any clean way.)
*** Bug 774541 has been marked as a duplicate of this bug. ***
-- 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/gst-plugins-bad/issues/440.