Releases/FeatureCodecBuddy

= CodecBuddy =

Summary
Fedora does not, and will not, ship Free but patent encumbered or non-free codecs in its distribution. However, that does not change the fact that some Fedora users still want to be able to use these types of files on their machine.

Fedora 8 is going to offer a solution to users via codeina.

codeina is now available in Rawhide. Installing it is enough to get Totem to launch codeina when an unsupported codec is being used, or the container is unknown.

Owner

 * Name: BastienNocera, Thomas Vander Stichele

Current status

 * Targeted release:  Fedora 8
 * Last updated: 2007-10-19
 * Percentage of completion: 100% ( Fedora 8 ), Not started (  Fedora 9 )


 * ValentTurkovic: This page needs an update.

Code
Code is being worked on in the Fluendo GStreamer svn.

You can check out the current code with:

svn co https://core.fluendo.com/gstreamer/svn/codeina/trunk/ codeina

codeina packages are in Rawhide.

Fluendo and GStreamer
Fluendo is a company that employs many of the core developers of GStreamer. GStreamer code makes up the core of many Linux media applications, such as Rhythmbox, Totem, Banshee, and others.

Fluendo produces plugins for GStreamer that allow it to decode a variety of proprietary formats. Some of the big ones are:


 * Windows Media Audio
 * Windows Media Video
 * Windows Media MMS
 * MPEG-2 video decoding
 * MPEG-4 Part 2 video decoding
 * ASF container format demuxing
 * MPEG-2 Program and Transport Stream container format demuxing
 * MPEG-4 ISO container format demuxing (superseded by the QuickTime demuxer in gstreamer-plugins-good)
 * MP3 audio

Reference: Fluendo press release

MP3 Use Case
1. Assume that the default application for MP3 playback is GStreamer-aware. A default installation of Fedora sets Rhythmbox as the default. 1. User double clicks on an MP3 file on the desktop. 1. Rhythmbox tries to play the file, but cannot since there is no MP3 codec on the machine. 1. Instead of a "cannot play this file" error message, Fedora 8 will show the user a nicer window, with a bit more information: 1. The last option there will get the MP3 decoder plugin from Fluendo (where it is offered for free (gratis)), and then all GStreamer applications will be able to play MP3 files. The user has solved their problem in a legal way. See Installing Fluendo MP3 Plug-in
 * One or two sentences explaining why there is no MP3 support.
 * The option to "do nothing, never bother me again".
 * The option to "learn more", and redirection to a website with a longer discussion of why Freedom isn't Free, etc.
 * The option to go to a website where legal support for such codecs exists, if available

Other Codec Use Case
1. Same as MP3, except in this case the download isn't gratis, and so there will be an additional step in which the user will be educated about the choices, including commercial options, of which Fluendo will be the first. The content for this page will be kept at http://fedoraproject.org/wiki/CodecBuddy.

Other

 * Totem 2.18.0-1.fc7 in rawhide supports GStreamer's "missing-codecs" code. See the GStreamer bug . It expects the helper script to be installed in $(libexecdir)/gst-install-plugins-helper
 * See the Fluendo announcement
 * See also the Ubuntu spec for the same problem.

Why is this useful?
There are repositories out there which offer this support right now, but as a United States based organization, it might be illegal for us to even give the name of these repositories because of potential contributory infringement claims. So, unless you are a savvy user who knows how to find this software (and also doesn't mind installing software that might be illegal in your geographical location), you are left with a large usability hole in your Fedora installation.

This feature is an attempt to fix that usability hole in a legal way, while not including any non-free code in Fedora itself.

Fedora 8 features and future versions
For Fedora 8
 * Make MP3 installation work (currently points to a non-existant tarball) (DONE)
 * Implement MP3 license agreement click-through (needed for contractual reasons)(DONE)
 * Get a better blurb in the first-time warning (Done)
 * Thomas to upload codeina in the Fedora repository (he's also upstream on the project) (DONE)

For future Fedora versions


 * Pluggable sources, so 3rd-party repositories/vendors can install their own sources of codecs (such as repositories offering patent-restricted codecs in packages)
 * Webshop operations in the UI directly for the Fluendo source
 * PolicyKit integration for the administrator to be able to install the codecs system-wide rather than in the user's home directory as now
 * Tracking of user's purchases (Fluendo) so they can re-download the codecs when doing a fresh installation (discuss possible problems with users installing on multiple machines, where the licenses are actually per-machine)
 * Maybe, tracking of the revenues generated for Fluendo by the Fedora integration, a portion of which could be used for upstream GStreamer development, etc.

Supported applications
Right now, only Totem has support for the missing plugins framework of GStreamer.

Work is on-going upstream for Rhythmbox.