JauntyCodecInstall
|
Size: 12152
Comment:
|
Size: 12001
Comment:
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 97: | Line 97: |
---- /!\ '''Edit conflict - other version:''' ---- |
|
| Line 100: | Line 98: |
---- /!\ '''Edit conflict - your version:''' ---- ---- /!\ '''End of edit conflict''' ---- |
Launchpad Entry: jaunty-codec-install
Created: MichaelVogt
Contributors:
Packages affected: gnome-app-install
Summary
Debian has a new mechanism for doing codec installation. Packagekit is also capable of doing codec installs now. We should evalulate if he should keep our version (based on gnome-app-install) or switch to one of the new systems.
Release Note
TBD
Rationale
The codec install information is now part of the Package file. This is a feature that we inherited from debian and that we should use.
Design
The codec install information is now part of the Packages file, it looks like:
$ apt-cache show gstreamer0.10-plugins-good
Package: gstreamer0.10-plugins-good
Priority: optional
Section: libs
Installed-Size: 3384
Maintainer: Ubuntu Desktop Team <ubuntu-desktop@lists.ubuntu.com>
Original-Maintainer: Maintainers of GStreamer packages <pkg-gstreamer-maintainers@lists.alioth.debian.org>
Architecture: i386
Source: gst-plugins-good0.10
Version: 0.10.10.4-1ubuntu1
Replaces: gstreamer0.10-plugins-bad (<< 0.10.7.2), gstreamer0.10-plugins-good-doc (<< 0.10.6-2), gstreamer0.10-plugins-really-bad (<< 0.10.7.2)
Provides: gstreamer0.10-audiosink, gstreamer0.10-audiosource, gstreamer0.10-videosink, gstreamer0.10-videosource, gstreamer0.10-visualization
Depends: gconf2 (>= 2.10.1-2), libaa1 (>= 1.4p5), libavc1394-0 (>= 0.5.3), libbz2-1.0, libc6 (>= 2.4), libcaca0 (>= 0.99.beta13b-1), libcairo2 (>= 1.2.4), libcucul0 (>= 0.99.beta13b-1), libdbus-1-3 (>= 1.0.2), libdv4, libflac8, libgcc1 (>= 1:4.1.1), libgconf2-4 (>= 2.13.5), libglib2.0-0 (>= 2.16.0), libgstreamer-plugins-base0.10-0 (>= 0.10.21), libgstreamer0.10-0 (>= 0.10.21), libgtk2.0-0 (>= 2.14.1), libhal1 (>= 0.5.8.1), libiec61883-0 (>= 1.1.0), libjpeg62, liboil0.3 (>= 0.3.10), libpng12-0 (>= 1.2.13-4), libraw1394-8, libshout3, libsoup2.4-1 (>= 2.23.91), libspeex1 (>= 1.2~beta3-1), libstdc++6 (>= 4.1.1), libtag1c2a (>= 1.5), libv4l-0 (>= 0.5.0), libwavpack1 (>= 4.40.0), libx11-6, libxdamage1 (>= 1:1.1), libxext6, libxfixes3 (>= 1:4.0.1), libxml2 (>= 2.6.27), zlib1g (>= 1:1.1.4), gstreamer0.10-plugins-base
Recommends: gstreamer0.10-x
Filename: pool/main/g/gst-plugins-good0.10/gstreamer0.10-plugins-good_0.10.10.4-1ubuntu1_i386.deb
Size: 1028966
MD5sum: 02fbc87a7ee0eba5056b3277675332cf
SHA1: 29d9bbdf98322d61c214b9dfe30e580f6ae4df6d
SHA256: 9ed27e92492f2de3830fdaaac9673fb5ce1521aa571dcda1b11c2b304f494d5c
Description: GStreamer plugins from the "good" set
GStreamer is a streaming media framework, based on graphs of filters
which operate on media data. Applications using this library can do
anything from real-time sound processing to playing videos, and just
about anything else media-related. Its plugin-based architecture means
that new data types or processing capabilities can be added simply by
installing new plug-ins.
.
This package contains the GStreamer plugins from the "good" set, a set
of good-quality plug-ins under the LGPL license.
Gstreamer-Decoders: application/x-3gp; application/x-apetag; application/x-icy; application/x-id3; application/x-navi-animation; application/x-rtp, media=(string)audio, payload=(int)[ 96, 127 ], encoding-name=(string){ AMR, AMR-WB }, encoding-params=(string)1, octet-align=(string)1, crc=(string){ 0, 1 }, robust-sorting=(string)0, interleaving=(string)0; application/x-rtp, media=(string){ video, audio, application }, payload=(int)[ 96, 127 ], encoding-name=(string)MPEG4-GENERIC, streamtype=(string){ 4, 5 }, mode=(string){ generic, CELP-cbr, CELP-vbr, AAC-lbr, AAC-hbr }; application/x-rtp, media=(string)audio, payload=(int)[ 96, 127 ], encoding-name=(string)ILBC, mode=(string){ 20, 30 }; application/x-rtp, media=(string)audio, payload=(int)[ 96, 127 ], encoding-name=(string)SPEEX, encoding-params=(string)1; application/x-rtp, media=(string)video, payload=(int)[ 96, 127 ], encoding-name=(string)THEORA, delivery-method=(string)inline; application/x-rtp, payload=(int)[ 96, 127 ], media=(string){ audio, video }, encoding-name=(string){ X-QT, X-QUICKTIME }; application/x-rtp, media=(string)audio, payload=(int)[ 96, 127 ], encoding-name=(string){ AC3, G726, G726-16, G726-24, G726-32, G726-40, G729, GSM, PCMA, PCMU, MPA, L16, MP4A-LATM, VORBIS }; application/x-rtp, media=(string)video, payload=(int)[ 96, 127 ], encoding-name=(string){ MPV, H263-2000, H263, H264, MP1S, MP2T-ES, MP4V-ES, RAW, H263-1998 }; application/x-rtp, media=(string)video, payload=(int)34, encoding-name=(string)H263; application/x-rtp, media=(string)other, payload=(int)[ 96, 127 ], encoding-name=(string)MP1S; application/x-rtp, media=(string)audio, payload=(int){ 18, 3, 8, 0, 14, 10, 11 }; application/x-rtp, media=(string)video, payload=(int){ 32, 33 }; application/x-subtitle-avi; audio/x-alaw; audio/x-au; audio/x-flac; audio/x-m4a; audio/x-mulaw; audio/x-speex; audio/x-wav; audio/x-wavpack, framed=(boolean){ false, true }; audio/x-wavpack-correction, framed=(boolean)false; image/bmp; image/gif; image/jpeg; image/png; image/svg; image/svg+xml; image/tiff; image/vnd.wap.wbmp; image/x-MS-bmp; image/x-bitmap; image/x-bmp; image/x-cmu-raster; image/x-icon; image/x-pcx; image/x-pixmap; image/x-portable-anymap; image/x-portable-bitmap; image/x-portable-graymap; image/x-portable-pixmap; image/x-sun-raster; image/x-tga; multipart/x-mixed-replace; text/x-cmml, encoded=(boolean)true; video/mj2; video/quicktime; video/x-dv, systemstream=(boolean){ true, false }; video/x-fli; video/x-matroska; video/x-msvideo; video/x-smoke
Gstreamer-Elements: aasink, agingtv, alawdec, alawenc, alpha, alphacolor, apedemux, apev2mux, asteriskh263, audioamplify, audiochebband, audiocheblimit, audiodynamic, audioinvert, audiokaraoke, audiopanorama, audiowsincband, audiowsinclimit, auparse, autoaudiosink, autovideosink, avidemux, avimux, avisubtitle, breakmydata, cacasink, cairotextoverlay, cairotimeoverlay, cmmldec, cmmlenc, cutter, deinterleave, dicetv, dv1394src, dvdec, dvdemux, dynudpsink, edgetv, efence, equalizer-10bands, equalizer-3bands, equalizer-nbands, flacdec, flacenc, flactag, flxdec, gamma, gconfaudiosink, gconfaudiosrc, gconfvideosink, gconfvideosrc, gdkpixbufdec, gdkpixbufscale, gdkpixbufsink, goom, goom2k1, halaudiosink, halaudiosrc, hdv1394src, icydemux, id3demux, id3v2mux, interleave, jpegdec, jpegenc, level, matroskademux, matroskamux, monoscope, mulawdec, mulawenc, multifilesink, multifilesrc, multipartdemux, multipartmux, multiudpsink, navigationtest, navseek, ossmixer, osssink, osssrc, pngdec, pngenc, progressreport, qtdemux, quarktv, revtv, rganalysis, rglimiter, rgvolume, rndbuffersize, rtpL16depay, rtpL16pay, rtpac3depay, rtpamrdepay, rtpamrpay, rtpdec, rtpdepay, rtpdvdepay, rtpdvpay, rtpg726depay, rtpg726pay, rtpg729depay, rtpg729pay, rtpgsmdepay, rtpgsmpay, rtph263depay, rtph263pay, rtph263pdepay, rtph263ppay, rtph264depay, rtph264pay, rtpilbcdepay, rtpilbcpay, rtpmp1sdepay, rtpmp2tdepay, rtpmp2tpay, rtpmp4adepay, rtpmp4apay, rtpmp4gdepay, rtpmp4gpay, rtpmp4vdepay, rtpmp4vpay, rtpmpadepay, rtpmpapay, rtpmpvdepay, rtpmpvpay, rtppcmadepay, rtppcmapay, rtppcmudepay, rtppcmupay, rtpspeexdepay, rtpspeexpay, rtpsv3vdepay, rtptheoradepay, rtptheorapay, rtpvorbisdepay, rtpvorbispay, rtpvrawdepay, rtpvrawpay, rtpxqtdepay, rtspgoogle, rtspsrc, shagadelictv, shout2send, smokedec, smokeenc, smpte, smptealpha, souphttpsrc, spectrum, speexdec, speexenc, taginject, testsink, udpsink, udpsrc, v4l2src, vertigotv, videobalance, videobox, videocrop, videoflip, videomixer, warptv, wavenc, wavpackdec, wavpackenc, wavpackparse, wavparse, ximagesrc
Gstreamer-Encoders: application/x-rtp, media=(string)audio, payload=(int)[ 96, 127 ], encoding-name=(string){ AMR, AMR-WB }, encoding-params=(string)1, octet-align=(string)1, crc=(string)0, robust-sorting=(string)0, interleaving=(string)0, mode-set=(int)[ 0, 7 ], mode-change-period=(int)[ 1, 2147483647 ], mode-change-neighbor=(string){ 0, 1 }, maxptime=(int)[ 20, 2147483647 ], ptime=(int)[ 20, 2147483647 ]; application/x-rtp, media=(string){ video, audio, application }, payload=(int)[ 96, 127 ], encoding-name=(string)MPEG4-GENERIC, streamtype=(string){ 4, 5 }, mode=(string){ generic, CELP-cbr, CELP-vbr, AAC-lbr, AAC-hbr }; application/x-rtp, media=(string)video, payload=(int)[ 96, 127 ], encoding-name=(string)RAW, sampling=(string){ RGB, RGBA, BGR, BGRA, YCbCr-4:4:4, YCbCr-4:2:2, YCbCr-4:2:0, YCbCr-4:1:1 }, colorimetry=(string){ BT601-5, BT709-2, SMPTE240M }; application/x-rtp, media=(string){ video, audio }, payload=(int)[ 96, 127 ], encoding-name=(string)DV, encode=(string){ SD-VCR/525-60, SD-VCR/625-50, HD-VCR/1125-60, HD-VCR/1250-50, SDL-VCR/525-60, SDL-VCR/625-50, 306M/525-60, 306M/625-50, 314M-25/525-60, 314M-25/625-50, 314M-50/525-60, 314M-50/625-50 }; application/x-rtp, media=(string)audio, payload=(int)[ 96, 127 ], encoding-name=(string)ILBC, mode=(string){ 20, 30 }; application/x-rtp, media=(string)audio, payload=(int)[ 96, 127 ], encoding-name=(string)SPEEX, encoding-params=(string)1; application/x-rtp, media=(string)video, payload=(int)[ 96, 127 ], encoding-name=(string)THEORA, delivery-method=(string)inline; application/x-rtp, media=(string)audio, payload=(int)[ 96, 127 ], encoding-name=(string){ G726-16, G726-24, G726-32, G726-40, G729, GSM, PCMU, PCMA, MPA, L16, MP4A-LATM, VORBIS }; application/x-rtp, media=(string)audio, payload=(int)3, encoding-name=(string)GSM; application/x-rtp, media=(string)audio, payload=(int)0, encoding-name=(string)PCMU; application/x-rtp, media=(string)audio, payload=(int)8, encoding-name=(string)PCMA; application/x-rtp, media=(string)video, payload=(int)32, encoding-name=(string)MPV; application/x-rtp, media=(string)video, payload=(int)[ 96, 127 ], encoding-name=(string){ H263-1998, H263-2000, H263, H264, MP2T-ES, MP4V-ES }; application/x-rtp, media=(string)video, payload=(int)34, encoding-name=(string)H263; application/x-rtp, media=(string)audio, payload=(int){ 18, 14, 10, 11 }; audio/x-alaw; audio/x-flac; audio/x-mulaw; audio/x-speex; audio/x-wav; audio/x-wavpack, framed=(boolean)true; image/jpeg; image/png; multipart/x-mixed-replace; text/x-cmml, encoded=(boolean)true; video/x-matroska; video/x-msvideo; video/x-smoke
Gstreamer-Uri-Sinks: udp
Gstreamer-Uri-Sources: dv, hdv, http, https, rtsp, rtspt, rtspu, udp
Gstreamer-Version: 0.10
Bugs: mailto:ubuntu-users@lists.ubuntu.com
Origin: Ubuntu
Task: ubuntu-desktop, edubuntu-desktop, edubuntu-desktop-kde, xubuntu-desktop, mobile-mid, mobile-mobileTogether with this debian has a new codec install application """gnome-codec-install""" that uses this information. We should evaluate if that codec installer can supersede gnome-app-install. We also should check the packagekit codec installer and decide which one should be the default.
gnome-app-install
- what we use now
- - uses static data from /usr/share/app-install
- - needs lots of clicks to install something
- + uses fast dbm hash database to give instant feedback if codec is availabe
- + knows about codecs even if they are in a not enabled component (e.g. multiverse codecs on a system without multiverse enabled)
gnome-codec-install
- what debian uses now
- - search relatively slow (goes over the full Packages files)
- - relatively new (had trouble with it on my debian/sid system)
- + does not need app-install-data package to function (easier updates)
packagekit codec install
- ...
Implementation
TB
UI Changes
Should cover changes required to the UI, or specific UI that is required to implement this
Test/Demo Plan
Download a mp3 file from the net and double click on it to see the installer in action.
BoF agenda and discussion
Note that the BBC patch to totem relies on internals of the current implementation, and would need to be updated. -- ColinWatson
FoundationsTeam/Specs/JauntyCodecInstall (last edited 2009-02-10 15:56:14 by p54A63CCC)