Hey, I wanted to gauge interest for this particular solution to a long-standing problem, that of being able to play back videos in the user's possession. TL;DR: Remove totem so that users get it from a place where it can play videos A long, long time ago, thomasvs and I worked on implementing a mechanism for automatic codec installation in GStreamer applications, such as totem: https://fedoraproject.org/wiki/Releases/FeatureCodecBuddy https://fedoraproject.org/wiki/Interviews/CodecBuddy https://arstechnica.com/information-technology/2007/09/gnome-2-20-officially-released/ There was only one implementation, which offered a native(-ish) front-end to Fluendo's web store. Fluendo at that time was[1] providing proprietary plugins so that distributions based in jurisdictions where software patents applied, or that wanted to distribute there, or organisations where this applied, could buy those plugins to get peace of mind. Obviously, pointing to a company's webstore in a package that was part of Fedora's default installation didn't go down well, and the implementation was replaced with something more generic: GStreamer plugins inside packages would be scanned at build time to have "RPM provides" metadata added to the package, and an application[2] was added to look for "a package that provides this thing" when a multimedia application was missing a plugin. Fast-forward 12 years, and even if the name of the codecs that are missing have changed, and what we can automatically install online to has also changed (we have full MP3 support, yay! but the AAC and H264 support are rather incomplete), the workflow is still the same, but probably slightly more broken. The problems: - the PackageKit GStreamer plugin installer doesn't implement the "missing- plugins" interface correctly: https://bugs.freedesktop.org/show_bug.cgi?id=100791 which breaks applications (because it tells the app to re-scan the installed plugins even though nothing's installed yet): https://gitlab.gnome.org/GNOME/totem/issues/62 - The "provides" in the RPM packages can't fully express the required plugins. The GStreamer missing plugins code gives out a very very detailed information on what plugin is needed, something which cannot be implemented via the simple string comparison we use to select which package to install. This is a problem you could get with the plugins that Fedora points to out of the box, but that don't implement all the profiles[3]. - Even if a compatible plugin gets installed, it might not be _the_ plugin that needs to be used to integrate a particular feature. For example, the GStreamer DVD playback plugin requires the liba52-based AC3 decoder to work, and will not work with another one.[4] - The user still needs to figure out where to get the rest of the codecs. Want to play H265? Go search for the repository that provides this. Want to play DVDs? It won't install automatically and you'll also need to search for it. - Providing the automatic codecs installation functionality using the RPM-based Flatpaks for Silverblue would be a *lot* of infrastructure work, if it even is feasible[5]. If for some reason we decide that we want to keep totem in the distribution, then a number of things would need to happen: - PackageKit's plugin installation helper would need to be fixed to match what the API requires - We'd need to review popular codecs, and make sure that for both decoders and encoders, enough metadata is available in the RPM provides for the "right" ones to be installed - Figure out what to do for the RPM-based Flatpaks Note that this only applies to Fedora. If somebody wants to discuss the status of this for the other distribution on which I work, please reply privately. Cheers [1]: Maybe they still are? The page still mentioned GStreamer 0.10: https://fluendo.com/en/products/enterprise/fluendo-codec-pack/ [2]: Might have been a PackageKit front-end already, I couldn't find a reference after a quick web search, and it's not super relevant [3]: I've not verified/tested this, I know it to be a possibility though [4]: This isn't a problem since Fedora ships the a52dec, but it was one [5]: It's always feasible, given enough time ;) _______________________________________________ desktop mailing list -- desktop@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to desktop-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/desktop@xxxxxxxxxxxxxxxxxxxxxxx