--- totem-2.30.2.orig/debian/totem-plugins.install +++ totem-2.30.2/debian/totem-plugins.install @@ -0,0 +1 @@ +debian/tmp/usr/lib/totem/plugins/[!gci]* --- totem-2.30.2.orig/debian/compat +++ totem-2.30.2/debian/compat @@ -0,0 +1 @@ +5 --- totem-2.30.2.orig/debian/totem-plugins-extra.install +++ totem-2.30.2/debian/totem-plugins-extra.install @@ -0,0 +1,3 @@ +debian/tmp/usr/lib/totem/plugins/gromit +debian/tmp/usr/lib/totem/plugins/coherence_upnp +debian/tmp/usr/lib/totem/plugins/iplayer --- totem-2.30.2.orig/debian/copyright +++ totem-2.30.2/debian/copyright @@ -0,0 +1,59 @@ +This package was debianized by Sebastien Bacher on +Sat, 24 Aug 2002 15:12:51 +0200. + +It was downloaded from http://www.hadess.net/totem.php3 + +Upstream Author: Bastien Nocera + +License: + + Totem is distributed under the GPL by default, with a special excemption + clause added: + + This package is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This package is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this package; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +On Debian systems, the complete text of the GNU General +Public License can be found in `/usr/share/common-licenses/GPL'. + + The excemption clause is: + The Totem project hereby grants permission for non-GPL compatible GStreamer + plugins to be used and distributed together with GStreamer and Totem. This + permission is above and beyond the permissions granted by the GPL licensei + by which Totem is covered. If you modify this code, you may. extend this + exception to your version of the code, but you are not obligated. to do + so. If you do not wish to do so, delete this exception statement from. + your version. + + The Totem Playlist parser library, "pl-parser", is licensed under the terms of + the LGPL. This includes the files starting with totem-pl-parser* in the src + directory. See for + details. + + This package is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This package is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this package; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +On Debian systems, the complete text of the GNU Lesser General +Public License can be found in `/usr/share/common-licenses/LGPL'. --- totem-2.30.2.orig/debian/changelog +++ totem-2.30.2/debian/changelog @@ -0,0 +1,1750 @@ +totem (2.30.2-2ubuntu1) maverick; urgency=low + + * debian/patches/70_bbc_plugin.patch: + - Fix crash in BBC plugin, thanks Sam Tygier (LP: #563671) + * Merge with Debian unstable, remaining Ubuntu changes: + * debian/control: + - Build-depend on gnome-common for autotools + - Don't build using libepc, galago those are in universe + - Don't use libtracker, the current version is not very useful and not + something to recommend to users and totem requires a newer version + - Remove superfluous xulrunner-dev build-depend + - Build-depend on liblaunchpad-integration-dev + - Add Vcs-Bzr link + - totem-plugins doesn't depend on python-gdata since libgdata is used + instead nowadays + - Add XB-Npp-Description and XB-Npp-Filename header to the + totem-mozilla package to improve ubufox/ubuntu plugin db integration + - Change refences from Iceweasel to Firefox + - Split totem-plugins package in an extra package for the components + which have depends in universe + - Use suggests rather than recommends for universe gstreamer components + - Add totem-plugins-extra package + * debian/rules: + - Run autotools on build + * debian/source_totem.py: + - Apport hook + * debian/totem-common.gconf-defaults: + - Activate content retrieval plugins (BBC and YouTube) by default + * debian/totem-common.install: + - Install apport hook + * debian/totem-plugins-extra.install: + - Plugins split out ouf totem-plugins + * debian/totem-plugins.install: + - Move some plugins to totem-plugins-extra + * debian/totem.preinst: + - No longer required as Lucid has been released + * debian/patches/02_lpi.patch: + - Launchpad integration + * debian/patches/07_disable_web_browser_midi.patch: + - Karmic's version of gstreamer does not support MIDI over HTTP + * debian/patches/70_bbc_plugin.patch: + - Updated from upstream bug report + * debian/patches/90_autotools.patch: + - Not required, autotools run from debian/rules + * debian/patches/91_git_correct_rgba_use.patch: + - git change to fix totem crashing with gtk csd + * debian/watch: + - Watch for unstable versions + + -- Robert Ancell Fri, 25 Jun 2010 13:53:18 +1000 + +totem (2.30.2-2) unstable; urgency=low + + * debian/patches/80_webm.patch, + debian/patches/81_mpegts.patch: + + Patches from upstream GIT to add MPEG TS and WebM support in + the browser plugin and to add the mimetypes to the list of + supported mimetypes. + + -- Sebastian Dröge Sat, 29 May 2010 11:25:57 +0200 + +totem (2.30.2-1) unstable; urgency=low + + * New upstream bugfix release: + + debian/patches/90_autotools.patch: + - Updated for the new version. + + -- Sebastian Dröge Wed, 12 May 2010 18:34:53 +0200 + +totem (2.30.1-2) unstable; urgency=low + + * Upload to unstable. + + -- Sebastian Dröge Mon, 03 May 2010 13:52:51 +0200 + +totem (2.30.1-1) experimental; urgency=low + + [ Loïc Minier ] + * totem.preinst: Actually remove alternatives by checking for action + "upgrade" instead of "configure" which isn't used with preinsts; bump + verison to 2.30.0-2 for that to be effective. + + [ Sebastian Dröge ] + * New upstream bugfix release: + + debian/control.in: + - Update build dependencies. + + debian/patches/02_tracker_0.8.patch: + - Dropped, merged upstream. + + debian/patches/90_autotools.patch: + - Updated for the new version. + + -- Sebastian Dröge Wed, 28 Apr 2010 14:41:52 +0200 + +totem (2.30.0-2) experimental; urgency=low + + * debian/patches/03_tracker_0.8.patch + - Add support for tracker 0.8. Closes: #577207 + Patch cherry-picked from upstream Git. + * Refresh patches to apply cleanly. + * debian/control.in + - Re-enable tracker plugin support. Add Build-Depends on + libtracker-client-0.8-dev (>= 0.8.1). + - Update package description of totem-plugins. + + -- Michael Biebl Sat, 17 Apr 2010 00:46:43 +0200 + +totem (2.30.0-1) experimental; urgency=low + + * New upstream stable release: + + debian/patches/90_autotools.patch: + - Refreshed for the new version. + + -- Sebastian Dröge Wed, 31 Mar 2010 13:32:09 +0200 + +totem (2.29.92-1) experimental; urgency=low + + * New upstream development release: + + debian/patches/90_autotools.patch: + - Refreshed for the new version. + + debian/patches/99_gst-bus_flush.patch: + - Dropped, merged upstream. + * Merge changes from 2.28.5-2. + + -- Sebastian Dröge Tue, 16 Mar 2010 09:06:31 +0100 + +totem (2.29.91-1) experimental; urgency=low + + * New upstream development release: + + debian/patches/90_autotools.patch: + - Refreshed for the new version. + + debian/control.in: + - Update build dependencies and dependencies. + * debian/patches/99_gst-bus_flush.patch: + + Patch from upstream GIT to fix automatic codec installation + and random errors showing up from previous tracks. + * debian/control.in: + + Add ATK build dependency to allow buildds to actually install + the correct version instead of producing an error. + + -- Sebastian Dröge Thu, 25 Feb 2010 19:11:33 +0100 + +totem (2.29.4-1) experimental; urgency=low + + * New upstream development release: + + debian/patches/90_autotools.patch: + - Refreshed for the new version. + + debian/control.in: + - Update build dependencies and dependencies. + - Drop tracker plugin, it needs tracker 0.7. + + debian/totem-mozilla.links: + - Drop the complex plugin, it doesn't exist anymore. + + -- Sebastian Dröge Wed, 27 Jan 2010 09:40:18 +0100 + +totem (2.28.5-2) unstable; urgency=low + + [ Josselin Mouette ] + * totem-mozilla.links: removed. We don’t need iceweasel-specific + links, it is able to use the files in /usr/lib/mozilla/plugins. + Closes: #569891. + * Require totem-common = ${source:Version}. Closes: #571164. + + [ Emilio Pozuelo Monfort ] + * debian/patches/02_python2.6.patch: + - Backport change from GIT to fix FTBFS with Python 2.6 as the + default interpreter. Closes: #571517. + * debian/patches/90_autotools.patch: + - Updated. + * debian/control.in: + - Standards-Version is 3.8.4, no changes needed. + + -- Emilio Pozuelo Monfort Thu, 04 Mar 2010 10:06:44 +0100 + +totem (2.28.5-1) unstable; urgency=low + + * New upstream bugfix release. + - debian/patches/90_autotools.patch, + debian/patches/70_bbc_plugin.patch: + + Refreshed for the new version. + * debian/control.in: + - Don't build depend on libbluetooth-dev on Hurd. + * debian/watch: + - Only track stable releases. + + -- Emilio Pozuelo Monfort Wed, 23 Dec 2009 00:35:07 +0100 + +totem (2.28.4-1) unstable; urgency=low + + [ Sebastian Dröge ] + * New upstream bugfix release: + + debian/patches/90_autotools.patch: + - Regenerated. + + [ Josselin Mouette ] + * Let the transitional totem-xine package depend on gst-plugins-bad + and -ugly. Closes: #559558. + + -- Sebastian Dröge Tue, 08 Dec 2009 15:50:19 +0100 + +totem (2.28.3-1) unstable; urgency=low + + [ Josselin Mouette ] + * Split the UPnP plugin in a separate totem-coherence package. + Closes: #553058. + + [ Emilio Pozuelo Monfort ] + * debian/control.in: + - Build depend on xulrunner-dev rather than on iceape-dev. + Closes: #555914. + - Let totem-coherence depend on ${misc:Depends}. + + [ Josselin Mouette ] + * Call dh_pysupport and add ${python:Depends} for totem-coherence. + + [ Sebastian Dröge ] + * New upstream bugfix release: + + debian/patches/02_use_gconf_audio_sink.patch, + debian/patches/80_fix_youtube_regex.patch: + - Dropped, merged upstream. + + debian/patches/90_autotools.patch: + - Regenerated. + + -- Sebastian Dröge Sat, 14 Nov 2009 10:12:07 +0100 + +totem (2.28.2-3) unstable; urgency=low + + [ Josselin Mouette ] + * totem-plugins depends on python-coherence. Closes: #553058. + * The section for totem-mozilla is video too. + + [ Sjoerd Simons ] + * debian/patches/80_fix_youtube_regex.patch: + + Added. Update the regexp for parsing parameters from youtube (from + upstream git) + + -- Sjoerd Simons Sat, 07 Nov 2009 15:45:32 +0000 + +totem (2.28.2-2) unstable; urgency=low + + * debian/patches/02_use_gconf_audio_sink.patch, + debian/control.in: + + Updated from upstream Bugzilla, this patch together with + gst-plugins-base 0.10.25-5 and gst-plugins-good 0.10.16-5 + this fixes all volume related issues with totem and pulseaudio. + + -- Sebastian Dröge Fri, 30 Oct 2009 10:47:49 +0100 + +totem (2.28.2-1) unstable; urgency=low + + * New upstream bugfix release: + + debian/control.in: + - Update build dependencies. + + debian/patches/90_autotools.patch: + - Regenerated for the new version. + + -- Sebastian Dröge Mon, 26 Oct 2009 13:19:20 +0100 + +totem (2.28.1-2) unstable; urgency=low + + [ Emilio Pozuelo Monfort ] + * debian/patches/02_use_gconf_audio_sink.patch: + - Don't try to use PulseAudio inconditionally, use the user defined + one from GConf instead. Closes: #548260. + + [ Josselin Mouette ] + * Add missing shlibs:Depends in totem-mozilla. + + -- Josselin Mouette Sat, 24 Oct 2009 12:29:50 +0200 + +totem (2.28.1-1) unstable; urgency=low + + * debian/control.in: + + Clean up inter-package dependencies and remove a completely + useless circular dependency (Closes: #548891). There's no reason + why totem should depend on totem-plugins and the other way around. + * debian/totem.install, + debian/totem-common.install, + debian/control.in: + + Move the desktop file into the same package as the binaries. + * New upstream bugfix release: + + debian/patches/90_autotools.patch: + - Regenerated for the new version. + + -- Sebastian Dröge Tue, 29 Sep 2009 17:16:16 +0200 + +totem (2.28.0-2) unstable; urgency=low + + * Upload to unstable. + + -- Sebastian Dröge Wed, 23 Sep 2009 11:01:01 +0200 + +totem (2.28.0-1) experimental; urgency=low + + * New upstream release: + + debian/patches/90_autotools.patch: + - Regenerated for the new version. + + -- Sebastian Dröge Mon, 21 Sep 2009 16:53:12 +0200 + +totem (2.27.92-1) experimental; urgency=low + + [ Josselin Mouette ] + * totem-plugins depends on python-gconf. Closes: #541352. + * and on python-gobject 2.18. Closes: #528459. + * Remove gmyth plugin. Closes: #542127. + * Drop useless build-dependency on libxml-parser-perl. + * Add missing dependencies for the iplayer plugin. Closes: #530438. + + [ Sebastian Dröge ] + * New upstream development release: + + debian/control.in: + - Update build dependencies. + + debian/patches/03_disable_debug.patch: + - Dropped, fixed upstream. + + debian/patches/90_autotools.patch: + - Regenerated for the new version. + * debian/control.in: + + Update Standards-Version to 3.8.3. + + -- Sebastian Dröge Wed, 09 Sep 2009 07:52:42 +0200 + +totem (2.27.2-3) experimental; urgency=low + + * debiam/totem-mozilla.links: + + Make the links originate from the correct location and update the list + for the current set of plugins. + + -- Sjoerd Simons Sun, 09 Aug 2009 00:00:00 +0100 + +totem (2.27.2-2) experimental; urgency=low + + * debian/control.in: + + Build depend on libgdata-dev (>= 0.4.0) for the youtube plugin. + + -- Sebastian Dröge Sat, 08 Aug 2009 21:16:15 +0200 + +totem (2.27.2-1) experimental; urgency=low + + [ Emilio Pozuelo Monfort ] + * Move totem to the video section, and totem-dbg to debug. + + [ Josselin Mouette ] + * Only suggest gnome-codec-install, it is way too obnoxious with some + packages like rhythmbox. + + [ Sebastian Dröge ] + * New upstream development release: + + debian/control.in: + - Update GStreamer build dependencies. + + debian/patches/90_autotools.patch: + - Updated for the new version. + * debian/control.in: + + Update Standards-Version to 3.8.2. + + -- Sebastian Dröge Fri, 24 Jul 2009 08:13:11 +0200 + +totem (2.27.1-2) experimental; urgency=low + + [ Sebastian Dröge ] + * Some minor changes from the Ubuntu package: + + debian/totem.menu: + - Let the title start with an uppercase T. + + debian/control.in: + - Remove some unneeded build dependencies and update description + to clarify that totem uses GIO nowadays. + + [ Josselin Mouette ] + * Remove gstreamer0.10-gnomevfs from the dependencies and bump + requirement on -good to a version with a working soup plugin. + Closes: #530663. + + [ Sebastian Dröge ] + * debian/patches/20_use_alternatives.patch: + + Dropped, there are no alternatives anymore. + * debian/totem.{pre,post}inst: + + Remove alternatives in preinst, otherwise the totem binary will + be removed (Closes: #531704). Thanks to Martin Pitt for the fix. + + -- Sebastian Dröge Thu, 04 Jun 2009 20:15:57 +0200 + +totem (2.27.1-1) experimental; urgency=low + + * New upstream development release: + + This release drops the Xine backend, this allows a much simplified + packaging. + + The YouTube plugin is not built at the moment until we have a + libgdata package, which is required for the plugin now. + + debian/patches/60_build_libbaconvideowidget_statically.patch: + - Dropped, merged upstream. + + debian/patches/70_bbc_plugin.patch, + debian/patches/90_autotools.patch: + - Updated for the new version. + + debian/control.in, + debian/rules, + debian/*: + - Drop the xine flavor and merge totem-gstreamer into + the totem package. + - Remove alternatives on upgrades. + - Convert packaging to cdbs. + + -- Sebastian Dröge Mon, 18 May 2009 19:40:39 +0200 + +totem (2.26.2-1) UNRELEASED; urgency=low + + * New upstream bugfix release. + + -- Sebastian Dröge Mon, 18 May 2009 17:41:11 +0200 + +totem (2.26.1-1) experimental; urgency=low + + [ Josselin Mouette ] + * totem-plugins depends on python-gdbm. Closes: #523582. + + [ Sjoerd Simons ] + * New upstream release (2.26.1) + * debian/patches/02_flv.patch: Dropped, fixed upstream + * debian/patches/04_tracker_build.patch: Dropped, fixed upstream + * debian/patches/01_fake_keypresses.patch: Updated and simplified + * debian/patches/70_bbc_plugin.patch: Updated + * debian/patches/90_autotools.patch: Updated + + [ Emilio Pozuelo Monfort ] + * Recommend gnome-codec-install rather than gnome-app-install. + Closes: #523052. + + -- Sjoerd Simons Sun, 19 Apr 2009 17:28:51 +0100 + +totem (2.24.3-3) unstable; urgency=low + + * totem-mozilla.docs: ship README.browser-plugin which explains how to + disable the plugin for some MIME types. + * rules: remove the hack that only let totem-xine support VCDs and + DVDs, now that GStreamer supports them. Closes: #370789. + * 01_fake_keypresses.patch: new patch. Completely disable the broken + XTEST code that generates fake keypresses. Closes: #500330. + * 90_autotools.patch: regenerated. + * Build-depend on nautilus 2.22 to be sure to build the extension for + the correct version. + * totem-xine depends on libxine1-x. + * Standards version is 3.8.1. + * Upload to unstable. + * 04_tracker_build.patch: new patch, stolen upstream. Fix build with + latest tracker version. + + -- Josselin Mouette Tue, 07 Apr 2009 15:21:00 +0200 + +totem (2.24.3-2) experimental; urgency=low + + * Let totem-plugins depends on python-gtk2 instead of python-gtk2-dev. + + -- Sjoerd Simons Sun, 21 Dec 2008 15:57:12 +0000 + +totem (2.24.3-1) experimental; urgency=low + + [ Sam Morris ] + * New upstream release. + * 01_gecko_iceape.patch, 07_autoconf.patch: removed, no longer necessary. + Also remove --with-gecko=iceape from configure arguments. + * 02_flv.patch: refreshed. + * 30_fix_youtube_plugin.patch: merged upstream. + * 60_build_libbaconvideowidget_statically.patch: taken from Ubuntu, from + . Building + libbaconvideowidget statically means that totem-gstreamer and totem-xine can be + co-installable. + * 70_autoconf.patch: disabled, no need for it. + * 90_automake.patch: generated by running 'automake' after applying + 60_build_libbaconvideowidget_statically.patch. + * Drop GnomeVFS dependency. + * Add versioned build-dependency on intltool 0.4. + * Reduce GLib dependency to 2.13. + * Depend on x11proto-core-dev for multimedia keys. + * Depend on libgmythupnp-dev and bump gmyth dependency to 0.7.1. + * Increase GTK+ dependency to 2.13. + * Increase totem-plparser dependency to 2.23.91. + * The browser plugin no longer uses xpt files; remove + totem-mozilla.links and the code in debian/rules that handles them. + * Explicitly enable the complex browser plugin, as it is disabled by + default. + + [ Josselin Mouette ] + * 03_disable_debug.patch: new patch. Drop debugging output in the + browser plugin. Closes: #507491. + + [ Sjoerd Simons ] + * debian/patches/70_bbc_plugin.patch: + - Added. Add BBC content viewer plugin + * debian/patches/90_autotools.patch: + - Added. rerun autogen after adding the bbc plugin + * debian/patches/90_automake.patch: + - Removed. Deprecated by debian/patches/90_autotools.patch + * debian/patches/series: updated + + -- Sjoerd Simons Sun, 07 Dec 2008 16:28:18 +0000 + +totem (2.22.2-5) unstable; urgency=low + + * Don’t build-depend on libbluetooth-dev on kfreebsd. Closes: #499384. + * Remove the conditional build-dep on hal, which now builds on the + said systems. + * 30_fix_youtube_plugin.patch: update youtube plugin to the version in + GNOME 2.24 to match the changes on the server side, excluding + changes in the C code. Closes: #503363. + + -- Josselin Mouette Sat, 25 Oct 2008 12:55:59 +0200 + +totem (2.22.2-4) unstable; urgency=low + + [ Josselin Mouette ] + * Change the recommends on g-c-c to one on g-s-d. Also move it to + totem-plugins, which is the package providing the media keys + functionality. + * Change the depends on dbus to dbus-x11. + + [ Loic Minier ] + * Let totem-gstreamer recommend gnome-app-install for easy codec + installation. + + [ Josselin Mouette ] + * 02_flv.patch: the canonical MIME type for Flash videos is + video/x-flv, not video/flv. Closes: #486468. + + [ Sjoerd Simons ] + * 30_fix_youtube_plugin.patch: Set the server as a keyword argument to be + compatible with both old and new versions of python-gdata. Fixes searching + for youtube videos + * debian/control.in: Fix double Recommend field for totem-gstreamer + + [ Josselin Mouette ] + * rules: rally disable the vala plugin. + + -- Josselin Mouette Wed, 10 Sep 2008 15:38:34 +0200 + +totem (2.22.2-3) unstable; urgency=low + + * debian/control.in, + debian/rules: + + Disable vala support for now. It only builds a sample plugin anyway + and thus is rather useless. Fixes FTBFS with newer valac. + + -- Sebastian Dröge Thu, 22 May 2008 10:01:33 +0200 + +totem (2.22.2-2) unstable; urgency=low + + [ Sam Morris ] + * Only totem-xine can satisfactorily play DVDs and VCds (it can do + de-interlacing and menus), so update its .desktop files to reflect this. + This only affects nautilus 2.22, which has taken over the job of launching + progrems when media are inserted in GNOME 2.22. + + [ Josselin Mouette ] + * Build-depend on iceape-dev 1.1.9-5. + * Use the iceape gecko variant. This way it should work with both + gecko 1.8 and 1.9. Closes: #479344, #480809. + * 01_gecko_iceape.patch: support iceape as a valid gecko variant. + * 70_autoconf.patch: re-run autoconf on top of that. + * Require debhelper 5.0.51 for dh_icons. + * Build-depend on python-support; call dh_pysupport; depend on + ${python:Depends}. Adds correct dependencies for the python scripts + in totem-{gstreamer,xine} and the module in totem-plugins. + + -- Josselin Mouette Mon, 12 May 2008 15:04:36 +0200 + +totem (2.22.2-1) unstable; urgency=low + + * New upstream bugfix release. + + -- Sebastian Dröge Thu, 24 Apr 2008 12:10:38 +0200 + +totem (2.22.1-1) unstable; urgency=low + + * New upstream release. + * Add an update-alternative slave for audio-preview per flavor; LP: #199701; + see also Debian #472370. + + -- Loic Minier Mon, 24 Mar 2008 20:22:26 +0100 + +totem (2.22.0-2) unstable; urgency=high + + [ Emilio Pozuelo Monfort ] + * debian/control: + - Remove duplicated libepc-ui-dev build dependency. + + [ Loic Minier ] + * Merge below changes by Steve Langasek again; these were not applied to the + experimental branch; doh! + + [ Steve Langasek ] + * Auto-generate totem-{xine,gstreamer}.postinst from new + debian/totem-flavor.postinst.in in the install target + * Substitute the pkg-config variable into the generated postinst also, + so that the update-alternatives slave for the nautilus extension is + kept in sync with the ABI. + + -- Emilio Pozuelo Monfort Sun, 23 Mar 2008 20:20:36 +0100 + +totem (2.22.0-1) unstable; urgency=low + + [ Sam Morris ] + * New upstream development release. + - Build-depend on libepc-ui-dev 0.3 for publish plugin. + - Build-depend on libglib2.0-dev 2.15. + - Build-depend on libgnome-keyring-dev. + - Build-depend on libstartup-notification0-dev 0.8 for web browser plugin. + - Build-depend on libtrackerclient-dev for tracker plugin. + - Build-depend on python-gtk2-dev 2.12. + - Build-depend on valac, libvala-dev 0.1.16. + - Build-depend on libgtk2.0-dev 2.12.6. + - Drop build-dependency on libgnome-desktop-dev. + - Drop build-dependency on libgnome-settings-daemon-dev. + * totem-pl-parser library was split into a separate source package. + - Build-depend on libtotem-plparser-dev 2.21.90. + - Drop libtotem-parser7 and libtotem-plparser-dev packages. + - Drop 30_kfreebsd_gnu.patch. + * Drop 25_revert-xine-reqs-bump.patch: a new enough xine is new present in + unstable. Also drop 70_autoconf.patch as we no longer patch configure.in. + * Update totem-plugins description with entries for new plugins. + * Include check-dist.mk in rules file to prevent accidental uploads to + unstable. + + [ Emilio Pozuelo Monfort ] + * Fix Homepage field in debian/control. Thanks to Amaya Rodrigo. + Closes: #464354. + * Build-depend on libepc-ui-dev to build the Publisher plugin. + + [ Josselin Mouette ] + * Fix capitalization of GNOME and GStreamer. + + [ Sebastian Dröge ] + * debian/rules: + + Call dh_icons and dh_shlibdeps. + + Don't ship *.py[co], taken from the Ubuntu package. + + Don't hardcode nautilus-extension directory, taken from the + Ubuntu package. + + Upload to unstable, drop check-dist include. + * debian/control.in: + + Update build dependencies. + + Build depend on libgmyth-dev. + + -- Sebastian Dröge Thu, 13 Mar 2008 15:08:06 +0100 + +totem (2.20.3-1) unstable; urgency=low + + [ Loic Minier ] + * Let totem-common and totem-plugins replace totem-xine and -gstreamer. + + [ Josselin Mouette ] + * Fix totem-dbg's section, see #457534. + * totem-xine recommends libxine1-gnome. + + [ Sebastien Bacher ] + * use change from launchpad bug #177459 to fix bashim in the debian rules + + [ Sebastian Dröge ] + * New upstream bugfix release: + + debian/patches/70_autoconf.patch: + - Regenerated for the new version. + * debian/control.in: + + Update Standards-Version to 3.7.3, no additional changes needed. + + Use Homepage field. + + -- Sebastian Dröge Mon, 07 Jan 2008 21:49:41 +0100 + +totem (2.20.1-1) unstable; urgency=low + + [ Loic Minier ] + * Cleanup whitespace. + + [ Josselin Mouette ] + * totem depends on totem-plugins. Closes: #445675. + * Conflict against totem-mozilla (<< 2.20.0-3). Closes: #448554. + * debian/bug/control: ship a bug control file in totem to correctly + report dependencies of totem-{gstreamer,xine}. + + [ Sebastian Dröge ] + * New upstream bugfix release: + + debian/control: + - Build depend on Gtk >= 2.12.1 as per configure.in. + + debian/patches/60_gnome-doc-utils.patch: + - Dropped, upstream uses new enough gnome-doc-utils now. + + debian/patches/70_autoconf.patch: + - Regenerated for the new version. + + -- Josselin Mouette Sun, 25 Nov 2007 13:15:19 +0100 + +totem (2.20.0-3) unstable; urgency=low + + * Complete rework of debian/rules. + * Split data files in totem-common. + * Make totem-xine and totem-gstreamer installable together. + Closes: #402549. + * Move debugging symbols to totem-dbg. + * Move plugins to totem-plugins. + * Switch to quilt. + * Refresh patches. + * Fix menu files and ship them in both packages. + * 60_gnome-doc-utils.patch: regenerate help/Makefile.in with a newer + gnome-doc-utils.make that supports out-of-tree builds. + * Build-depend on libbluetooth-dev and libgalago-dev for the + corresponding plugins. + * Remove symbolic links in the firefox directory. + * Improve long package descriptions. + + -- Josselin Mouette Wed, 26 Sep 2007 22:36:06 +0200 + +totem (2.20.0-2) unstable; urgency=low + + [ Sebastian Dröge ] + * Upload to unstable. + * debian/control.in: + + Remove duplicated liblircclient-dev build dependency. + + [ Josselin Mouette ] + * libtotem-plparser7-dbg conflicts with libtotem-plparser1-dbg. + + -- Josselin Mouette Wed, 26 Sep 2007 00:41:46 +0200 + +totem (2.20.0-1) experimental; urgency=low + + * New upstream stable release: + + debian/control.in: + - Bump required versions of Gtk, GLib, GnomeVFS, GStreamer, + shared-mime-info. + - Build depend on vala. + - Build depend on python-gobject-dev and python-gtk2-dev. + - Build depend on libgnome-settings-daemon-dev. + - Build depend on liblircclient-dev. + - Bump soname of libtotem-plparser. + + debian/rules: + - Enable the vala bindings support. + + -- Sebastian Dröge Mon, 17 Sep 2007 07:12:48 +0200 + +totem (2.18.2-2) unstable; urgency=high + + * Depend on iso-codes; thanks Jan Alonzo. + * Recommend libxine1-ffmpeg; closes: #433166. + + -- Loic Minier Sun, 22 Jul 2007 15:06:24 +0200 + +totem (2.18.2-1) unstable; urgency=low + + [ Loic Minier ] + * Honor CFLAGS we set in rules, doh! + + [ Sven Arvidsson ] + * New patch, lirc_freeconfig, from upstream SVN, fix freeze on close + with lirc; thanks Philip Withnall (GNOME bug #427681); + (Closes: #418020) + + [ Loic Minier ] + * Excluse /usr/lib/totem/ and /usr/lib/nautilus/extensions- for + dh_makeshlibs as there are plugins in these dirs. + * Upload to unstable; drop check-dist include. + * New upstream stable release. + - New patch, 25_revert-xine-reqs, reverts the bump in Xine requirements + which was only added to pull a Xine bugfix. + - New patch, 70_autoconf, run autoconf. + - Drop patch 40_lirc_freeconfig, merged upstream. + * Wrap build-deps and deps. + * Fix some ${binary:Version} uses in Arch: all packages. + * Sprinkle some ${misc:Depends}. + * Bump up Debhelper compatibility level to 5. + + -- Loic Minier Fri, 01 Jun 2007 15:36:12 +0200 + +totem (2.18.1-1) experimental; urgency=low + + * Include the new check-dist Makefile to prevent accidental uploads to + unstable; bump build-dep on gnome-pkg-tools to >= 0.10. + * New upstreeam release; no API change. + + -- Loic Minier Wed, 04 Apr 2007 17:26:55 +0200 + +totem (2.18.0-1) experimental; urgency=low + + * New upstream major stable release; with API additions. + - Pass --enable-xine to the Xine configure and drop the --enable-gstreamer + from the gstreamer configure. + - Prefer totem-gstreamer over totem-xine in the dependencies of totem. + - Bump up shlibs to >= 2.17.5. + - Configure with --disable-run-in-source-tree; change --enable-mozilla + --with-browser-plugins=xulrunner into --with-gecko=xulrunner. + - Bump up build-deps and existing deps to libglib2.0-dev >= 2.12.0, + libgtk2.0-dev >= 2.10.0, libgnomevfs2-dev >= 2.9.92, gnome-icon-theme >= + 2.15.90, libdbus-glib-1-dev >= 0.61, dbus >= 0.61, libxine-dev >= 1.1.4, + libgstreamer0.10-dev >= 0.10.6, libgstreamer-plugins-base0.10-dev >= + 0.10.7. + - Add a build-dep on libgnome2-dev >= 2.14.0. + - Add deps on gnome-icon-theme >= 2.15.90. + - Build-depend on gnome-doc-utils. + * Configure with --disable-scrollkeeper. + * Drop INSTALL_PROGRAM, dh_strip handles this. + * Cleanups. + * Let totem-gstreamer recommend gnome-control-center >= 2.15.90 for + gnome-sound-properties; conflict with gnome-control-center << 2.15.90 as + the bundled gnome-sound-properties is not aware of GStreamer profiles. + * Add a totem-gstreamer.README.Debian to document setting the output sink. + * Build-depend on librsvg2-dev and librsvg2-common >= 2.16.0-2 to make the + package autobuildable. + + -- Loic Minier Fri, 23 Mar 2007 11:53:24 +0100 + +totem (2.16.6-1) unstable; urgency=medium + + * New upstream stable release; bug fixes and translations. + - Drop patch 30_dlopen_noremove_dbus_glib, merged upstream. + + -- Loic Minier Mon, 19 Mar 2007 15:33:08 +0100 + +totem (2.16.5-3) unstable; urgency=medium + + [ Sebastien Bacher ] + * debian/patches/30_dlopen_noremove_dbus_glib.dpatch: + - fix "crash because NPPVpluginKeepLibraryInMemory is broken in gecko", + patch from Alexander Sack (GNOME bug #415389) + + [ Loic Minier ] + * Urgency medium. + + -- Loic Minier Thu, 8 Mar 2007 14:51:55 +0100 + +totem (2.16.5-2) unstable; urgency=low + + * Upload to unstable; drop dist-check. + + -- Loic Minier Sat, 3 Feb 2007 14:58:22 +0100 + +totem (2.16.5-1) experimental; urgency=low + + * New upstream stable release; bug fixes and translation updates; no API or + ABI change. + + -- Loic Minier Mon, 29 Jan 2007 17:55:00 +0100 + +totem (2.16.4-3) UNRELEASED; urgency=low + + [ Sven Arvidsson ] + * Add upstream ChangeLog, NEWS and README. (Closes: #404362) + * Remove unnecessary upstream TODO. + + [ Loic Minier ] + * Add a get-orig-source target to retrieve the upstream tarball. + + -- Loic Minier Sat, 13 Jan 2007 22:51:13 +0100 + +totem (2.16.4-2) unstable; urgency=low + + * Build-depend on libxtst-dev, thanks Sven Arvidsson + (closes: #315926). + + -- Josselin Mouette Thu, 30 Nov 2006 14:16:44 +0100 + +totem (2.16.4-1) unstable; urgency=low + + * New upstream stable release; no API change; fixes for session saving (now + correctly restored, closes: #399983, and with support for the width of the + sidebar), some translation cleanups. + + -- Loic Minier Wed, 29 Nov 2006 21:41:02 +0100 + +totem (2.16.3-3) unstable; urgency=high + + * Add symlinks in the iceweasel plugins directory; symlinks for the firefox + plugins dir are still installed for compatibility with local firefox debs + and backwards-compatibility. + * Update description to mention Iceweasel instead of Firefox. + + -- Loic Minier Tue, 21 Nov 2006 17:31:59 +0100 + +totem (2.16.3-2) unstable; urgency=low + + * Do not build-depend on libhal-dev for kfreebsd-i386 and kfreebsd-amd64; + build-depend on libcam-dev instead; thanks Petr Salinger; closes: #399091. + * Drop useless libnautilus-burn-dev build-dep; thanks Bastien Nocera. + + -- Loic Minier Sat, 18 Nov 2006 10:03:47 +0100 + +totem (2.16.3-1) unstable; urgency=low + + * New upstream release; no API change. + + -- Loic Minier Tue, 14 Nov 2006 17:38:27 +0100 + +totem (2.16.2-4) unstable; urgency=low + + * GNU/kFreeBSD support thanks Aurelien Jarno; closes: #391307. + - New dpatch, 30_kfreebsd_gnu, to use sys/cdio.h and sys/disklabel.h under + FreeBSD and mntent.h under Linux. + * Update 30_kfreebsd_gnu dpatch for totem 2.16.2. + + -- Loic Minier Mon, 6 Nov 2006 18:24:35 +0100 + +totem (2.16.2-3) unstable; urgency=low + + * Fix copyright to mention the LGPL for the Totem Playlist parser library, + "plparser", and the excemption for proprietary GStreamer plugins; thanks + Thadeu Lima de Souza Cascardo; closes: #396549. + + -- Loic Minier Wed, 1 Nov 2006 15:43:30 +0100 + +totem (2.16.2-2) unstable; urgency=low + + * Upload to unstable. + + -- Loic Minier Thu, 19 Oct 2006 11:57:54 +0200 + +totem (2.16.2-1) experimental; urgency=low + + * New upstream release; no API change. + + -- Loic Minier Mon, 2 Oct 2006 15:52:01 +0200 + +totem (2.16.1-1) experimental; urgency=low + + [ Guilherme de S. Pastore ] + * New upstream release. + * debian/watch: updated. + + [ Loic Minier ] + * Add debian/test.html, sample javascript integration of the gecko plugin. + * Re-add Firefox symlinks as these are required after all. + * New upstream release; with API additions. + - Bump libtotem-plaparser1 shlibs to >= 2.16.1. + - Install new plugin flavor, MullY. + + -- Loic Minier Fri, 8 Sep 2006 09:14:19 +0200 + +totem (1.5.92-1) experimental; urgency=low + + * Fix changelog of 1.5.91-1; hal 0.6 is not released yet, but upstream has a + safety check just in case it would break API/ABI. + * New upstream development release. + - Drop 10_dont-clean-totem-schemas-in dpatch, merged upstream. + + -- Loic Minier Fri, 25 Aug 2006 22:04:46 +0200 + +totem (1.5.91-2) experimental; urgency=low + + * Bump shlibs to libtotem-plparser1 >= 1.5.1. + * Pass "-L libtotem-plparser1" and "-l debian/libtotem-plparser1/usr/lib" + to dh_shlibdeps for the other packages to see the lib and use the shlibs. + + -- Loic Minier Sun, 13 Aug 2006 15:19:01 +0200 + +totem (1.5.91-1) experimental; urgency=low + + * New upstream development releases; with API additions. + - Target at experimental. + - Bump up libgstreamer0.10-dev and libgstreamer-plugins-base0.10-dev + build-deps to >= 0.10.1. + - Bump up libglib2.0-dev build-dep to >= 2.8.0. + - Bump up libxine-dev build-dep to >= 1.1.2. + - Add a build-dep on libgconf2-dev. + - Rename --with-mozilla configure flag to --with-browser-plugins. + - Add a build-dep on shared-mime-info (>= 0.17). + - Add a build-dep on libhal-dev (>= 0.5). + - Drop 09_maintainer-mode dpatch as upstream now calls + GNOME_MAINTAINER_MODE_DEFINES which requires AM_MAINTAINER_MODE. + - Drop 60_mandatory-relibtoolizing dpatch which isn't required anymore. + - Update symlinks and installation steps for the split in 4 distinct + plugins. + - New dpatch, 10_dont-clean-totem-schemas-in, to workaround an upstream + bug preventing two successive builds. + - Fixes playing of streams with mms:// URL lists. (Closes: #382603) + * Ship the *.xpt files as recommended by upstream. + * Only symlink the plugin in /usr/lib/mozilla as Firefox and XULRunner are + expected to look there too. + + -- Loic Minier Sun, 13 Aug 2006 14:28:00 +0200 + +totem (1.4.5-1) unstable; urgency=low + + * New upstream release; no API changes. + + -- Loic Minier Tue, 12 Sep 2006 10:41:57 +0200 + +totem (1.4.4-1) unstable; urgency=low + + [ Josselin Mouette ] + * Make the package binNMU-able by making the arch-all packages depend + only on >= ${Source-Version} arch-any packages. + * Make totem-mozilla depend on dbus. + + [ Loic Minier ] + * Use ${source:Version} and ${binary:Version} because of the totem-mozilla + Recommend; build-depend on dpkg-dev >= 1.13.19. + * Let totem-xine also Recommend totem-mozilla. + * New upstream release. + - Drop the 11_configure-drop-mozilla-link-flags dpatch, merged upstream. + - Update 60_mandatory-relibtoolizing dpatch. + - Fix the moves of the mozilla plugin since upstream now installs in + /usr/lib/mozilla/plugins, whatever the gecko engine. + + -- Loic Minier Tue, 8 Aug 2006 14:13:44 +0200 + +totem (1.4.3-1) unstable; urgency=low + + * Fix bashishm in mv "foo.{x,y}" snippet executed by $SHELL, thanks Julien + Danjou. (Closes: #377367) + * Drop 10_configure-force-xulrunner dpatch as --with-mozilla=xulrunner is + enough to select the appropriate Gecko. + * New upstream release. + - Update 60_mandatory-relibtoolizing dpatch. + + -- Loic Minier Thu, 13 Jul 2006 13:42:08 +0200 + +totem (1.4.2-1) experimental; urgency=low + + * Upload to experimental for now as the package is frozen in unstable due to + a big transition, but some users requested the fixed package. + * Set libtotem-plparser1-dbg Priority to extra. + [debian/control, debian/control.in] + * New dpatch, 09_maintainer-mode, to use AM_MAINTAINER_MODE for safety. + * Update 60_mandatory-relibtoolizing dpatch to also intltoolize as this is + required with intltool 0.35. (Closes: #372529) + * Bump up Standards-Version to 3.7.2. + * New upstream release. + - Lower libgnomevfs2-dev build-dep to >= 2.8.2 + - Bump up gstreamer0.10-plugins-base build-dep to >= 0.10.7. + - Drop 30_totem-mozilla-types dpatch, merged upstream. + - Update 60_mandatory-relibtoolizing dpatch. + * Build-depend on autotools-dev for the config.guess / config.sub update + snippet to work. + + -- Loic Minier Sat, 8 Jul 2006 21:34:16 +0200 + +totem (1.4.1-2) unstable; urgency=low + + * debian/patches/30_totem-mozilla-types.dpatch + - Added. Correct the Bool types used by the totem-mozilla plugin. Fixes the + mozilla plugin on big-endian architectures. + + -- Sjoerd Simons Sun, 4 Jun 2006 22:16:38 +0200 + +totem (1.4.1-1) unstable; urgency=low + + [ Guilherme de S. Pastore ] + * New upstream release. + * debian/patches: + - 00list: updated. + - 06_volume_icons_change.dpatch, 07_no_mms_to_mmsh_change.dpatch, + 08_aspect_ratio_fix.dpatch, + 09_play_protocol_not_listed_by_firefox.dpatch: removed, applied upstream. + + [ Loic Minier ] + * Update the mandatory relibtoolizing patch... + [debian/patches/60_mandatory-relibtoolizing.dpatch] + * Move common configure flags to COMMON_CONFIGURE_FLAGS and add + --disable-maintainer-mode to them. + [debian/rules] + * Recommend totem-mozilla and not totem-gstreamer-xul-plugin. + [debian/control, debian/control.in] + * Promote gstreamer0.10-plugins-ugly and gstreamer0.10-ffmpeg from Suggests + to Recommends. + [debian/control, debian/control.in] + * Remove what looks useless and now bogus deps on xlibs. (Closes: #370089) + [debian/control, debian/control.in] + + -- Loic Minier Thu, 25 May 2006 21:09:34 +0200 + +totem (1.4.0-1) unstable; urgency=low + + [ Gustavo Franco ] + * New upstream release. + * debian/control: + - intltool added in build-depends field + - libnautilus-burn-dev build-depends downgraded + - libtotem-plparser1 added, dropping libtotem-plparser0 (due to + SONAME change) + - gstreamer0.8 related dependencies bumped up to gstreamer0.10 + - Uploaders field sync with gnome-pkg-tools + - Standards-Version bumped up to 3.7.0 + * debian/rules: + - minor changes to fix the build (e.g: libtotem-plparser1 bits) + - fix '*.la' removal from all the binaries + - config.{guess,sub} unneeded copy removed from clean target + * debian/patches/01_totem_playlist_add_fix.dpatch dropped (merged upstream) + * debian/patches/08_firefox-plugin-fix.dpatch dropped (merged upstream) + * Patches merged from Ubuntu: + * debian/patches/06_volume_icons_change.dpatch: + - patch from CVS, don't use the mute icon for non muted volume + * debian/patches/07_no_mms_to_mmsh_change.dpatch: + - patch from CVS, to automatically change mms to mmsh + * debian/patches/08_aspect_ratio_fix.dpatch: + - patch from upstream CVS, work by j^ , fix the aspect + ratio setting usage + * debian/patches/09_play_protocol_not_listed_by_firefox.dpatch: + - patch from upstream, work by Gary Coady , fix the + playing of protocols not listed by firefox + + [ Gustavo Noronha Silva ] + * debian/patches/01_totem_playlist_add_fix.dpatch: + - patch by Thadeu Lima de Souza Cascardo + to fix crash on playlist add (Closes: #349357) + * debian/control.in, debian/rules: + - add xulrunner plugins for totem as new packages (Closes: #321400) + - added libxul-dev, and xulrunner (for xpidl) to Build-Deps + + [ Loic Minier ] + * Trash all *.a and *.la files not only from debian/totem-gstreamer/usr/lib, + but from debian/totem-gstreamer and debian/totem-xine altogether, except + for debian/totem-xine/usr/lib/*.a. + [debian/rules] + * Remove the now useless rm calls on "*a" files. + [debian/rules] + * Remove config.guess and config.sub updating patch as cdbs takes care of + this and hence fix clean target. + [debian/rules] + * Bump libgnomevfs2-dev build-dep to >= 2.9.92 per configure.ac. + [debian/control, debian/control.in] + * Fix config.sub / config.guess copying over, even if it's useless. + [debian/rules] + * Drop useless dh_installdirs calls. + [debian/rules] + * Remove *-xul packages in favor of a new totem-mozilla package, arch: all. + [debian/control, debian/control.in] + * Permit "| www-browser" in totem-mozilla's Recommends too. + [debian/control, debian/control.in] + * Add symlinks in /usr/lib/{firefox,mozilla,xulrunner}/plugins to + the mozilla plugin below /usr/lib/totem. + [debian/totem-mozilla.links] + * Install the mozilla plugin in /usr/lib/totem in totem-xine and + totem-gstreamer, drop anything else from /usr/lib/xulrunner. + [debian/rules] + * Add new patch to force usage of xulrunner, even if mozilla, firefox, or + seamonkey are available; WARNING: requires relibtoolizing. + [debian/patches/00list, + debian/patches/10_configure-force-xulrunner.dpatch] + * Add new patch to stop linling against mozilla libs (-lxpcom -lplds4 -lplc4 + -lnspr4) by splitting the PKG_CHECK_MODULES calls in configure.in; + WARNING: requires relibtoolizing. + [debian/patches/00list, + debian/patches/11_configure-drop-mozilla-link-flags.dpatch] + * Relibtoolize, as required by the preceding patches. + [debian/patches/00list, debian/patches/60_mandatory-relibtoolizing.dpatch] + * Use similar definitions as CDBS for DEB_MAKE_INVOKE and DEB_MAKE_ENVVARS + and use $(DEB_MAKE_INVOKE) instead of $(MAKE) to call make, fixes warnings + on schema installation. + [debian/rules] + + -- Loic Minier Sat, 6 May 2006 18:38:39 +0200 + +totem (1.2.1-4) unstable; urgency=low + + * Simple rebuild to get rid of references to Xcursor.la, and Xrender.la. + + -- Loic Minier Tue, 2 May 2006 16:09:22 +0200 + +totem (1.2.1-3) unstable; urgency=low + + * debian/patches/08_firefox-plugin-fix.dpatch: + - upstream patch to fix the firefox plugin crasher + + -- Sebastien Bacher Fri, 13 Jan 2006 00:12:49 +0100 + +totem (1.2.1-2) unstable; urgency=low + + * Upload to unstable. + + -- Gustavo Noronha Silva Mon, 9 Jan 2006 22:58:02 -0200 + +totem (1.2.1-1) experimental; urgency=low + + [ Loic Minier ] + * Update watch file. [debian/watch] + + [ Sjoerd Simons ] + * New upstream release + * Recommend gstreamer-theora and ffmpeg. + * Depend on llibmusicbrainz4-dev >= 2.1.1-4.1 to get the C++ transitioned + version. + * Build-Depend on libdbus-glib-1-dev so totem can disable gnome-screensaver + via dbus. + + -- Sjoerd Simons Tue, 20 Dec 2005 12:09:07 +0100 + +totem (1.2.0-1) experimental; urgency=low + + * New upstream release. + * Version the libmusicbrainz4-dev build-dep to >= 2.1.1-3.1 to get a + C++ transitionned version. [debian/control, debian/control.in] + * Drop hardcoded libtotem-plparser0 depends in totem-xine and + totem-gstreamer. [debian/control, debian/control.in] + * Menu icon fixes: [debian/totem-gstreamer.install, + debian/totem-gstreamer.menu, debian/totem-xine.install, + debian/totem-xine.menu, debian/totem.xpm] + - Convert the upstream PNG icon to XPM. + - Install totem.xpm in /usr/share/pixmaps for totem-xine and + totem-gstreamer. + - Update totem-gstreamer and totem-xine menu files. + * Only update config.guess and config.sub if we're in a tree with these + files. [debian/rules] + + -- Loic Minier Wed, 14 Sep 2005 13:03:01 +0200 + +totem (1.1.5-1) experimental; urgency=medium + + * Ship missing shlibs. + * New upstream release. + + -- Loic Minier Sun, 11 Sep 2005 11:37:42 +0200 + +totem (1.1.4-1) experimental; urgency=low + + * debian/control.in: + - new packages for libtotem-plparser. + - updated the Build-Depends. + - updated the Standards-Version. + * debian/rules: + - move libtotem-plparser files to the right place. + * debian/watch: + - updated. + + -- Sebastien Bacher Sat, 13 Aug 2005 14:24:36 +0200 + +totem (1.0.4-1) unstable; urgency=low + + * New upstream version: + - say that we support 3GPP files. + - avoid resizing on startup before we really show the window. + - fix a crash when 'Hide controls' is called while starting up. + - fix crashes when playing back some files with errors (xine-lib). + - fix hand icon not appearing on DVD menus in fullscreen (xine-lib). + - fix detection of still images with newer xine-lib. + + -- Sebastien Bacher Tue, 28 Jun 2005 12:14:31 +0200 + +totem (1.0.3-1) unstable; urgency=low + + * New upstream version. + + -- Sebastien Bacher Fri, 10 Jun 2005 01:08:45 +0200 + +totem (1.0.2-1) experimental; urgency=low + + * New upstream version. + + -- Sebastien Bacher Mon, 2 May 2005 18:38:08 +0200 + +totem (1.0.1-1) experimental; urgency=low + + * New upstream version. + * debian/control.in: + - updated the requirements. + * debian/patches/02_crashnull.dpatch, + debian/patches/10_vcd_hang.dpatch: + - the new version fixes that. + * debian/watch: + - updated. + + -- Sebastien Bacher Sat, 9 Apr 2005 17:39:02 +0200 + +totem (0.100-5) unstable; urgency=low + + * Rebuilt for the libhowl transition (Closes: #298872). + * debian/control.in: + - updated the gnome-vfs requirements. + + -- Sebastien Bacher Thu, 10 Mar 2005 19:14:51 +0100 + +totem (0.100-4) unstable; urgency=low + + * debian/patches/00list: + - list the new patch (Closes: #289470). + + -- Sebastien Bacher Wed, 16 Feb 2005 15:09:35 +0100 + +totem (0.100-3) unstable; urgency=low + + * debian/patches/02_crashnull.dpatch: + - updated with the patch from Josselin Mouette . + + -- Sebastien Bacher Sun, 13 Feb 2005 12:40:17 +0100 + +totem (0.100-2) unstable; urgency=low + + * debian/patches/01_gst-plugins-0.8.5.dpatch: + - removed, the new gst-plugins is in the archive now. + * debian/patches/02_crashnull.dpatch: + - added, fix the crash on system without any cdrom drive (Closes: #289470). + + -- Sebastien Bacher Thu, 10 Feb 2005 19:05:00 +0100 + +totem (0.100-1) unstable; urgency=low + + * New upstream release: + - implement session management support, remove automatic save/restore of + the current playlist (Closes: #255320). + - GStreamer DVD support. + - make Ctrl+arrows seek further in streams. + - turn the cursor into a hand when hovering a menu in a DVD (xine-lib). + - zoom in/out support (xine-lib). + - implement buffering (GStreamer). + - enable visualisation effects (GStreamer) (Closes: #269910). + - make the properties page work (GStreamer) and misc. fixes (all) + (Hoary: #1453). + - add Album metadata to the properties windows. + - hide the video properties if a file is an audio-only one. + - work-around a bug in GConf that caused playbacks + to be very dark (xine-lib). + - add 4.1-channel audio support. + - fix parsing of sub-directories, and .pls playlists with relative paths. + * debian/control.in: + - totem-gstreamer and totem-xine Provides totem (Closes: 287981). + - updated the descriptions about the subtitle (Closes: #285153). + * debian/patches/01_gst-plugins-0.8.5.dpatch: + - removed, this fix is in the new version. + * debian/watch: + - updated. + + -- Sebastien Bacher Sat, 8 Jan 2005 16:45:28 +0100 + +totem (0.99.22-1) unstable; urgency=low + + * New upstream release: + - show the popups in fullscreen (GStreamer). + - fix multiple volume icons appearing in the playlist. + - automatically load text subtitles (xine-lib). + - handle Drag'n'drop from Mozilla/Netscape. + - implement Drag from the Screenshot dialog to the file manager. + - make it possible to play a DVD from the hard-disk (xine-lib). + - fix getting the CD type when the drive doesn't implement it. + - add an error message when the audio device is busy (GStreamer). + - make drag'n'drop work again after double-clicking a playlist entry. + * debian/control.in: + - updated the Build-Depends and Depends. + * debian/patches/01_gst-plugins-0.8.5.dpatch: + - make the new version working well with gst-plugins 0.8.5. + + -- Sebastien Bacher Mon, 22 Nov 2004 15:57:25 +0100 + +totem (0.99.20-2) experimental; urgency=low + + * debian/control.in: + - Build-Depends on libgstreamer-plugins0.8-dev (Closes: #279038). + + -- Sebastien Bacher Sun, 31 Oct 2004 12:38:09 +0100 + +totem (0.99.20-1) experimental; urgency=low + + * New upstream release: + - fix a crash when closing Totem with non-file locations. + - set the current file chooser paths correctly. + - fix "Play Disc..." when the detected device is a symbolic link. + - fix detection of some DVDs, and speed-up disc type detection. + - add bitrate support to the GStreamer backend. + * debian/control.in: + - updated the Build-Depends. + + -- Sebastien Bacher Wed, 27 Oct 2004 19:27:57 +0200 + +totem (0.99.19-1) experimental; urgency=low + + * New upstream release. + * debian/control.in: + - updated the debhelper Build-Depends to get dh_desktop. + * debian/totem-gstreamer.postinst, debian/totem-xine.postinst: + - dh_desktop handles the mime update now. + * debian/patches/01_automake.dpatch: + - removed. + * debian/rules: + - use dh_desktop. + + -- Sebastien Bacher Sun, 17 Oct 2004 14:51:31 +0200 + +totem (0.99.17-2) experimental; urgency=low + + * debian/control.in: + - updated the Depends on nautilus-cd-burner (Closes: #275886). + + -- Sebastien Bacher Sun, 10 Oct 2004 22:28:12 +0200 + +totem (0.99.17-1) experimental; urgency=low + + * New upstream release: + - great overhaul of the GStreamer backend. + - fix parsing of Real Media and ASF playlists. + - support for writing m3u playlists, including relative paths. + * debian/control.in: + - updated the Build-Depends. + - updated the Standards-Version. + * debian/patches/01_automake.dpatch: + - run automake to fix the broken build for the gstreamer backend. + + -- Sebastien Bacher Thu, 7 Oct 2004 22:13:20 +0200 + +totem (0.99.16-1) unstable; urgency=low + + * New upstream release. + * debian/control.in: + - totem depends on totem-xine | totem-gstreamer (Closes: #270985). + * debian/patches/20_use_alternatives.dpatch: + - patch from Emil Soleyman-Zomalan to convert the + video-thumbnailer to an alternative. (Closes: #270222). + + -- Sebastien Bacher Fri, 17 Sep 2004 12:17:22 +0200 + +totem (0.99.15.1-2) unstable; urgency=low + + * debian/control.in: + - updated the Build-Depends on libgnomeui-dev (Closes: #263661). + + -- Sebastien Bacher Thu, 5 Aug 2004 16:59:26 +0200 + +totem (0.99.15.1-1) unstable; urgency=low + + * New upstream release. + - add a MimeType line to the desktop file (for the new MIME system). + * debian/control.in: + - updated the Build-Depends. + * debian/rules: + - added a call to dh_gconf. + * debian/totem-gstreamer.postinst, debian/totem-xine.postinst: + - removed schemas registration code, dh_gconf handles that. + - run update-desktop-database if available. + + -- Sebastien Bacher Sat, 24 Jul 2004 13:23:10 +0200 + +totem (0.99.13-1) unstable; urgency=low + + * New upstream release + - Handle Ctrl+P to show the playlist even in hidden controls mode + (Closes: #252604). + * debian/control.in + - Updated the totem-gstreamer description to remove references to xine + (Closes: #255420). + + -- Sebastien Bacher Sat, 3 Jul 2004 00:01:52 +0200 + +totem (0.99.12-2) unstable; urgency=low + + * Split the package, now we have: + - totem-xine using the xine backend. + - totem-gstreamer using the gstreamer backend (Closes: #246058). + - totem, dummy package depending on totem-xine (since it seems to be + a better default for the moment). + * debian/control.in: + - updated for the split. + * debian/patches: + - switched to dpatch. + * debian/rules: + - switched back to debhelper since cdbs doesn't support multibuild for + the moment. + * debina/template: + - removed debconf's template for the moment, gstreamer-media is not ready + to be a suitable alternative for thumbnails (Closes: #235857, #252941). + * debian/totem.1: + - removed, the manpage is included in the upstream tarball now. + + -- Sebastien Bacher Tue, 8 Jun 2004 15:16:34 +0200 + +totem (0.99.12-1) unstable; urgency=low + + * New upstream release + + turn off vanity's build. + + -- Sebastien Bacher Sun, 6 Jun 2004 03:12:19 +0200 + +totem (0.99.11-2) unstable; urgency=low + + * Upload in unstable. + + -- Sebastien Bacher Wed, 26 May 2004 23:53:54 +0200 + +totem (0.99.11-1) experimental; urgency=low + + * New upstream release. + * debian/patches/stock-icon.patch, debian/patches/totem-rwcrash-fix.patch: + + removed since included in new version. + * debian/control.in: + + updated Build-Depends. + + -- Sebastien Bacher Sat, 1 May 2004 23:28:02 +0200 + +totem (0.99.10-3) experimental; urgency=low + + * debian/patches/stock-icon.patch: + + patch from Michel Daenzer that makes all installed + icons loadable by totem (Closes: 243334). + + -- Sebastien Bacher Tue, 27 Apr 2004 00:21:22 +0200 + +totem (0.99.10-2) experimental; urgency=low + + * debian/patches/totem-rwcrash-fix.patch: + + new patch to fix a crasher. + + -- Sebastien Bacher Sun, 18 Apr 2004 17:30:38 +0200 + +totem (0.99.10-1) experimental; urgency=low + + * New upstream release. + * debian/control.in: + + updated Build-Depends. + * Included Brazilian Portuguese debconf template from Andre Luis Lopes + (Closes: #235384). + * Included new manpage from Andre Lehovich + (Closes: #241814). + + -- Sebastien Bacher Sun, 11 Apr 2004 00:46:20 +0200 + +totem (0.99.9-4) unstable; urgency=low + + * Fixed schemas registration (should fix the problem with colors). + + -- Sebastien Bacher Sun, 22 Feb 2004 19:57:11 +0100 + +totem (0.99.9-3) unstable; urgency=low + + * debian/patches/vcd_hang.patch: + + patch to fix hang on start with VCD plugin. + + -- Sebastien Bacher Tue, 17 Feb 2004 19:36:46 +0100 + +totem (0.99.9-2) unstable; urgency=low + + * GNOME team upload. + * [debian/control.in] Added build dependency on scrollkeeper. + (Closes: #232588) + + -- J.H.M. Dassen (Ray) Sat, 14 Feb 2004 10:10:04 +0100 + +totem (0.99.9-1) unstable; urgency=low + + * New upstream release + + fix bug with directory selection in the file selector (Closes: #225903). + + -- Sebastien Bacher Fri, 13 Feb 2004 19:47:26 +0100 + +totem (0.99.8-3) unstable; urgency=low + + * Rebuilt with xfree 4.2. + + -- Sebastien Bacher Sun, 18 Jan 2004 01:01:37 +0100 + +totem (0.99.8-2) unstable; urgency=low + + * Fixed a typo in the french debconf translation (Closes: #227311). + + -- Sebastien Bacher Sat, 17 Jan 2004 16:58:34 +0100 + +totem (0.99.8-1) unstable; urgency=low + + * New upstream release. + * debian/control: + + updated Build-Depends. + + updated for the GNOME Team. + * debian/rules: + + updated for the GNOME Team. + * Added french template (Closes: #218730). + * Changed the template to remove the "yes" from the description + (Closes: #218117). + + -- Sebastien Bacher Sun, 9 Nov 2003 14:03:46 +0100 + +totem (0.99.7-1) unstable; urgency=low + + * New upstream release. + * Added debconf option to use or not totem as the nautilus video thumbnailer. + (Closes: #212555). + + -- Sebastien Bacher Thu, 16 Oct 2003 01:01:24 +0200 + +totem (0.99.6-1) unstable; urgency=low + + * New upstream release. + + playlist improvements (Closes: #211833). + + fixed crash on eject (Closes: #211968). + + -- Sebastien Bacher Sun, 12 Oct 2003 18:34:48 +0200 + +totem (0.99.5-1) unstable; urgency=low + + * New upstream release + + disable xscreensaver (Closes: #208175). + + -- Sebastien Bacher Mon, 15 Sep 2003 17:55:44 +0200 + +totem (0.99.4-1) unstable; urgency=low + + * New upstream release. + + -- Sebastien Bacher Thu, 4 Sep 2003 15:41:46 +0200 + +totem (0.99.3-1) unstable; urgency=low + + * New upstream release. + * Switched to cdbs. + * Updated menu icon. + * Updated description (Closes: #207007). + + -- Sebastien Bacher Sun, 31 Aug 2003 19:53:10 +0200 + +totem (0.99.2-1) unstable; urgency=low + + * New upstream release. + - Fixed XFree86 lockup on start bug (Closes: #200101). + + -- Sebastien Bacher Sat, 5 Jul 2003 14:02:13 +0000 + +totem (0.99.1-2) unstable; urgency=low + + * Build with xfree 4.2 instead 4.3. (Closes: #199335). + + -- Sebastien Bacher Tue, 1 Jul 2003 23:49:57 +0200 + +totem (0.99.1-1) unstable; urgency=low + + * New upstream release. + + -- Sebastien Bacher Mon, 23 Jun 2003 11:49:55 +0200 + +totem (0.99.0-2) unstable; urgency=low + + * Added libgnome-desktop-dev to Build-Depends (Closes: #196224). + + -- Sebastien Bacher Thu, 5 Jun 2003 17:11:25 +0200 + +totem (0.99.0-1) unstable; urgency=low + + * New upstream release + - Fixed DVD/CD playing (Closes: #195090). + * Updated to standards version 3.5.10.0. + + -- Sebastien Bacher Sat, 31 May 2003 19:19:39 +0200 + +totem (0.98.0-1) unstable; urgency=low + + * New upstream relase. + + -- Sebastien Bacher Sun, 11 May 2003 21:13:06 +0200 + +totem (0.97.0-1) unstable; urgency=low + + * New upstream release. + - Fixed the thumbnailer (Closes: #188979). + + -- Sebastien Bacher Tue, 29 Apr 2003 22:13:05 +0200 + +totem (0.96.0-1) unstable; urgency=low + + * New upstream release. + * Changed section to gnome. + * Updated to standards version 3.5.9. + * Updated Description to add Author and Homepage. + * Added Depends on ${misc:Depends}. + * Updated Build-Depends. + + -- Sebastien Bacher Thu, 10 Apr 2003 11:17:49 +0200 + +totem (0.95.1-3) unstable; urgency=low + + * This time the schema file should be ok ... + + -- Sebastien Bacher Fri, 28 Mar 2003 21:54:13 +0100 + +totem (0.95.1-2) unstable; urgency=low + + * Fixed schema file (Closes: #185137). + + -- Sebastien Bacher Thu, 27 Mar 2003 17:09:15 +0100 + +totem (0.95.1-1) unstable; urgency=low + + * New upstream release. + + -- Sebastien Bacher Wed, 26 Feb 2003 23:43:07 +0100 + +totem (0.95.0-1) unstable; urgency=low + + * New upstream release. + * Updated to standards-version 3.5.8. + + -- Sebastien Bacher Wed, 26 Feb 2003 22:01:48 +0100 + +totem (0.90.0-5) unstable; urgency=low + + * Added "liblircclient-dev" and "libirman-dev" to Build-Depends (Closes: #182195). + + -- Sebastien Bacher Sun, 23 Feb 2003 17:47:25 +0100 + +totem (0.90.0-4) unstable; urgency=low + + * Apply patch to support playing straight from amazon (Closes: #181485). + + -- Sebastien Bacher Thu, 20 Feb 2003 17:19:18 +0100 + +totem (0.90.0-3) unstable; urgency=low + + * Register totem-video-thumbnail schemas (Closes: #179343). + + -- Sebastien Bacher Wed, 5 Feb 2003 01:13:54 +0100 + +totem (0.90.0-2) unstable; urgency=low + + * Update README file. + * Update Build-Depends. + * Remove obsolete depend on xine-dvdnav (Closes: #179160). + + -- Sebastien Bacher Fri, 31 Jan 2003 10:59:36 +0100 + +totem (0.90.0-1) unstable; urgency=low + + * New upstream release. + * Should close the FTBFS (Closes: #176530). + * Updated Build-Depends. + + -- Sebastien Bacher Wed, 29 Jan 2003 20:39:02 +0100 + +totem (0.13.1-1) unstable; urgency=low + + * New upstream release + * Updated xine-lib Depends. + * Totem doesn't use xine logo any more (Closes: #160429). + * Updated xpm icon for debian menu. + * Updated to standards-version 3.5.7. + + -- Sebastien Bacher Fri, 3 Jan 2003 12:34:20 +0100 + +totem (0.11.0-1) unstable; urgency=low + + * New upstream release (Closes: #161818). + + -- Sebastien Bacher Mon, 28 Oct 2002 13:02:10 +0100 + +totem (0.10.0-3) unstable; urgency=low + + * Added xine-dvdnav to Depends (and not to Build-Depends ...). + + -- Sebastien Bacher Fri, 25 Oct 2002 01:17:52 +0200 + +totem (0.10.0-2) unstable; urgency=low + + * Added xine-dvdnav to Build-Depends. + + -- Sebastien Bacher Sun, 20 Oct 2002 00:22:30 +0200 + +totem (0.10.0-1) unstable; urgency=low + + * New upstream release + + -- Sebastien Bacher Mon, 2 Sep 2002 19:14:31 +0200 + +totem (0.9.1-1) unstable; urgency=low + + * Initial Release. + + -- Sebastien Bacher Sat, 24 Aug 2002 15:12:51 +0200 + + --- totem-2.30.2.orig/debian/totem.install +++ totem-2.30.2/debian/totem.install @@ -0,0 +1,6 @@ +debian/bug/control /usr/share/bug/totem/ +debian/tmp/usr/bin +debian/tmp/usr/lib/totem/totem +debian/tmp/usr/lib/totem/totem-plugin-viewer +debian/tmp/usr/lib/nautilus +debian/tmp/usr/share/applications --- totem-2.30.2.orig/debian/control.in +++ totem-2.30.2/debian/control.in @@ -0,0 +1,234 @@ +Source: totem +Section: video +Priority: optional +Maintainer: Ubuntu Desktop Team +XSBC-Original-Maintainer: Sebastien Bacher +Uploaders: @GNOME_TEAM@ +Build-Depends: debhelper (>= 5.0.51~), + cdbs, + gnome-common, + quilt, + python-support (>= 0.6), + libglib2.0-dev (>= 2.22), + libatk1.0-dev (>= 1.29.4), + libgtk2.0-dev (>= 2.19.5), + libunique-dev, + libtotem-plparser-dev (>= 2.29.1), + liblircclient-dev (>= 0.6.6), + libirman-dev (>= 0.4.2), + gnome-pkg-tools (>= 0.10), + scrollkeeper, + libgstreamer0.10-dev (>= 0.10.28.1), + libgstreamer-plugins-base0.10-dev (>= 0.10.26), + gstreamer0.10-tools (>= 0.10.26), + gstreamer0.10-plugins-base (>= 0.10.26), + gstreamer0.10-plugins-good, + librsvg2-dev (>= 2.16.0-2), + librsvg2-common (>= 2.16.0-2), + libnautilus-extension-dev (>= 2.22), + libmusicbrainz4-dev (>= 2.1.1-4.1), + gnome-icon-theme (>= 2.15.90), + libdbus-glib-1-dev (>= 0.61), + intltool (>= 0.40), + autotools-dev, + dpkg-dev (>= 1.13.19), + libgconf2-dev, + shared-mime-info (>= 0.22), + libhal-dev (>= 0.5), + libcam-dev [kfreebsd-i386 kfreebsd-amd64], + libxtst-dev, + libxrandr-dev (>= 1.1.1), + libxxf86vm-dev (>= 1.0.1), + libx11-dev, + x11proto-core-dev, + gnome-doc-utils, + python-dev (>= 2.3), + python-gobject-dev (>= 2.15.3), + python-gtk2-dev (>= 2.13), + python-gst0.10-dev (>= 0.10.11), + python-xdg, + python-rdflib, + libbluetooth-dev [!hurd-i386 !kfreebsd-i386 !kfreebsd-amd64], + libgdata-dev (>= 0.6.0), + liblaunchpad-integration-dev (>= 0.1.17) +Standards-Version: 3.8.4 +Homepage: http://www.gnome.org/projects/totem/ +Vcs-Bzr: https://code.launchpad.net/~ubuntu-desktop/totem/ubuntu + +Package: totem +Architecture: any +Depends: ${shlibs:Depends}, + ${misc:Depends}, + ${python:Depends}, + gstreamer0.10-plugins-base (>= 0.10.26), + gstreamer0.10-alsa | gstreamer0.10-audiosink, + gstreamer0.10-plugins-good (>= 0.10.7), + gstreamer0.10-x, + gnome-icon-theme (>= 2.15.90), + totem-common (>= ${gnome:Version}), + totem-common (<< ${gnome:NextVersion}) +Conflicts: totem (<< 0.99.12-2), + gnome-control-center (<< 2.15.90), + totem-mozilla (<< 2.20.0-3), + totem-gstreamer (<< 2.27.1), + totem-xine (<< 2.27.1) +Replaces: totem-xine (<< 2.27.1), + totem-gstreamer (<< 2.27.1), + totem-common (<< 2.28.1-1) +Provides: totem-xine, + totem-gstreamer +Recommends: totem-mozilla (>= ${source:Version}), + totem-plugins (>= ${source:Version}) +Suggests: gnome-codec-install, + gstreamer0.10-pulseaudio (>= 0.10.16-5), + gstreamer0.10-plugins-ugly, + gstreamer0.10-plugins-bad, + gstreamer0.10-ffmpeg +Description: A simple media player for the GNOME desktop based on GStreamer + Totem is a simple yet featureful media player for GNOME which can read + a large number of file formats. It features : + . + * Shoutcast, m3u, asx, SMIL and ra playlists support + * DVD (with menus), VCD and Digital CD (with CDDB) playback + * TV-Out configuration with optional resolution switching + * 4.0, 5.0, 5.1 and stereo audio output + * Full-screen mode (move your mouse and you get nice controls) with + Xinerama, dual-head and RandR support + * Aspect ratio toggling, scaling based on the video's original size + * Full keyboard control + * Simple playlist with repeat mode and saving feature + * GNOME, Nautilus and GIO integration + * Screenshot of the current movie + * Brightness and Contrast control + * Visualisation plugin when playing audio-only files + * Video thumbnailer for nautilus + * Nautilus properties page + * Works on remote displays + * DVD, VCD and OGG/OGM subtitles with automatic language selection + * Extensible with plugins + +Package: totem-mozilla +Architecture: any +Depends: ${misc:Depends}, + ${shlibs:Depends}, + totem (= ${binary:Version}), + dbus-x11 (>= 0.61) +Recommends: epiphany-browser | www-browser +XB-Npp-Applications: ec8030f7-c20a-464f-9b0e-13a3a9e97384, 92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a +XB-Npp-Name: Totem Mozilla plugin +XB-Npp-MimeType: video/quicktime, video/mp4, image/x-macpaint, image/x-quicktime, application/x-mplayer2, video/x-ms-asf-plugin, video/x-msvideo, video/x-ms-asf, video/x-ms-wmv, video/x-wmv, video/x-ms-wvx, video/x-ms-wm, application/ogg, video/mpeg, audio/wav, audio/x-wav, audio/mpeg +XB-Npp-Description: Watch Movies in your Browser (http://projects.gnome.org/totem/) +XB-Npp-Filename: libtotem- +Description: Totem Mozilla plugin + This package contains the Totem Mozilla plugin, which will + enhance your Gecko-based browser to be able to display movie + clips. + . + This plugin should work for Firefox as well as XULRunner based browsers. + +Package: totem-common +Architecture: all +Depends: ${misc:Depends} +Replaces: totem-xine (<< 2.20.0-3), totem-gstreamer (<< 2.20.0-3) +Description: Data files for the Totem media player + Totem is a simple yet featureful media player for GNOME which can read + a large number of file formats. + . + This package contains common data files and translations. + +Package: totem-dbg +Architecture: any +Section: debug +Priority: extra +Depends: totem (= ${binary:Version}), + ${misc:Depends} +Conflicts: libtotem-plparser1-dbg, libtotem-plparser7-dbg +Description: Debugging symbols for the Totem media player + Totem is a simple yet featureful media player for GNOME which can read + a large number of file formats. + . + This package contains detached debugging symbols. + +Package: totem-plugins +Architecture: any +Depends: totem (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends}, + ${python:Depends}, + python-gobject (>= 2.18), + python-gtk2 (>= 2.13), + python-gconf, + python-gst0.10 (>= 0.10.11), + python-xdg, + python-rdflib, + python-gdbm, + python-httplib2 +Recommends: gnome-settings-daemon +Replaces: totem-xine (<< 2.20.0-3), totem-gstreamer (<< 2.20.0-3) +Suggests: gromit +Description: Plugins for the Totem media player + Totem is a simple yet featureful media player for GNOME which can read + a large number of file formats. + . + This package contains a set of recommended plugins for Totem, which + allow to: + . + * Control Totem with an Infrared remote control + * Control Totem with the keyboard's media player keys + * Keep the Totem window on top of the screen + * Display movie properties + * Deactivate the screensaver when a movie is playing + * Skip to a defined time in the movie + * Set the away status in the instant messenger when a movie is + playing + * Control totem with a mobile phone using the Bluetooth protocol + * Share the current playlist via HTTP + * Search, browse for and play videos from YouTube + * Search, browse for and play videos from the BBC + . + Additional plugins can be written in C, Python or Vala. + +Package: totem-xine +Architecture: all +Depends: totem (>= 2.27.1), + ${misc:Depends} +Description: A simple media player for the GNOME desktop (transitional package) + Totem is a simple yet featureful media player for GNOME which can read + a large number of file formats. + . + This package is a transitional package. + +Package: totem-gstreamer +Architecture: all +Depends: totem (>= 2.27.1), + ${misc:Depends} +Description: A simple media player for the GNOME desktop (transitional package) + Totem is a simple yet featureful media player for GNOME which can read + a large number of file formats. + . + This package is a transitional package. + +Package: totem-plugins-extra +Architecture: any +Depends: totem (= ${binary:Version}), + python-coherence, + ${misc:Depends}, + ${shlibs:Depends}, + python-beautifulsoup, + python-feedparser +Recommends: gromit +Replaces: totem-xine (<< 2.20.0-3), + totem-gstreamer (<< 2.20.0-3), + totem-plugins (<< 2.27.92-0ubuntu2), + totem-plugins-extra (<< 2.27.1-0ubuntu1) +Description: Extra plugins for the Totem media player + Totem is a simple yet featureful media player for GNOME which can read + a large number of file formats. + . + This package contains an extra set plugins for Totem, which allow to: + . + * Annotate the screen with the Gromit tool + * Have a DLNA/UPnP client for Totem powered by Coherence + * Stream BBC programs + . + Additional plugins can be written in C, Python or Vala. --- totem-2.30.2.orig/debian/totem-mozilla.install +++ totem-2.30.2/debian/totem-mozilla.install @@ -0,0 +1 @@ +debian/tmp/usr/lib/mozilla/plugins --- totem-2.30.2.orig/debian/totem.README.Debian +++ totem-2.30.2/debian/totem.README.Debian @@ -0,0 +1,9 @@ +---[ Configuring the output sink + +You can choose your preferred output sink by using gnome-sound-properties (in +the gnome-control-center package), or by editing the GConf key: + /system/gstreamer/0.10/default/musicaudiosink + +The default is to detect your output sink automagically. + + --- totem-2.30.2.orig/debian/totem.xpm +++ totem-2.30.2/debian/totem.xpm @@ -0,0 +1,295 @@ +/* XPM */ +static char *totem32[] = { +/* columns rows colors chars-per-pixel */ +"32 32 257 2", +" c #0036002D0033", +". c #0CF205BE054F", +"X c #0A69088E07CC", +"o c #0B9D0AF70B7E", +"O c #0ECF0F7C1132", +"+ c #0F9B10BD12FF", +"@ c #1054026800A8", +"# c #11D608FB06F2", +"$ c #14860D040B1D", +"% c #11A211D60E03", +"& c #1843117C0E83", +"* c #14FA13561411", +"= c #192014C41318", +"- c #1C561B2C16E8", +"; c #1E0F1A701A4F", +": c #21711E3C1E37", +"> c #35A80ED1065D", +", c #269A24682344", +"< c #293724DE24F4", +"1 c #2C532A6B2C09", +"2 c #318E2ACC2599", +"3 c #34AC2C292B48", +"4 c #378234762B68", +"5 c #3AF2363B2EC1", +"6 c #3AC3396D2CF3", +"7 c #368E33DA35D6", +"8 c #3C1C30B9351E", +"9 c #3C56394D3A23", +"0 c #411939DC3767", +"q c #5C8F296C24A3", +"w c #64622F0E1EB1", +"e c #6C3D2F022631", +"r c #73AF2EA72E2E", +"t c #79783FA73260", +"y c #49A044363EE0", +"u c #50B84BD33B0E", +"i c #765643D233CC", +"p c #424942484258", +"a c #48BB47A94871", +"s c #4B45494E4A58", +"d c #4CF9443D41CB", +"f c #55E24790468B", +"g c #537C49E545CC", +"h c #5AF05A0A415E", +"j c #597F56BA5301", +"k c #5F735A5558B1", +"l c #5B3F5B40562C", +"z c #661C5D7E5420", +"x c #68805D5956EF", +"c c #6C6B5B825C68", +"v c #7A8A556E4A0F", +"b c #6FBD69DA576D", +"n c #6D206BD46025", +"m c #63E164AA6A7D", +"M c #67DD6BCB7E26", +"N c #774E6BAB64BA", +"B c #7DF96FEB7031", +"V c #771973BF64F9", +"C c #75AA77846F32", +"Z c #7CAB74E2738A", +"A c #7FAD7BA679CB", +"S c #8ADF392725FE", +"D c #86E53C0039C8", +"F c #8CAF39983584", +"G c #86E13D3F376D", +"H c #8F2743CF393A", +"J c #8435508E3E97", +"K c #ABCF52003F09", +"L c #82B260394D6E", +"P c #95075EF74BF6", +"I c #827680605D44", +"U c #9F1E6D7D5C19", +"Y c #842B6AD16418", +"T c #841276DA6CEB", +"R c #81427C5B79D8", +"E c #8E9A785C70AB", +"W c #89947C7970E2", +"Q c #8B477CEA7D44", +"! c #93E070E16588", +"~ c #989178B873FA", +"^ c #ACCE58C547CE", +"/ c #B19F56994769", +"( c #B1A95C2643A8", +") c #B1DB5C9D4944", +"_ c #A3D86F875AA0", +"` c #BD4366315105", +"' c #BDA66B6953CE", +"] c #A17E6D8A614A", +"[ c #A59873C460E0", +"{ c #A53F7AB56C16", +"} c #C266684D584A", +"| c #C34F7E885D15", +" . c #CB4F78755490", +".. c #CB7175415E7A", +"X. c #CC82795C5564", +"o. c #D32C799C5D55", +"O. c #D9D57CE15ED3", +"+. c #C86179CA60A4", +"@. c #D31F7FD761E1", +"#. c #DF128021615F", +"$. c #8D1E89C062AE", +"%. c #8B158240644A", +"&. c #8F698D067CF6", +"*. c #934B8FAB670C", +"=. c #95B8874A7EB6", +"-. c #92ED9185685A", +";. c #95E3940B6B66", +":. c #99A992BF6D31", +">. c #9DA195D27124", +",. c #9E3394B67E10", +"<. c #9DF09A1E73F1", +"1. c #A59183A2729B", +"2. c #A6F890067FBC", +"3. c #A2639E2579B9", +"4. c #A9EB9B967C5F", +"5. c #A8F5A3E57F8F", +"6. c #CF7184796493", +"7. c #C2A18FFE792B", +"8. c #D3EA8190660D", +"9. c #DA358CC06DBD", +"0. c #D8CD8FA2753E", +"q. c #DBA18D4970B5", +"w. c #E3CA8E556F30", +"e. c #E1799BDD7EB5", +"r. c #EDB198647DF7", +"t. c #F1168F777D4F", +"y. c #8681894C815E", +"u. c #882A8EC08BB2", +"i. c #895E84268109", +"p. c #85A88ABB9E6A", +"a. c #8E8990509D2D", +"s. c #90DB8D69877D", +"d. c #869793A4A938", +"f. c #899A97BBAE09", +"g. c #949297FEA2AD", +"h. c #958B9B91A817", +"j. c #927D9B4DB63B", +"k. c #A0C88EC282A1", +"l. c #A73B98778929", +"z. c #AC0B9CC38D04", +"x. c #ADBC9EB89298", +"c. c #B7259CF39ADE", +"v. c #AF2EA82985BE", +"b. c #AE05A0CB9036", +"n. c #AE57A8AD8524", +"m. c #AA8BA8EA9914", +"M. c #B2CFA1348418", +"N. c #B7EEAF828E9C", +"B. c #BD24A6EC8E99", +"V. c #B89BA7AC9772", +"C. c #B8D3A85297EA", +"Z. c #BBAFAA7E99F5", +"A. c #B885B3F49694", +"S. c #ABB4A73DB09D", +"D. c #AA1AB0F1ABE9", +"F. c #B8A0AEEAA9BA", +"G. c #B92AA566AA14", +"H. c #BB66AA23A799", +"J. c #BD45B04FB37E", +"K. c #B841B582AD8F", +"L. c #B636B5D4B2DE", +"P. c #B666BD6FB52B", +"I. c #C03CB3EEB380", +"U. c #BE05BAB8B6A7", +"Y. c #C3879B929C15", +"T. c #DB769C8C82C2", +"R. c #C82BAE189976", +"E. c #C2FAB4279E51", +"W. c #C1ECAC69ABAA", +"Q. c #C526B317A246", +"!. c #C247BEA6A672", +"~. c #CBBBB672A67D", +"^. c #CEE3B14BAF8C", +"/. c #CBFCBC4FA570", +"(. c #CDFCBC71AAC5", +"). c #C647BE76BD02", +"_. c #D42AAD2DAA8C", +"`. c #D845B12BAEBA", +"'. c #D1CBBF6FADA0", +"]. c #DBECBD6FAEC5", +"[. c #D4C2B6A6B341", +"{. c #D6ECB9C6B381", +"}. c #DBAEBEA1B27E", +"|. c #E79C99E18123", +" X c #F692936C80D0", +".X c #ED32A38E89FC", +"XX c #E604AD28978E", +"oX c #FBE9A88088AD", +"OX c #FB8DAC608C1F", +"+X c #F422A9CD96BF", +"@X c #FD4BAE7A933D", +"#X c #F5FEBA729DD4", +"$X c #FFFFB0E6959C", +"%X c #FAB0B38A9C1A", +"&X c #F359B3AC95B4", +"*X c #E1BFB573B114", +"=X c #C5C1C35EADDD", +"-X c #C3BFC664B7A9", +";X c #C482C700BCDD", +":X c #C4F4CA67BF81", +">X c #C959C7C3B44D", +",X c #CCD8CB81BB8B", +" w i L P _ ] ~ M o YXYXYXYXYXYXYXYXYXYXYXYXYXYX", +"p > S ( ' 8.r.@X$X`.j.+ YXYXYXYXYXYXYXYXYXYXYXYXYXYX", +"p . e ) ' ` +.q.q.0.G.p.O YXYXYXYXYXYXYXYXYXYXYXYXYXYX", +"p . H ' 8.o. .6.9.e.S.a.o YXYXYXYXYXYXYXYXYXYXYXYXYXYX", +"p # H ` w.OX&X#X#X+XI.g.+ YXYXYXYXYXYXYXYXYXYXYX", +"p . F ( 8.oX0XcX%Xt._.g.+ X ; 8 d y 4 = . YXYXYXYXYXYXYXYX", +"p . r F K o.|.XX..` Y.d.1 z k.c.5X1Xz.W z , YXYXYXYXYXYX", +"p . . . $ $ $ @ # ; s F.gX8X[.pX1XZ.Z.'.,.6 o YXYXYXYXYX", +"p @ > w i L P _ L f W.LXPXfX}.5X1XZ.Q. S ) ' @.r.|.! G.bXbXLXSX7X}.{.Z.(.N.;.-.%.2 YXYXYXYX", +"p . e ) ' ` ..9._ s.LXLXbXbXZXgX5X>XE.E.<.-.4.R.E * YXYXYXYX", +"p . H ' 8.8.X.| L E.SXPXPXAXLXIXKXHXjXA.>.B.].sX6Xp YXYXYX", +"< . G ^ 6.e.T.7.Y ~.7X9XgXZXIXuXi.Z K.rXX=X!.V o YXYXYX", +"YXYXYXYXYXYXYXYXYX 0 l.V.Z.Q./.2XeXU.L.kXJXzXlXhXyXwXl o YXYXYX", +"YXYXYXYXYXYXYXYXYX * T E.(.XyXlXgX9Xx.< . YXYXYXYX", +"YXYXYXYXYXYXYXYXYXYXYX - h *.M.4XnXiX:X!.eXlXlXx.5 o YXYXYXYX", +"YXYXYXYXYXYXYXYXYXYXYXYX * u k.7XCXuXqX!.,X).Q 3 . YXYXYXYXYX", +"YXYXYXYXYXYXYXYXYXYXYXYXYX X 3 N m.P.D.&.n p * X YXYXYXYXYXYX", +"YXYXYXYXYXYXYXYXYXYXYXYXYX o ; - * = O X YXYXYXYXYXYXYX", +"YXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYX YXYXYXYXYXYXYXYXYX", +"YXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYX", +"YXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYX" +}; --- totem-2.30.2.orig/debian/totem-common.gconf-defaults +++ totem-2.30.2/debian/totem-common.gconf-defaults @@ -0,0 +1,2 @@ +/apps/totem/plugins/bbc/active true +/apps/totem/plugins/youtube/active true --- totem-2.30.2.orig/debian/totem.menu +++ totem-2.30.2/debian/totem.menu @@ -0,0 +1,6 @@ +?package(totem):\ +needs="X11"\ +section="Applications/Video"\ +title="Totem"\ +icon="/usr/share/pixmaps/totem.xpm"\ +command="/usr/bin/totem" --- totem-2.30.2.orig/debian/watch +++ totem-2.30.2/debian/watch @@ -0,0 +1,2 @@ +version=3 +http://download.gnome.org/sources/totem/([\d\.]+)\d/totem-([\d\.]+)\.tar\.gz --- totem-2.30.2.orig/debian/rules +++ totem-2.30.2/debian/rules @@ -0,0 +1,37 @@ +#!/usr/bin/make -f +#-*- makefile -*- + +#export DH_VERBOSE=1 + +include /usr/share/cdbs/1/rules/debhelper.mk +include /usr/share/cdbs/1/class/gnome.mk +include /usr/share/cdbs/1/rules/patchsys-quilt.mk +include /usr/share/cdbs/1/rules/utils.mk +include /usr/share/gnome-pkg-tools/1/rules/uploaders.mk +include /usr/share/gnome-pkg-tools/1/rules/gnome-version.mk +-include /usr/share/gnome-pkg-tools/1/rules/gnome-get-source.mk + +DEB_AUTO_UPDATE_LIBTOOL=pre +DEB_AUTO_UPDATE_ACLOCAL=1.11 +DEB_AUTO_UPDATE_AUTOCONF=1 +DEB_AUTO_UPDATE_AUTOHEADER=1 +DEB_AUTO_UPDATE_AUTOMAKE=1.11 + +DEB_CONFIGURE_EXTRA_FLAGS += \ + --enable-vala=no \ + --disable-run-in-source-tree \ + --disable-scrollkeeper + +DEB_DH_STRIP_ARGS := --dbg-package=totem-dbg + +DEB_DH_MAKESHLIBS_ARGS += -Xdebian/ + +binary-install/totem-plugins:: + dh_pysupport -ptotem-plugins /usr/lib/totem/plugins +binary-install/totem-coherence:: + dh_pysupport -ptotem-coherence /usr/lib/totem/plugins + +common-binary-predeb-arch:: + find debian -name *.a -exec rm '{}' \; + find debian -name *.la -exec rm '{}' \; + --- totem-2.30.2.orig/debian/control +++ totem-2.30.2/debian/control @@ -0,0 +1,239 @@ +# This file is autogenerated. DO NOT EDIT! +# +# Modifications should be made to debian/control.in instead. +# This file is regenerated automatically in the clean target. + +Source: totem +Section: video +Priority: optional +Maintainer: Ubuntu Desktop Team +XSBC-Original-Maintainer: Sebastien Bacher +Uploaders: Debian GNOME Maintainers , Michael Biebl , Sebastian Dröge +Build-Depends: debhelper (>= 5.0.51~), + cdbs, + gnome-common, + quilt, + python-support (>= 0.6), + libglib2.0-dev (>= 2.22), + libatk1.0-dev (>= 1.29.4), + libgtk2.0-dev (>= 2.19.5), + libunique-dev, + libtotem-plparser-dev (>= 2.29.1), + liblircclient-dev (>= 0.6.6), + libirman-dev (>= 0.4.2), + gnome-pkg-tools (>= 0.10), + scrollkeeper, + libgstreamer0.10-dev (>= 0.10.28.1), + libgstreamer-plugins-base0.10-dev (>= 0.10.26), + gstreamer0.10-tools (>= 0.10.26), + gstreamer0.10-plugins-base (>= 0.10.26), + gstreamer0.10-plugins-good, + librsvg2-dev (>= 2.16.0-2), + librsvg2-common (>= 2.16.0-2), + libnautilus-extension-dev (>= 2.22), + libmusicbrainz4-dev (>= 2.1.1-4.1), + gnome-icon-theme (>= 2.15.90), + libdbus-glib-1-dev (>= 0.61), + intltool (>= 0.40), + autotools-dev, + dpkg-dev (>= 1.13.19), + libgconf2-dev, + shared-mime-info (>= 0.22), + libhal-dev (>= 0.5), + libcam-dev [kfreebsd-i386 kfreebsd-amd64], + libxtst-dev, + libxrandr-dev (>= 1.1.1), + libxxf86vm-dev (>= 1.0.1), + libx11-dev, + x11proto-core-dev, + gnome-doc-utils, + python-dev (>= 2.3), + python-gobject-dev (>= 2.15.3), + python-gtk2-dev (>= 2.13), + python-gst0.10-dev (>= 0.10.11), + python-xdg, + python-rdflib, + libbluetooth-dev [!hurd-i386 !kfreebsd-i386 !kfreebsd-amd64], + libgdata-dev (>= 0.6.0), + liblaunchpad-integration-dev (>= 0.1.17) +Standards-Version: 3.8.4 +Homepage: http://www.gnome.org/projects/totem/ +Vcs-Bzr: https://code.launchpad.net/~ubuntu-desktop/totem/ubuntu + +Package: totem +Architecture: any +Depends: ${shlibs:Depends}, + ${misc:Depends}, + ${python:Depends}, + gstreamer0.10-plugins-base (>= 0.10.26), + gstreamer0.10-alsa | gstreamer0.10-audiosink, + gstreamer0.10-plugins-good (>= 0.10.7), + gstreamer0.10-x, + gnome-icon-theme (>= 2.15.90), + totem-common (>= ${gnome:Version}), + totem-common (<< ${gnome:NextVersion}) +Conflicts: totem (<< 0.99.12-2), + gnome-control-center (<< 2.15.90), + totem-mozilla (<< 2.20.0-3), + totem-gstreamer (<< 2.27.1), + totem-xine (<< 2.27.1) +Replaces: totem-xine (<< 2.27.1), + totem-gstreamer (<< 2.27.1), + totem-common (<< 2.28.1-1) +Provides: totem-xine, + totem-gstreamer +Recommends: totem-mozilla (>= ${source:Version}), + totem-plugins (>= ${source:Version}) +Suggests: gnome-codec-install, + gstreamer0.10-pulseaudio (>= 0.10.16-5), + gstreamer0.10-plugins-ugly, + gstreamer0.10-plugins-bad, + gstreamer0.10-ffmpeg +Description: A simple media player for the GNOME desktop based on GStreamer + Totem is a simple yet featureful media player for GNOME which can read + a large number of file formats. It features : + . + * Shoutcast, m3u, asx, SMIL and ra playlists support + * DVD (with menus), VCD and Digital CD (with CDDB) playback + * TV-Out configuration with optional resolution switching + * 4.0, 5.0, 5.1 and stereo audio output + * Full-screen mode (move your mouse and you get nice controls) with + Xinerama, dual-head and RandR support + * Aspect ratio toggling, scaling based on the video's original size + * Full keyboard control + * Simple playlist with repeat mode and saving feature + * GNOME, Nautilus and GIO integration + * Screenshot of the current movie + * Brightness and Contrast control + * Visualisation plugin when playing audio-only files + * Video thumbnailer for nautilus + * Nautilus properties page + * Works on remote displays + * DVD, VCD and OGG/OGM subtitles with automatic language selection + * Extensible with plugins + +Package: totem-mozilla +Architecture: any +Depends: ${misc:Depends}, + ${shlibs:Depends}, + totem (= ${binary:Version}), + dbus-x11 (>= 0.61) +Recommends: epiphany-browser | www-browser +XB-Npp-Applications: ec8030f7-c20a-464f-9b0e-13a3a9e97384, 92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a +XB-Npp-Name: Totem Mozilla plugin +XB-Npp-MimeType: video/quicktime, video/mp4, image/x-macpaint, image/x-quicktime, application/x-mplayer2, video/x-ms-asf-plugin, video/x-msvideo, video/x-ms-asf, video/x-ms-wmv, video/x-wmv, video/x-ms-wvx, video/x-ms-wm, application/ogg, video/mpeg, audio/wav, audio/x-wav, audio/mpeg +XB-Npp-Description: Watch Movies in your Browser (http://projects.gnome.org/totem/) +XB-Npp-Filename: libtotem- +Description: Totem Mozilla plugin + This package contains the Totem Mozilla plugin, which will + enhance your Gecko-based browser to be able to display movie + clips. + . + This plugin should work for Firefox as well as XULRunner based browsers. + +Package: totem-common +Architecture: all +Depends: ${misc:Depends} +Replaces: totem-xine (<< 2.20.0-3), totem-gstreamer (<< 2.20.0-3) +Description: Data files for the Totem media player + Totem is a simple yet featureful media player for GNOME which can read + a large number of file formats. + . + This package contains common data files and translations. + +Package: totem-dbg +Architecture: any +Section: debug +Priority: extra +Depends: totem (= ${binary:Version}), + ${misc:Depends} +Conflicts: libtotem-plparser1-dbg, libtotem-plparser7-dbg +Description: Debugging symbols for the Totem media player + Totem is a simple yet featureful media player for GNOME which can read + a large number of file formats. + . + This package contains detached debugging symbols. + +Package: totem-plugins +Architecture: any +Depends: totem (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends}, + ${python:Depends}, + python-gobject (>= 2.18), + python-gtk2 (>= 2.13), + python-gconf, + python-gst0.10 (>= 0.10.11), + python-xdg, + python-rdflib, + python-gdbm, + python-httplib2 +Recommends: gnome-settings-daemon +Replaces: totem-xine (<< 2.20.0-3), totem-gstreamer (<< 2.20.0-3) +Suggests: gromit +Description: Plugins for the Totem media player + Totem is a simple yet featureful media player for GNOME which can read + a large number of file formats. + . + This package contains a set of recommended plugins for Totem, which + allow to: + . + * Control Totem with an Infrared remote control + * Control Totem with the keyboard's media player keys + * Keep the Totem window on top of the screen + * Display movie properties + * Deactivate the screensaver when a movie is playing + * Skip to a defined time in the movie + * Set the away status in the instant messenger when a movie is + playing + * Control totem with a mobile phone using the Bluetooth protocol + * Share the current playlist via HTTP + * Search, browse for and play videos from YouTube + * Search, browse for and play videos from the BBC + . + Additional plugins can be written in C, Python or Vala. + +Package: totem-xine +Architecture: all +Depends: totem (>= 2.27.1), + ${misc:Depends} +Description: A simple media player for the GNOME desktop (transitional package) + Totem is a simple yet featureful media player for GNOME which can read + a large number of file formats. + . + This package is a transitional package. + +Package: totem-gstreamer +Architecture: all +Depends: totem (>= 2.27.1), + ${misc:Depends} +Description: A simple media player for the GNOME desktop (transitional package) + Totem is a simple yet featureful media player for GNOME which can read + a large number of file formats. + . + This package is a transitional package. + +Package: totem-plugins-extra +Architecture: any +Depends: totem (= ${binary:Version}), + python-coherence, + ${misc:Depends}, + ${shlibs:Depends}, + python-beautifulsoup, + python-feedparser +Recommends: gromit +Replaces: totem-xine (<< 2.20.0-3), + totem-gstreamer (<< 2.20.0-3), + totem-plugins (<< 2.27.92-0ubuntu2), + totem-plugins-extra (<< 2.27.1-0ubuntu1) +Description: Extra plugins for the Totem media player + Totem is a simple yet featureful media player for GNOME which can read + a large number of file formats. + . + This package contains an extra set plugins for Totem, which allow to: + . + * Annotate the screen with the Gromit tool + * Have a DLNA/UPnP client for Totem powered by Coherence + * Stream BBC programs + . + Additional plugins can be written in C, Python or Vala. --- totem-2.30.2.orig/debian/totem-common.install +++ totem-2.30.2/debian/totem-common.install @@ -0,0 +1,10 @@ +debian/source_totem.py usr/share/apport/package-hooks +debian/totem.xpm usr/share/pixmaps +debian/tmp/usr/share/locale +debian/tmp/usr/share/gnome +debian/tmp/usr/share/man +debian/tmp/usr/share/icons +debian/tmp/usr/share/omf +debian/tmp/usr/share/gtk-doc +debian/tmp/usr/share/totem +debian/tmp/etc/gconf --- totem-2.30.2.orig/debian/source_totem.py +++ totem-2.30.2/debian/source_totem.py @@ -0,0 +1,18 @@ +import os, apport.packaging, apport.hookutils + +def add_info(report, ui): + + response = ui.choice("How would you describe the issue?", ["The totem interface is not working correctly", "No sound is being played", "Some audio files or videos are not being played correctly"], False) + + if response == None: # user cancelled + raise StopIteration + if response[0] == 1: # the issue is a sound one + os.execlp('apport-bug', 'apport-bug', 'audio') + + if response[0] == 2: # the issue is a codec one + report.add_package_info("libgstreamer0.10-0") + return + + report["LogAlsaMixer"] = apport.hookutils.command_output(["/usr/bin/amixer"]) + report["GstreamerVersions"] = apport.hookutils.package_versions("gstreamer*") + report["XorgLog"] = apport.hookutils.read_file("/var/log/Xorg.0.log") --- totem-2.30.2.orig/debian/totem-mozilla.docs +++ totem-2.30.2/debian/totem-mozilla.docs @@ -0,0 +1 @@ +browser-plugin/README.browser-plugin --- totem-2.30.2.orig/debian/test.html +++ totem-2.30.2/debian/test.html @@ -0,0 +1,51 @@ + + +Test + + +
+

PIMP

+

PIMP Internet Media Player

+ + + + + + + + + +
+ +
+ + + + + +
+ +
+ + --- totem-2.30.2.orig/debian/bug/control +++ totem-2.30.2/debian/bug/control @@ -0,0 +1 @@ +report-with: totem-gstreamer totem-xine --- totem-2.30.2.orig/debian/patches/80_webm.patch +++ totem-2.30.2/debian/patches/80_webm.patch @@ -0,0 +1,33 @@ +From 2285e792f616f3be400f7eaab51d3a528afe8e68 Mon Sep 17 00:00:00 2001 +From: Bastien Nocera +Date: Thu, 20 May 2010 15:57:42 +0000 +Subject: Add WebM support to Totem and browser plugin + +--- +diff --git a/browser-plugin/totemPlugin.cpp b/browser-plugin/totemPlugin.cpp +index 5382bb2..1c420f3 100644 +--- a/browser-plugin/totemPlugin.cpp ++++ b/browser-plugin/totemPlugin.cpp +@@ -126,6 +126,7 @@ static const totemPluginMimeEntry kMimeTypes[] = { + { "audio/mpeg", "mp3", NULL }, + { "application/x-nsv-vp3-mp3", "nsv", "video/x-nsv" }, + { "video/flv", "flv", "application/x-flash-video" }, ++ { "video/webm", "webm", NULL }, + { "application/x-totem-plugin", "", "Totem Multimedia plugin" }, + { "audio/midi", "mid, midi", NULL }, + #else +diff --git a/data/mime-type-list.txt b/data/mime-type-list.txt +index 303bb23..a6eab04 100644 +--- a/data/mime-type-list.txt ++++ b/data/mime-type-list.txt +@@ -82,6 +82,7 @@ video/vivo + video/vnd.divx + video/vnd.rn-realvideo + video/vnd.vivo ++video/webm + video/x-anim + video/x-avi + video/x-flc +-- +cgit v0.8.3.1 + --- totem-2.30.2.orig/debian/patches/70_bbc_plugin.patch +++ totem-2.30.2/debian/patches/70_bbc_plugin.patch @@ -0,0 +1,1386 @@ +From 54c1a4ca9ad94a4bfeedfc6d04776374a723834e Mon Sep 17 00:00:00 2001 +From: Robert Ancell +Date: Fri, 25 Jun 2010 15:14:36 +1000 +Subject: [PATCH] Add BBC Plugin +Description: add BBC plugin; by Collabora +Bug: http://bugzilla.gnome.org/show_bug.cgi?id=555823 + +--- + bindings/python/totem.defs | 10 + + configure.in | 31 ++ + po/POTFILES.in | 4 + + src/plugins/bbc/Makefile.am | 26 + + src/plugins/bbc/bbc.py | 95 ++++ + src/plugins/bbc/bbc.totem-plugin.in | 9 + + src/plugins/bbc/contentview.py | 884 +++++++++++++++++++++++++++++++++++ + src/plugins/bbc/genres.py | 251 ++++++++++ + 8 files changed, 1310 insertions(+), 0 deletions(-) + create mode 100644 src/plugins/bbc/Makefile.am + create mode 100644 src/plugins/bbc/bbc.py + create mode 100644 src/plugins/bbc/bbc.totem-plugin.in + create mode 100644 src/plugins/bbc/contentview.py + create mode 100644 src/plugins/bbc/genres.py + +Index: totem-2.30.2/bindings/python/totem.defs +=================================================================== +--- totem-2.30.2.orig/bindings/python/totem.defs 2010-06-25 15:50:49.300485721 +1000 ++++ totem-2.30.2/bindings/python/totem.defs 2010-06-25 15:50:57.090485721 +1000 +@@ -216,6 +216,16 @@ + (return-type "none") + ) + ++(define-method action_set_mrl_and_play ++ (of-object "TotemObject") ++ (c-name "totem_action_set_mrl_and_play") ++ (return-type "none") ++ (parameters ++ '("const-char*" "mrl") ++ '("const-char*" "subtitle_mrl" (null-ok) (default "NULL")) ++ ) ++) ++ + (define-method action_stop + (of-object "TotemObject") + (c-name "totem_action_stop") +Index: totem-2.30.2/configure.in +=================================================================== +--- totem-2.30.2.orig/configure.in 2010-06-25 15:50:55.530485720 +1000 ++++ totem-2.30.2/configure.in 2010-06-25 15:51:19.130485721 +1000 +@@ -490,6 +490,24 @@ + add_plugin="0" + fi + ;; ++ bbc) ++ # pygobject >= 2.15.3 for gio support ++ # pygtk >= 2.13.0 for gtk_tree_view_get_tooltip_context support ++ PKG_CHECK_MODULES([BBC], ++ [ pygobject-2.0 >= 2.15.3 gst-python-0.10 >= 0.10.11 pygtk-2.0 >= 2.13.0 ], ++ [ HAVE_BBCSTUFF=yes ], [ HAVE_BBCSTUFF=no ]) ++ if test "x$HAVE_BBCSTUFF" != "xyes"; then ++ plugin_error_or_ignore "you need pygobject-2.0 >= 2.15.3 and gst-python-0.10 >= 0.10.11 and pygtk-2.0 >= 2.13.0 installed for the BBC plugin" ++ add_plugin="0" ++ fi ++ for pymodule in rdflib.Graph xdg ++ do ++ if ! $PYTHON -c "import $pymodule" 2>/dev/null >/dev/null; then ++ plugin_error_or_ignore "you need the python $pymodule module installed for the BBC plugin" ++ add_plugin="0" ++ fi ++ done ++ ;; + bemused) + PKG_CHECK_MODULES(BEMUSED, bluez, [HAVE_BLUEZ=yes], [HAVE_BLUEZ=no]) + if test "${HAVE_BLUEZ}" != "yes" ; then +@@ -797,6 +815,7 @@ + lib/Makefile + src/Makefile + src/plugins/Makefile ++src/plugins/bbc/Makefile + src/plugins/bemused/Makefile + src/plugins/coherence_upnp/Makefile + src/plugins/dbus-service/Makefile +Index: totem-2.30.2/po/POTFILES.in +=================================================================== +--- totem-2.30.2.orig/po/POTFILES.in 2010-06-25 15:50:49.290485721 +1000 ++++ totem-2.30.2/po/POTFILES.in 2010-06-25 15:50:57.090485721 +1000 +@@ -39,6 +39,10 @@ + src/backend/video-utils.c + src/plugins/totem-plugin-manager.c + src/plugins/totem-plugins-engine.c ++[type: gettext/ini]src/plugins/bbc/bbc.totem-plugin.in ++src/plugins/bbc/bbc.py ++src/plugins/bbc/contentview.py ++src/plugins/bbc/genres.py + [type: gettext/ini]src/plugins/bemused/bemused.totem-plugin.in + src/plugins/bemused/totem-bemused.c + src/plugins/brasero-disc-recorder/totem-disc-recorder.c +Index: totem-2.30.2/src/plugins/bbc/Makefile.am +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ totem-2.30.2/src/plugins/bbc/Makefile.am 2010-06-25 15:50:57.090485721 +1000 +@@ -0,0 +1,26 @@ ++plugindir = $(PLUGINDIR)/bbc ++plugin_PYTHON = bbc.py contentview.py genres.py ++ ++plugin_in_files = bbc.totem-plugin.in ++ ++%.totem-plugin: %.totem-plugin.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache ++ ++plugin_DATA = $(plugin_in_files:.totem-plugin.in=.totem-plugin) ++ ++EXTRA_DIST = $(plugin_in_files) bbc.py contentview.py genres.py ++ ++CLEANFILES = $(plugin_DATA) ++DISTCLEANFILES = $(plugin_DATA) ++ ++ ++pychecker: ++ PYTHONPATH=$(top_srcdir)/src/plugins/bbc:$$PYTHONPATH \ ++ pychecker $(wildcard $(top_srcdir)/src/plugins/bbc/*py) ++ ++pyflakes: ++ pyflakes $(wildcard $(top_srcdir)/src/plugins/bbc/*py) ++ ++check: pychecker pyflakes ++ echo ++ ++ +Index: totem-2.30.2/src/plugins/bbc/bbc.py +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ totem-2.30.2/src/plugins/bbc/bbc.py 2010-06-25 15:50:57.090485721 +1000 +@@ -0,0 +1,95 @@ ++#!/usr/bin/python ++# coding=UTF-8 ++# ++# Copyright (C) 2008 Tim-Philipp Müller ++# Copyright (C) 2008 Canonical Ltd. ++# ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++# ++# The Totem project hereby grant permission for non-gpl compatible GStreamer ++# plugins to be used and distributed together with GStreamer and Totem. This ++# permission are above and beyond the permissions granted by the GPL license ++# Totem is covered by. ++# ++# See license_change file for details. ++ ++import gobject ++gobject.threads_init() ++import pygst ++pygst.require ("0.10") ++import gst ++ ++import totem ++import gtk ++import gconf ++import time ++import os ++from contentview import ContentView ++ ++class BBCViewer(totem.Plugin): ++ def __init__ (self): ++ totem.Plugin.__init__ (self) ++ self.loaded_content = False ++ ++ def mapped (self, contentview): ++ gst.log('mapped') ++ if not self.loaded_content: ++ self.view.load() ++ self.loaded_content = True ++ ++ def activate (self, totem_object): ++ self.gconf_client = gconf.client_get_default () ++ self.totem = totem_object ++ self.view = ContentView() ++ self.view.connect('play-episode', self.playEpisode) ++ vbox = gtk.VBox() ++ scrollwin = gtk.ScrolledWindow() ++ scrollwin.add(self.view) ++ scrollwin.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC) ++ scrollwin.set_shadow_type(gtk.SHADOW_ETCHED_IN) ++ vbox.pack_start(scrollwin, True, True) ++ vbox.show_all () ++ totem_object.add_sidebar_page ("bbc", _("BBC"), vbox) ++ # connect to 'map' only after adding the sidebar page ++ self.view.connect('map', self.mapped) ++ gst.log('activated') ++ ++ def deactivate (self, totem_object): ++ totem_object.remove_sidebar_page ("bbc") ++ self.loaded_content = False ++ ++ def getConnectionSpeed(self): ++ speed_map = [ 14400, 19200, 28800, 33600, 34400, ++ 56000, 112000, 256000, 384000, 512000, ++ 1536000, 10752000 ] ++ speed_enum = self.gconf_client.get_int("/apps/totem/connection_speed") ++ if speed_enum >= 0 and speed_enum < len(speed_map): ++ speed_kbps = speed_map[speed_enum] / 1000 ++ else: ++ speed_kbps = 0 ++ gst.log('Configured connection speed #%d: %d kbit/s' % (speed_enum, speed_kbps)) ++ return speed_kbps ++ ++ def playEpisode (self, view, episode): ++ gst.info('Playing episode ' + episode.title) ++ mrl = episode.getUri(self.getConnectionSpeed()) ++ if mrl: ++ gst.log('Playing uri ' + mrl) ++ self.totem.action_set_mrl_and_play(mrl, None) ++ #self.totem.action_remote(totem.REMOTE_COMMAND_ENQUEUE, mrl) ++ #self.totem.action_remote(totem.REMOTE_COMMAND_PLAY, mrl) ++ else: ++ gst.error('No uri for episode ' + episode.title) ++ +Index: totem-2.30.2/src/plugins/bbc/bbc.totem-plugin.in +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ totem-2.30.2/src/plugins/bbc/bbc.totem-plugin.in 2010-06-25 15:50:57.090485721 +1000 +@@ -0,0 +1,9 @@ ++[Totem Plugin] ++Loader=python ++Module=bbc ++IAge=1 ++_Name=BBC content viewer ++_Description=Watch or listen to selected video and audio content made available by the British Broadcasting Corporation (BBC) ++Authors=Tim-Philipp Müller ++Copyright=Copyright © 2008 Tim-Philipp Müller and Canonical Ltd. ++Website=http://www.gnome.org/projects/totem/ +Index: totem-2.30.2/src/plugins/bbc/contentview.py +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ totem-2.30.2/src/plugins/bbc/contentview.py 2010-06-25 15:50:57.090485721 +1000 +@@ -0,0 +1,884 @@ ++#!/usr/bin/python ++# coding=UTF-8 ++# ++# Copyright (C) 2008 Tim-Philipp Müller ++# Copyright (C) 2008 Canonical Ltd. ++# ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++# ++# The Totem project hereby grant permission for non-gpl compatible GStreamer ++# plugins to be used and distributed together with GStreamer and Totem. This ++# permission are above and beyond the permissions granted by the GPL license ++# Totem is covered by. ++# ++# See license_change file for details. ++# ++# TODO: ++# - clean up code: mixed studlyCaps and foo_bar; mixed callbacks and signals ++ ++import gobject ++gobject.threads_init() ++import glib ++import gio ++import pygst ++pygst.require ("0.10") ++import gst ++import gtk ++import pango ++ ++import os ++import dircache ++import errno ++import random ++import time ++import thread ++ ++from rdflib.Graph import ConjunctiveGraph ++from rdflib import Namespace ++from rdflib import RDF ++ ++from xdg import BaseDirectory ++ ++import genres ++ ++''' ++Define namespaces we will be using globally ++''' ++DC = Namespace('http://purl.org/dc/elements/1.1/') ++PO = Namespace('http://purl.org/ontology/po/') ++OWL = Namespace('http://www.w3.org/2002/07/owl#') ++FOAF = Namespace('http://xmlns.com/foaf/0.1/') ++PLAY = Namespace('http://uriplay.org/elements/') ++ ++ ++''' ++Container/Audio/Video codec mappings - global for readability ++''' ++ ++# FIXME: Real Media formats ++container_map = { 'application/ogg' : 'application/ogg', ++ 'audio/ogg' : 'application/ogg', ++ 'video/ogg' : 'application/ogg', ++ 'video/x-ms-asf' : 'video/x-ms-asf', ++ 'audio/x-ms-asf' : 'video/x-ms-asf', ++ 'audio/mp3' : 'audio/mpeg, mpegversion=(int)1, layer=(int)3', ++ 'audio/mp4' : 'audio/x-m4a', ++ 'audio/mpeg' : 'audio/mpeg, mpegversion=(int)1', ++ 'video/x-flv' : 'video/x-flv', ++ 'video/3gpp' : 'application/x-3gp', ++ 'application/x-3gp' : 'application/x-3gp', ++ 'audio/x-matroska' : 'video/x-matroska', ++ 'video/x-matroska' : 'video/x-matroska', ++ 'video/mp4' : 'video/quicktime', ++ 'video/mpeg' : 'video/mpeg, mpegversion=(int)1, ' + ++ ' systemstream=(boolean)true; ' + ++ 'video/mpeg, mpegversion=(int)2, ' + ++ ' systemstream=(boolean)true', ++ 'video/mpeg2' : 'video/mpeg, mpegversion=(int)2,' + ++ ' systemstream=(boolean)false', ++ 'video/mp2t' : 'video/mpegts', ++ 'video/mpegts' : 'video/mpegts' } ++ ++# FIXME: do we need both parsed=true and parsed=false for mp3? ++audio_map = { 'audio/mp1' : 'audio/mpeg, mpegversion=(int)1, layer=(int)1', ++ 'audio/mp2' : 'audio/mpeg, mpegversion=(int)1, layer=(int)2', ++ 'audio/mp3' : 'audio/mpeg, mpegversion=(int)1, layer=(int)3', ++ 'audio/mp4' : 'audio/mpeg, mpegversion=(int)2; ' + ++ 'audio/mpeg, mpegversion=(int)4', ++ 'audio/mpeg' : 'audio/mpeg, mpegversion=(int)1, layer=(int)3', ++ 'audio/x-wma' : 'audio/x-wma, wmaversion=(int)1; ' + ++ 'audio/x-wma, wmaversion=(int)2', ++ 'audio/x-wmv' : 'audio/x-wma, wmaversion=(int)1; ' + ++ 'audio/x-wma, wmaversion=(int)2', ++ 'audio/x-ms-wma' : 'audio/x-wma, wmaversion=(int)1; ' + ++ 'audio/x-wma, wmaversion=(int)2', ++ 'audio/x-ms-wmv' : 'audio/x-wma, wmaversion=(int)1; ' + ++ 'audio/x-wma, wmaversion=(int)2', ++ 'audio/vorbis' : 'audio/x-vorbis' } ++ ++# FIXME: video/x-ms-wmv: ask if this refers to a particular wmv version or if it can be any version/profile ++# BBC regard video/x-svq as equivalent to video/x-flash-video, so we just ++# treat them all the same here and require all of them in this case ++video_map = { 'video/x-vp6' : 'video/x-vp6', ++ 'video/x-flash-video' : 'video/x-svq, svqversion=(int)1; ' + ++ 'video/x-svq, svqversion=(int)3; ' + ++ 'video/x-flash-video, flvversion=(int)1', ++ 'video/H263-200' : 'video/x-svq, svqversion=(int)1; ' + ++ 'video/x-flash-video, flvversion=(int)1', ++ 'video/x-svq' : 'video/x-svq, svqversion=(int)1; ' + ++ 'video/x-svq, svqversion=(int)3; ' + ++ 'video/x-flash-video, flvversion=(int)1', ++ 'video/H264' : 'video/x-h264', ++ 'video/mpeg' : 'video/mpeg, mpegversion=(int)1, ' + ++ ' systemstream=(boolean)false; ' + ++ 'video/mpeg, mpegversion=(int)2, ' + ++ ' systemstream=(boolean)false', ++ 'video/mpeg1' : 'video/mpeg, mpegversion=(int)1, ' + ++ ' systemstream=(boolean)false', ++ 'video/mpeg2' : 'video/mpeg, mpegversion=(int)2, ' + ++ ' systemstream=(boolean)false', ++ 'video/x-dirac' : 'video/x-dirac', ++ 'video/x-wmv' : 'video/x-wmv, wmvversion=(int)1; ' + ++ 'video/x-wmv, wmvversion=(int)2; ' + ++ 'video/x-wmv, wmvversion=(int)3', ++ 'video/x-ms-wmv' : 'video/x-wmv, wmvversion=(int)1; ' + ++ 'video/x-wmv, wmvversion=(int)2; ' + ++ 'video/x-wmv, wmvversion=(int)3' } ++ ++############################################################################### ++ ++''' ++UriPlayObject: base class for Brand, Episode, Encoding, Location etc. ++''' ++class UriPlayObject(object): ++ __slots__ = [ 'rdf_attribute_mapping' ] ++ ++ def __init__(self): ++ self.rdf_attribute_mapping = [] ++ ++ def parseProperties(self, conjunctive_graph, graph_obj): ++ for rdf_tag, prop_name in self.rdf_attribute_mapping: ++ self.__setattr__(prop_name, None) ++ for rdf_tag, prop_name in self.rdf_attribute_mapping: ++ for match in conjunctive_graph.objects(graph_obj, rdf_tag): ++ self.__setattr__(prop_name, match.encode('utf-8')) ++ break # we can handle only one value for each property name ++ ++############################################################################### ++ ++''' ++Brand: a show/series/group of episodes ++''' ++class Brand(UriPlayObject): ++ __slots__ = [ 'title', 'description', 'episodes', 'genres' ] ++ ++ def __init__(self): ++ self.episodes = [] ++ self.genres = [] ++ self.rdf_attribute_mapping = [ ( DC['title'], 'title' ), ++ ( DC['description'], 'description' ) ] ++ ++ def parseBrand(self, conjunctive_graph, graph_brand): ++ self.parseProperties(conjunctive_graph, graph_brand) ++ ++ self.episodes = [] ++ for e in conjunctive_graph.objects(graph_brand, PO['episode']): ++ episode = Episode() ++ episode.parseEpisode(conjunctive_graph, e) ++ self.episodes.append(episode) ++ ++ self.genres = [] ++ for match in conjunctive_graph.objects(graph_brand, PO['genre']): ++ genre_utf8 = match.encode('utf-8') ++ pos = genre_utf8.find('/genres/') ++ if pos > 0: ++ pos += len('/genres/') ++ genre = genre_utf8[pos:] ++ else: ++ gst.warning('Unexpected genre identifier: ' + genre_utf8) ++ genre = 'other' ++ if genre not in self.genres: ++ self.genres.append(genre) ++ ++ def hasUsableEpisodes(self): ++ return len(self.episodes) > 0 ++ ++ def getUsableEpisodes(self): ++ usable_episodes = [] ++ for episode in self.episodes: ++ if episode.hasUsableEncodings(): ++ usable_episodes.append(episode) ++ return usable_episodes ++ ++############################################################################### ++ ++''' ++Episode: a single episode of a Brand (even though we parse the different ++ versions, for now we'll just pretend there is only one version and ++ map the encodings attribute to the encodings of the first version ++ we find, to make things easier) ++''' ++class Episode(UriPlayObject): ++ __slots__ = [ 'title', 'description', 'versions', 'encodings' ] ++ ++ def __init__(self): ++ self.encodings = [] ++ self.rdf_attribute_mapping = [ ( DC['title'], 'title' ), ++ ( DC['description'], 'description' ) ] ++ ++ def parseEpisode(self, conjunctive_graph, graph_episode): ++ self.parseProperties(conjunctive_graph, graph_episode) ++ self.versions = [] ++ for v in conjunctive_graph.objects(graph_episode, PO['version']): ++ version = EpisodeVersion() ++ version.parseVersion(conjunctive_graph, v) ++ self.versions.append(version) ++ # encodings of episode = encodings of first version of episode ++ if not self.encodings: ++ self.encodings = version.encodings ++ ++ # TODO: this does not take into account codec quality, highest bitrate wins ++ def getBestEncoding(self, connection_speed=0): ++ gst.log('connection speed: %d kbit/s' % (connection_speed)) ++ best_encoding = None ++ for encoding in self.encodings: ++ gst.log('have encoding with bitrate: %d kbit/s' % (encoding.getBitrate())) ++ if best_encoding: ++ if encoding.getBitrate() > best_encoding.getBitrate(): ++ if connection_speed <= 0 or encoding.getBitrate() <= connection_speed: ++ best_encoding = encoding ++ else: ++ best_encoding = encoding ++ if best_encoding: ++ gst.log('best encoding has bitrate of %d kbit/s' % (best_encoding.getBitrate())) ++ return best_encoding ++ ++ def getUri(self, connection_speed=0): ++ encoding = self.getBestEncoding(connection_speed) ++ if encoding: ++ location = encoding.getBestLocation() ++ if location: ++ return location.uri ++ return None ++ ++############################################################################### ++ ++''' ++EpisodeVersion: a version of an Episode (e.g. UK vs. US or pg-13 vs. 18) ++''' ++class EpisodeVersion(UriPlayObject): ++ __slots__ = [ 'encodings' ] ++ ++ def __init__(self): ++ self.encodings = [] ++ self.rdf_attribute_mapping = [] ++ ++ def parseVersion(self, conjunctive_graph, graph_version): ++ self.parseProperties(conjunctive_graph, graph_version) ++ self.encodings = [] ++ for e in conjunctive_graph.objects(graph_version, PLAY['manifestedAs']): ++ encoding = Encoding() ++ encoding.parseEncoding(conjunctive_graph, e) ++ self.encodings.append(encoding) ++ ++############################################################################### ++ ++''' ++Encoding: a specific encoding of an Episode (format/bitrate/size etc.) ++''' ++class Encoding(UriPlayObject): ++ __slots__ = [ 'container_format', 'bitrate', 'size', 'video_codec', ++ 'video_bitrate', 'video_fps', 'video_height', 'video_width', ++ 'audio_codec', 'audio_bitrate', 'audio_channels', ++ 'locations', 'required_caps' ] ++ ++ def __init__(self): ++ self.required_caps = None ++ self.rdf_attribute_mapping = [ ++ ( PLAY['dataContainerFormat'], 'container_format' ), ++ ( PLAY['bitRate'], 'bitrate' ), ++ ( PLAY['dataSize'], 'size' ), ++ ( PLAY['videoCoding'], 'video_codec' ), ++ ( PLAY['videoBitrate'], 'video_bitrate' ), ++ ( PLAY['videoFrameRate'], 'video_fps' ), ++ ( PLAY['videoVerticalSize'], 'video_height' ), ++ ( PLAY['videoHorizontalSize'], 'video_width' ), ++ ( PLAY['audioCoding'], 'audio_codec' ), ++ ( PLAY['audioBitrate'], 'audio_bitrate' ), ++ ( PLAY['audioChannels'], 'audio_channels' )] ++ ++ def parseEncoding(self, conjunctive_graph, graph_encoding): ++ self.parseProperties(conjunctive_graph, graph_encoding) ++ self.locations = [] ++ for l in conjunctive_graph.objects(graph_encoding, PLAY['availableAt']): ++ location = Location() ++ location.parseLocation(conjunctive_graph, l) ++ self.locations.append(location) ++ self.required_caps = self.postProcessCodecs() ++ ++ def postProcessCodecs(self): ++ required_caps = gst.Caps() ++ if self.video_codec: ++ self.video_codec = self.video_codec.lower() ++ if self.video_codec in video_map: ++ required_caps.append(gst.Caps(video_map[self.video_codec])) ++ else: ++ gst.warning('unmapped video codec ' + self.video_codec) ++ return None ++ if self.audio_codec: ++ self.audio_codec = self.audio_codec.lower() ++ if self.audio_codec in audio_map: ++ required_caps.append(gst.Caps(audio_map[self.audio_codec])) ++ else: ++ gst.warning('unmapped audio codec ' + self.audio_codec) ++ return None ++ if self.container_format: ++ self.container_format = self.container_format.lower() ++ if self.container_format in container_map: ++ required_caps.append(gst.Caps(container_map[self.container_format])) ++ else: ++ gst.warning('unmapped container format ' + self.container_format) ++ return None ++ ++ if not required_caps.is_empty(): ++ return required_caps ++ else: ++ return None ++ ++ def getBitrate(self): ++ if not self.bitrate: ++ return 0 ++ return eval(self.bitrate) ++ ++ def getBestLocation(self): ++ locations = self.locations ++ random.shuffle(locations) ++ for loc in locations: ++ if loc.isUsable(): ++ return loc ++ return None ++ ++############################################################################### ++ ++''' ++Location: location (URI) of a specific encoding ++''' ++class Location(UriPlayObject): ++ __slots__ = [ 'uri', 'type', 'sub_type', 'is_live' ] ++ ++ # Note: type, subType and isLive are more often not available than available ++ def __init__(self): ++ self.rdf_attribute_mapping = [ ++ ( PLAY['uri'], 'uri' ), ++ ( PLAY['transportType'], 'type' ), ++ ( PLAY['transportSubType'], 'sub_type' ), ++ ( PLAY['transportIsLive'], 'is_live' )] ++ ++ def parseLocation(self, conjunctive_graph, graph_location): ++ self.parseProperties(conjunctive_graph, graph_location) ++ ++ def isUsable(self): ++ if self.uri and self.uri.startswith('http'): ++ return True ++ return False ++ ++############################################################################### ++ ++''' ++ContentPool: downloads rdf file with available content and caches it locally, ++ then parses the file and announces new brands and brands where ++ the episode listing has changed. The cached file is saved with ++ the ETag from the server/gio as part of the filename, so we can ++ easily compare the tag to the server's later to check if we have ++ to update the file or not (not that ETag here means what we get ++ from the gio.FileInfo on the remote uri, and never refers to a ++ gio-generated ETag for the local cache file, since those two ++ are not comparable) ++''' ++# TODO: ++# - maybe derive from list store or filtermodel directly? ++class ContentPool(gobject.GObject): ++ __slots__ = [ 'cache_dir', 'brands' ] ++ ++ __gsignals__ = dict(codec_cache_loaded=(gobject.SIGNAL_RUN_LAST, None, ()), ++ progress_message=(gobject.SIGNAL_RUN_LAST, None, (str, )), ++ loading_error=(gobject.SIGNAL_RUN_LAST, None, (str, )), ++ loading_done=(gobject.SIGNAL_RUN_LAST, None, ())) ++ ++ CACHE_FILE_PREFIX = 'content-' ++ CACHE_FILE_SUFFIX = '.cache' ++ AVAILABLE_CONTENT_URI = 'http://open.bbc.co.uk/rad/uriplay/availablecontent' ++ MAX_CACHE_FILE_AGE = 2*3600 # 2 hours ++ ++ def __init__(self): ++ gobject.GObject.__init__ (self) ++ ++ self.brands = [] ++ self.cache_dir = os.path.join(BaseDirectory.xdg_cache_home, 'totem', ++ 'plugins', 'bbc') ++ try: ++ os.makedirs(self.cache_dir) ++ gst.log('created cache directory ' + self.cache_dir) ++ except OSError, err: ++ if err.errno == errno.EEXIST: ++ gst.log('cache directory ' + self.cache_dir + ' already exists') ++ else: ++ gst.error('failed to create cache directory ' + self.cache_dir + ++ ': ' + err.strerror) ++ self.cache_dir = None ++ ++ ''' returns True if the given filename refers to one of our cache files ''' ++ def isCacheFileName(self, filename): ++ if not filename.startswith(self.CACHE_FILE_PREFIX): ++ return False ++ if not filename.endswith(self.CACHE_FILE_SUFFIX): ++ return False ++ return True ++ ++ ''' removes all cache files that don't relate to the given etag ''' ++ def deleteStaleCacheFiles(self, except_etag=None): ++ try: ++ for fn in dircache.listdir(self.cache_dir): ++ if self.isCacheFileName(fn): ++ if except_etag == None or fn.find(except_etag) < 0: ++ try: ++ gst.log('deleting stale cache file ' + fn) ++ os.remove(os.path.join(self.cache_dir,fn)) ++ except OSError: ++ pass ++ except OSError: ++ pass ++ ++ ''' finds the most recent cache file and returns its file name or None''' ++ def findMostRecentCacheFile(self): ++ best_mtime = 0 ++ best_name = None ++ try: ++ gst.log('Looking for cache files in ' + self.cache_dir) ++ for fn in dircache.listdir(self.cache_dir): ++ if self.isCacheFileName(fn): ++ mtime = os.stat(os.path.join(self.cache_dir,fn)).st_mtime ++ gst.log('Found cache file %s, mtime %ld' % (fn, long(mtime))) ++ if mtime > best_mtime: ++ best_name = fn ++ best_mtime = mtime ++ except OSError, err: ++ gst.debug("couldn't inspect cache directory %s: %s" % (self.cache_dir, err.strerror)) ++ return None ++ ++ if not best_name: ++ gst.log('No cache file found') ++ return None ++ ++ return best_name ++ ++ ''' gets the ETag for the most recent cache file, or None ''' ++ def getCacheETag(self): ++ etag = self.findMostRecentCacheFile() ++ if not etag: ++ return None ++ prefix_len = len(self.CACHE_FILE_PREFIX) ++ suffix_len = len(self.CACHE_FILE_SUFFIX) ++ etag = etag[prefix_len:-suffix_len] ++ gst.log('ETag: ' + etag) ++ return etag ++ ++ ''' makes a full filename from an ETag ''' ++ def createCacheFileName(self, etag): ++ if not etag: ++ gst.debug('No ETag, using dummy ETag as fallback') ++ etag = '000000-00000-00000000' ++ fn = self.CACHE_FILE_PREFIX + etag + self.CACHE_FILE_SUFFIX ++ return os.path.join(self.cache_dir, fn) ++ ++ def parse_async(self, cache_fn): ++ self.emit('progress-message', _('Parsing available content list ...')) ++ thread.start_new_thread(self._parsing_thread, (cache_fn, )) ++ ++ def _parsing_thread(self, cache_fn): ++ def _parse_idle_cb(err_msg, brands): ++ self.brands = brands ++ gst.info('Parsing done: %d brands' % (len(self.brands))) ++ if err_msg: ++ self.emit('loading-error', err_msg) ++ else: ++ self.emit('loading-done') ++ return False ++ ++ err_msg = None ++ brands = [] ++ gst.debug('Loading ' + cache_fn) ++ store = ConjunctiveGraph() ++ try: ++ gst.debug('Reading RDF file ...') ++ store.load(cache_fn) ++ gst.debug('Parsing ' + cache_fn) ++ brands = self.parseBrands(store) ++ except: ++ gst.warning('Problem parsing RDF') ++ err_msg = 'Could not parse available content list' ++ finally: ++ gst.debug('Parsing done, marshalling result into main thread') ++ gobject.idle_add(_parse_idle_cb, err_msg, brands) ++ ++ def _format_size_for_display(self, size): ++ if size < 1024: ++ return '%d bytes' % size ++ if size < 1024*1024: ++ return '%.1f kB' % (size / 1024.0) ++ else: ++ return '%.1f MB' % (size / (1024.0*1024.0)) ++ ++ def load_async(self): ++ def _query_done_cb(remote_file, result): ++ # mutable container so subfunctions can share access ++ # chunks, total_len ++ pdata = [ [], 0 ] ++ ++ def _read_async_cb(instream, result): ++ try: ++ partial_data = instream.read_finish(result) ++ gst.log('Read partial chunk of %d bytes' % (len(partial_data))) ++ chunks = pdata[0] ++ bytes_read = pdata[1] ++ if len(partial_data) == 0: ++ instream.close() ++ outstream = cache_file.create(gio.FILE_CREATE_NONE) ++ for chunk in chunks: ++ outstream.write(chunk) ++ outsize = outstream.query_info('*').get_size() ++ outstream.close() ++ gst.info('Wrote %ld bytes' % (outsize)) ++ self.parse_async(cache_fn) ++ else: ++ chunks.append(partial_data) ++ bytes_read += len(partial_data) ++ pdata[0] = chunks ++ pdata[1] = bytes_read ++ instream.read_async(10240, _read_async_cb, io_priority=glib.PRIORITY_LOW-1) ++ self.emit('progress-message', ++ _('Downloading available content list ... ') + '(' + ++ self._format_size_for_display(bytes_read) + ')') ++ except IOError, e: ++ gst.warning('Error downloading ' + self.AVAILABLE_CONTENT_URI) ++ instream.close() ++ try: ++ cache_file.delete() ++ finally: ++ self.emit('loading-error', _('Error downloading available content list')) ++ ++ # _query_done_cb start: ++ gst.log('Query done') ++ try: ++ remote_info = remote_file.query_info_finish(result) ++ except Exception, e: ++ # bail out if we can't query, not much point trying to download ++ gst.warning('Could not query %s: %s' % (self.AVAILABLE_CONTENT_URI, e.message)) ++ self.emit('loading-error', _('Could not connect to server')) ++ return ++ ++ gst.log('Got info, querying etag') ++ remote_etag = remote_info.get_etag() ++ if remote_etag: ++ remote_etag = remote_etag.strip('"') ++ gst.log('Remote etag: ' + remote_etag) ++ ++ cache_fn = self.createCacheFileName(remote_etag) ++ cache_file = gio.File(cache_fn) ++ ++ # if file already exists, get size to double-check against server's ++ try: ++ cache_size = cache_file.query_info('standard::size').get_size() ++ except: ++ cache_size = 0 ++ finally: ++ if etag and remote_etag and etag == remote_etag: ++ remote_size = remote_info.get_size() ++ if remote_size <= 0 or cache_size == remote_size: ++ gst.log('Cache file is up-to-date, nothing to do') ++ self.parse_async(cache_fn) ++ return ++ ++ # delete old cache file if it exists ++ try: ++ cache_file.delete() ++ except: ++ pass ++ ++ # FIXME: use gio.File.copy_async() once it's wrapped ++ remote_file.read().read_async(10240, _read_async_cb, io_priority=glib.PRIORITY_LOW-1) ++ gst.info('copying ' + self.AVAILABLE_CONTENT_URI + ' -> ' + cache_fn) ++ self.emit('progress-message', _('Downloading available content list ...')) ++ return ++ ++ # load_async start: ++ gst.log('starting loading') ++ ++ etag = self.getCacheETag() ++ if etag: ++ gst.log('Cached etag: ' + etag) ++ self.deleteStaleCacheFiles(etag) ++ existing_cache_fn = self.createCacheFileName(etag) ++ existing_cache_file = gio.File(existing_cache_fn) ++ existing_cache_info = existing_cache_file.query_info('time::modified') ++ existing_cache_mtime = existing_cache_info.get_modification_time() ++ # if the cache file is not older than N minutes/hours/days, then ++ # we'll just go ahead and use it instead of downloading a new one, ++ # even if it's not perfectly up-to-date. ++ # FIXME: UI should have a way to force an update ++ secs_since_update = time.time() - existing_cache_mtime ++ if secs_since_update >= 0 and secs_since_update < self.MAX_CACHE_FILE_AGE: ++ gst.log('Cache file is fairly recent, last updated %f secs ago' % (secs_since_update)) ++ self.parse_async(existing_cache_fn) ++ return ++ else: ++ gst.log('Cached etag: None') ++ ++ # CHECKME: what happens if http is not available as protocol? ++ remote_file = gio.File(self.AVAILABLE_CONTENT_URI) ++ gst.log('Contacting server ' + self.AVAILABLE_CONTENT_URI) ++ self.emit('progress-message', _('Connecting to server ...')) ++ remote_file.query_info_async(_query_done_cb, '*') ++ ++ def parseBrands(self, graph): ++ brands = [] ++ for b in graph.subjects(RDF.type, PO['Brand']): ++ brand = Brand() ++ brand.parseBrand(graph, b) ++ brands.append(brand) ++ gst.log('[%3d eps] %s %s' % (len(brand.episodes), brand.title, brand.genres)) ++ return brands ++ ++ ''' returns array of brands which can potentially be played ''' ++ def getUsableBrands(self): ++ usable_brands = [] ++ for brand in self.brands: ++ if brand.hasUsableEpisodes(): ++ usable_brands.append(brand) ++ return usable_brands ++ ++ ++############################################################################### ++ ++class ContentView(gtk.TreeView): ++ __slots__ = [ 'pool', 'content_pool_loaded', 'genre_pool' ] ++ __gsignals__ = dict(play_episode= ++ (gobject.SIGNAL_RUN_LAST, None, ++ (object,))) # Episode ++ ++ SORT_ID_1 = 0 ++ ++ def __init__(self): ++ gtk.TreeView.__init__ (self) ++ self.setupModel() ++ ++ self.set_headers_visible(False) ++ ++ self.connect('row-activated', self.onRowActivated) ++ ++ self.set_property('has-tooltip', True) ++ self.connect('query-tooltip', self.onQueryTooltip) ++ ++ self.set_message(_('Loading ...')) ++ ++ self.pool = ContentPool() ++ self.pool.connect('progress-message', self._on_content_pool_message) ++ self.pool.connect('loading-error', self._on_content_pool_error) ++ self.pool.connect('loading-done', self._on_content_pool_loading_done) ++ self.content_pool_loaded = False ++ self.genre_pool = genres.GenrePool() ++ ++ def load(self): ++ self.pool.load_async() ++ gst.log('started loading') ++ ++ def _on_content_pool_message(self, content_pool, msg): ++ self.set_message(msg) ++ ++ def _on_content_pool_error(self, content_pool, err_msg): ++ gst.warning('Failed to load available content: ' + err_msg) ++ self.set_message(err_msg) ++ ++ def _on_content_pool_loading_done(self, content_pool): ++ gst.log('content pool loaded') ++ self.content_pool_loaded = True ++ self.populate() ++ ++ def populate_add_genre(self, genre, parent_iter): ++ _iter = self.store.append(parent_iter, [None, None, None, genre]) ++ for child_genre in genre.children: ++ self.populate_add_genre(child_genre, _iter) ++ for brand in genre.brands: ++ brand_iter = self.store.append(_iter, [brand, None, None, None]) ++ for ep in brand.episodes: ++ self.store.append(brand_iter, [brand, ep, None, None]) ++ return _iter ++ ++ def populate(self): ++ gst.log('populating treeview') ++ ++ brands = self.pool.getUsableBrands() ++ gst.info('%d brands with usable episodes/encodings' % (len(brands))) ++ ++ # build genre tree in memory and add brands to genre objects ++ self.genre_pool.clear() ++ for brand in brands: ++ for genre_shortref in brand.genres: ++ genre = self.genre_pool.get_genre(genre_shortref) ++ genre.add_brand(brand) ++ ++ # add everything to the list store ++ self.store.clear() ++ toplevel_iters = [] ++ for toplevel_genre in self.genre_pool.get_toplevel_genres(): ++ _iter = self.populate_add_genre(toplevel_genre, None) ++ toplevel_iters.append(_iter) ++ ++ # now make all this visible (view might be showing model with message) ++ self.set_model(self.filter) ++ ++ # expand top-level categories ++ for _iter in toplevel_iters: ++ path = self.store.get_path(_iter) ++ self.expand_row(path, False) ++ ++ def get_brand_tooltip(self, brand): ++ if not brand or not brand.description: ++ return None ++ return '%s\n%s' % (gobject.markup_escape_text(brand.title), ++ gobject.markup_escape_text(brand.description)) ++ ++ def get_episode_tooltip(self, brand, episode): ++ if not episode or not episode.description: ++ return None ++ return '%s\n%s\n%s' % (gobject.markup_escape_text(brand.title), ++ gobject.markup_escape_text(episode.title), ++ gobject.markup_escape_text(episode.description)) ++ ++ def onQueryTooltip(self, view, x, y, keyboard_tip, tip): ++ try: ++ model, path, _iter = self.get_tooltip_context(x, y, keyboard_tip) ++ except: ++ return False # probably no content yet ++ ++ brand, episode, msg, genre = model.get(_iter, 0, 1, 2, 3) ++ if msg or genre: ++ return False ++ if brand and not episode: ++ markup = self.get_brand_tooltip(brand) ++ elif brand and episode: ++ markup = self.get_episode_tooltip(brand, episode) ++ else: ++ markup = None ++ if markup: ++ tip.set_markup(markup) ++ else: ++ tip.set_text(_('No details available')) ++ return True ++ ++ def onRowActivated(self, view, path, col): ++ model = self.get_model() ++ if model: ++ _iter = model.get_iter(path) ++ brand, episode = self.get_model().get(_iter, 0, 1) ++ if episode: ++ self.emit('play-episode', episode) ++ ++ def renderGenreCell(self, column, renderer, model, _iter, genre): ++ markup = '%s' % \ ++ (gobject.markup_escape_text(genre.label)) ++ renderer.set_property('markup', markup) ++ ++ def renderBrandCell(self, column, renderer, model, _iter, brand): ++ markup = '%s (%d)' % \ ++ (gobject.markup_escape_text(brand.title), len(brand.episodes)) ++ renderer.set_property('markup', markup) ++ ++ def renderEpisodeCell(self, column, renderer, model, _iter, brand, episode): ++ markup = '%s' % (gobject.markup_escape_text(episode.title)) ++ renderer.set_property('markup', markup) ++ ++ def renderMessageCell(self, column, renderer, model, _iter, msg): ++ markup = '%s' % (gobject.markup_escape_text(msg)) ++ renderer.set_property('markup', markup) ++ ++ def renderCell(self, column, renderer, model, _iter): ++ brand, episode, msg, genre = model.get(_iter, 0, 1, 2, 3) ++ if msg: ++ self.renderMessageCell(column, renderer, model, _iter, msg) ++ elif genre: ++ self.renderGenreCell(column, renderer, model, _iter, genre) ++ elif not episode: ++ self.renderBrandCell(column, renderer, model, _iter, brand) ++ else: ++ self.renderEpisodeCell(column, renderer, model, _iter, brand, episode) ++ ++ # there must be a more elegant way to do this in python ++ def sortFunc(self, model, iter1, iter2): ++ brand1, episode1, genre1 = model.get(iter1, 0, 1, 3) ++ brand2, episode2, genre2 = model.get(iter2, 0, 1, 3) ++ ++ # genres are sorted by genre.sort_rank ++ if genre1 and genre2: ++ if genre1.sort_rank != genre2.sort_rank: ++ return genre1.sort_rank - genre2.sort_rank ++ else: ++ s1 = genre1.label ++ s2 = genre2.label ++ ++ # genre always comes before any other siblings (like brands or episodes) ++ elif genre1: ++ return -1 ++ elif genre2: ++ return 1 ++ ++ # brands and episodes are sorted alphabetically by title ++ elif not episode1 or not episode2: ++ s1 = brand1.title ++ s2 = brand2.title ++ elif episode1 and episode2: ++ s1 = episode1.title ++ s2 = episode2.title ++ else: ++ gst.warning('should not be reached (should be genre label comparison)') ++ ++ # string comparison ++ if s1 == s2: ++ return 0 ++ elif s1 > s2: ++ return 1 ++ else: ++ return -1 ++ ++ def set_message(self, msg): ++ self.msg_store.clear() ++ self.msg_store.append(None, [None, None, msg, None]) ++ self.set_model(self.msg_store) ++ gst.log('set message "' + msg + '"') ++ ++ def setupModel(self): ++ # columns: Brand, Episode, message string, Genre ++ self.msg_store = gtk.TreeStore(object, object, str, object) ++ self.store = gtk.TreeStore(object, object, str, object) ++ self.filter = self.store.filter_new() ++ ++ column = gtk.TreeViewColumn() ++ renderer = gtk.CellRendererText() ++ renderer.set_property('ellipsize', pango.ELLIPSIZE_END) ++ column.pack_start(renderer, expand=True) ++ column.set_cell_data_func(renderer, self.renderCell) ++ self.append_column(column) ++ self.store.set_sort_func(self.SORT_ID_1, self.sortFunc) ++ self.store.set_sort_column_id(self.SORT_ID_1, gtk.SORT_ASCENDING) ++ ++if __name__ == "__main__": ++ # ensure the caps strings in the container/video/audio map are parsable ++ for cs in video_map: ++ caps = gst.Caps(video_map[cs]) ++ for cs in audio_map: ++ caps = gst.Caps(audio_map[cs]) ++ for cs in container_map: ++ caps = gst.Caps(container_map[cs]) ++ # test window ++ window = gtk.Window() ++ scrollwin = gtk.ScrolledWindow() ++ scrollwin.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC) ++ window.add(scrollwin) ++ view = ContentView() ++ view.load() ++ scrollwin.add(view) ++ window.show_all() ++ gtk.main() ++ +Index: totem-2.30.2/src/plugins/bbc/genres.py +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ totem-2.30.2/src/plugins/bbc/genres.py 2010-06-25 15:50:57.090485721 +1000 +@@ -0,0 +1,251 @@ ++#!/usr/bin/python ++# coding=UTF-8 ++# ++# Copyright (C) 2008 Tim-Philipp Müller ++# Copyright (C) 2008 Canonical Ltd. ++# ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++# ++# The Totem project hereby grant permission for non-gpl compatible GStreamer ++# plugins to be used and distributed together with GStreamer and Totem. This ++# permission are above and beyond the permissions granted by the GPL license ++# Totem is covered by. ++# ++# See license_change file for details. ++ ++import gobject ++gobject.threads_init() ++import pygst ++pygst.require ("0.10") ++import gst ++ ++shortref_to_label_map = { ++ "childrens": _("Children's"), ++ "childrens/activities": _("Activities"), ++ "childrens/drama": _("Drama"), ++ "childrens/entertainmentandcomedy": _("Entertainment & Comedy"), ++ "childrens/factual": _("Factual"), ++ "childrens/music": _("Music"), ++ "childrens/news": _("News"), ++ "childrens/sport": _("Sport"), ++ "drama": _("Drama"), ++ "drama/actionandadventure": _("Action & Adventure"), ++ "drama/biographical": _("Biographical"), ++ "drama/classicandperiod": _("Classic & Period"), ++ "drama/crime": _("Crime"), ++ "drama/historical": _("Historical"), ++ "drama/horrorandsupernatural": _("Horror & Supernatural"), ++ "drama/legalandcourtroom": _("Legal & Courtroom"), ++ "drama/medical": _("Medical"), ++ "drama/musical": _("Musical"), ++ "drama/political": _("Political"), ++ "drama/psychological": _("Psychological"), ++ "drama/relationshipsandromance": _("Relationships & Romance"), ++ "drama/scifiandfantasy": _("SciFi & Fantasy"), ++ "drama/soaps": _("Soaps"), ++ "drama/spiritual": _("Spiritual"), ++ "drama/thriller": _("Thriller"), ++ "drama/waranddisaster": _("War & Disaster"), ++ "drama/western": _("Western"), ++ "entertainmentandcomedy": _("Entertainment & Comedy"), ++ "entertainmentandcomedy/impressionists": _("Impressionists"), ++ "entertainmentandcomedy/satire": _("Satire"), ++ "entertainmentandcomedy/sitcoms": _("Sitcoms"), ++ "entertainmentandcomedy/sketch": _("Sketch"), ++ "entertainmentandcomedy/spoof": _("Spoof"), ++ "entertainmentandcomedy/standup": _("Standup"), ++ "entertainmentandcomedy/varietyshows": _("Variety Shows"), ++ "factual": _("Factual"), ++ "factual/antiques": _("Antiques"), ++ "factual/artscultureandthemedia": _("Arts, Culture & the Media"), ++ "factual/beautyandstyle": _("Beauty & Style"), ++ "factual/carsandmotors": _("Cars & Motors"), ++ "factual/cinema": _("Cinema"), ++ "factual/consumer": _("Consumer"), ++ "factual/crimeandjustice": _("Crime & Justice"), ++ "factual/disability": _("Disability"), ++ "factual/familiesandrelationships": _("Families & Relationships"), ++ "factual/foodanddrink": _("Food & Drink"), ++ "factual/healthandwellbeing": _("Health & Wellbeing"), ++ "factual/history": _("History"), ++ "factual/homesandgardens": _("Homes & Gardens"), ++ "factual/lifestories": _("Life Stories"), ++ "factual/money": _("Money"), ++ "factual/petsandanimals": _("Pets & Animals"), ++ "factual/politics": _("Politics"), ++ "factual/sciencenatureandenvironment": _("Science, Nature & Environment"), ++ "factual/travel": _("Travel"), ++ "learning": _("Learning"), ++ "learning/1119": _("Age 11-19"), ++ "learning/511": _("Age 5-11"), ++ "learning/adults": _("Adults"), ++ "learning/preschool": _("Pre-School"), ++ "music": _("Music"), ++ "music/classicpopandrock": _("Classic Pop & Rock"), ++ "music/classical": _("Classical"), ++ "music/country": _("Country"), ++ "music/danceandelectronica": _("Dance & Electronica"), ++ "music/desi": _("Desi"), ++ "music/easylisteningsoundtracksandmusicals": _("Easy Listening, Soundtracks & Musicals"), ++ "music/folk": _("Folk"), ++ "music/hiphoprnbanddancehall": _("Hip Hop, RnB & Dancehall"), ++ "music/jazzandblues": _("Jazz & Blues"), ++ "music/popandchart": _("Pop & Chart"), ++ "music/rockandindie": _("Rock & Indie"), ++ "music/soulandreggae": _("Soul & Reggae"), ++ "music/world": _("World"), ++ "news": _("News"), ++ "religionandethics": _("Religion & Ethics"), ++ "sport": _("Sport"), ++ "sport/archery": _("Archery"), ++ "sport/athletics": _("Athletics"), ++ "sport/badminton": _("Badminton"), ++ "sport/baseball": _("Baseball"), ++ "sport/basketball": _("Basketball"), ++ "sport/bowls": _("Bowls"), ++ "sport/boxing": _("Boxing"), ++ "sport/canoeing": _("Canoeing"), ++ "sport/cricket": _("Cricket"), ++ "sport/cycling": _("Cycling"), ++ "sport/darts": _("Darts"), ++ "sport/disabilitysport": _("Disability Sport"), ++ "sport/diving": _("Diving"), ++ "sport/equestrian": _("Equestrian"), ++ "sport/fencing": _("Fencing"), ++ "sport/football": _("Football"), ++ "sport/gaelicgames": _("Gaelic Games"), ++ "sport/golf": _("Golf"), ++ "sport/gymnastics": _("Gymnastics"), ++ "sport/handball": _("Handball"), ++ "sport/hockey": _("Hockey"), ++ "sport/horseracing": _("Horse Racing"), ++ "sport/judo": _("Judo"), ++ "sport/modernpentathlon": _("Modern Pentathlon"), ++ "sport/motorsport": _("Motorsport"), ++ "sport/olympics": _("Olympics"), ++ "sport/rowing": _("Rowing"), ++ "sport/rugbyleague": _("Rugby League"), ++ "sport/rugbyunion": _("Rugby Union"), ++ "sport/sailing": _("Sailing"), ++ "sport/shinty": _("Shinty"), ++ "sport/shooting": _("Shooting"), ++ "sport/snooker": _("Snooker"), ++ "sport/softball": _("Softball"), ++ "sport/swimming": _("Swimming"), ++ "sport/tabletennis": _("Table Tennis"), ++ "sport/taekwondo": _("Taekwondo"), ++ "sport/tennis": _("Tennis"), ++ "sport/triathlon": _("Triathlon"), ++ "sport/volleyball": _("Volleyball"), ++ "sport/waterpolo": _("Water Polo"), ++ "sport/weightlifting": _("Weightlifting"), ++ "sport/wintersports": _("Winter Sports"), ++ "sport/wrestling": _("Wrestling"), ++ "weather": _("Weather") ++} ++ ++# lowest = at the top ++shortref_to_sortrank_map = { ++ "news": 1, ++ "childrens": 2, ++ "drama": 3, ++ "entertainmentandcomedy": 4, ++ "factual": 5, ++ "learning": 6, ++ "music": 7, ++ "religionandethics": 8, ++ "sport": 9, ++ "weather": 10 ++} ++ ++''' ++GenrePool: keeps track of the already-created genres, mainly so we can easily ++ find already-existing parents for to-be-created genres ++''' ++class GenrePool(object): ++ __slots__ = [ 'genres', 'toplevel_genres' ] ++ ++ def __init__(self): ++ self.clear() ++ ++ def clear(self): ++ self.genres = { } # maps short_ref => genre object ++ ++ def get_genre(self, short_ref): ++ # check if genre already exists ++ if short_ref in self.genres: ++ return self.genres[short_ref] ++ ++ # if not, create genre (and any parents which don't exist yet) ++ lastslash_pos = short_ref.rfind('/') ++ if lastslash_pos > 0: ++ parent_ref = short_ref[0:lastslash_pos] ++ gst.log('genre: ' + short_ref + ', parent_genre: ' + parent_ref) ++ parent = self.get_genre(parent_ref) ++ else: ++ parent = None ++ ++ genre = Genre(short_ref, parent) ++ self.genres[short_ref] = genre ++ ++ return genre ++ ++ def get_toplevel_genres(self): ++ toplevel_genres = [] ++ for genre in self.genres.values(): ++ if not genre.parent: ++ toplevel_genres.append(genre) ++ return toplevel_genres ++ ++''' ++Genre: represents a genre ++''' ++class Genre(object): ++ __slots__ = [ 'short_ref', 'label', 'sort_rank', 'parent', 'children', 'brands' ] ++ ++ def __init__(self, short_ref, parent_genre): ++ self.short_ref = short_ref ++ ++ if short_ref in shortref_to_label_map: ++ self.label = shortref_to_label_map[short_ref] ++ else: ++ self.label = _('Unknown: %s') % short_ref ++ ++ if short_ref in shortref_to_sortrank_map: ++ self.sort_rank = shortref_to_sortrank_map[short_ref] ++ else: ++ self.sort_rank = 99999 ++ ++ self.parent = parent_genre ++ self.children = [] ++ self.brands = [] ++ ++ if parent_genre is not None: ++ parent_genre.add_child(self) ++ ++ gst.log('created genre ' + short_ref + ' = ' + self.label) ++ ++ def add_child(self, child_genre): ++ if child_genre not in self.children: ++ self.children.append(child_genre) ++ ++ def add_brand(self, brand): ++ if brand not in self.brands and brand.title is not None: ++ self.brands.append(brand) ++ gst.log(self.short_ref + ': adding show ' + brand.title) ++ ++if __name__ == "__main__": ++ pass ++ --- totem-2.30.2.orig/debian/patches/01_fake_keypresses.patch +++ totem-2.30.2/debian/patches/01_fake_keypresses.patch @@ -0,0 +1,13 @@ +diff --git a/lib/totem-scrsaver.c b/lib/totem-scrsaver.c +index 089cbb0..526f14c 100644 +--- a/lib/totem-scrsaver.c ++++ b/lib/totem-scrsaver.c +@@ -31,6 +31,8 @@ + #include + #include + ++#undef HAVE_XTEST ++ + #ifdef HAVE_XTEST + #include + #endif /* HAVE_XTEST */ --- totem-2.30.2.orig/debian/patches/07_disable_web_browser_midi.patch +++ totem-2.30.2/debian/patches/07_disable_web_browser_midi.patch @@ -0,0 +1,15 @@ +Description: Karmic's version of gstreamer does not support MIDI over HTTP +Bug: https://bugs.launchpad.net/ubuntu/+source/totem/+bug/463102 + +Index: totem-2.30.2/browser-plugin/totemPlugin.cpp +=================================================================== +--- totem-2.30.2.orig/browser-plugin/totemPlugin.cpp 2010-05-13 01:41:20.000000000 +1000 ++++ totem-2.30.2/browser-plugin/totemPlugin.cpp 2010-06-25 15:40:29.080485721 +1000 +@@ -127,7 +127,6 @@ + { "application/x-nsv-vp3-mp3", "nsv", "video/x-nsv" }, + { "video/flv", "flv", "application/x-flash-video" }, + { "application/x-totem-plugin", "", "Totem Multimedia plugin" }, +- { "audio/midi", "mid, midi", NULL }, + #else + #error Unknown plugin type + #endif --- totem-2.30.2.orig/debian/patches/91_git_correct_rgba_use.patch +++ totem-2.30.2/debian/patches/91_git_correct_rgba_use.patch @@ -0,0 +1,33 @@ +From e8930fc439386304c392272cf3b7b038d8899376 Mon Sep 17 00:00:00 2001 +From: Cody Russell +Date: Fri, 14 May 2010 10:39:46 +0000 +Subject: Set BaconVideoWidget's colormap to the system colormap. +Bug-Ubuntu: bugs.launchpad.net/bugs/584123 + +In the future, GTK+ will use an RGBA colormap by default, +so we set BVW's colormap to the system colormap to be +forward-compatible with this. + +https://bugzilla.gnome.org/show_bug.cgi?id=618597 +--- +Index: totem-2.30.2/src/backend/bacon-video-widget-gst-0.10.c +=================================================================== +--- totem-2.30.2.orig/src/backend/bacon-video-widget-gst-0.10.c 2010-05-13 01:41:24.000000000 +1000 ++++ totem-2.30.2/src/backend/bacon-video-widget-gst-0.10.c 2010-06-25 15:40:42.330485721 +1000 +@@ -580,6 +580,7 @@ + attributes.x = 0; + attributes.y = 0; + gtk_widget_get_allocation (widget, &allocation); ++ attributes.colormap = gdk_screen_get_system_colormap (gtk_widget_get_screen (widget)); + attributes.width = allocation.width; + attributes.height = allocation.height; + attributes.wclass = GDK_INPUT_OUTPUT; +@@ -588,7 +589,7 @@ + GDK_POINTER_MOTION_MASK | + GDK_BUTTON_PRESS_MASK | + GDK_KEY_PRESS_MASK; +- attributes_mask = GDK_WA_X | GDK_WA_Y; ++ attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_COLORMAP; + + bvw->priv->video_window = gdk_window_new (window, + &attributes, attributes_mask); --- totem-2.30.2.orig/debian/patches/02_lpi.patch +++ totem-2.30.2/debian/patches/02_lpi.patch @@ -0,0 +1,49 @@ +Description: Launchpad integration +Author: ? + +Index: totem-2.30.0git20100413/data/totem.ui +=================================================================== +--- totem-2.30.0git20100413.orig/data/totem.ui 2009-12-09 00:42:50.000000000 +0100 ++++ totem-2.30.0git20100413/data/totem.ui 2010-04-14 12:34:26.000000000 +0200 +@@ -504,6 +504,7 @@ + + + ++ + + + +Index: totem-2.30.0git20100413/src/totem-menu.c +=================================================================== +--- totem-2.30.0git20100413.orig/src/totem-menu.c 2010-04-14 12:09:25.000000000 +0200 ++++ totem-2.30.0git20100413/src/totem-menu.c 2010-04-14 12:34:26.000000000 +0200 +@@ -27,6 +27,8 @@ + #include + #include + ++#include ++ + #include "totem-menu.h" + #include "totem.h" + #include "totem-interface.h" +@@ -1391,5 +1393,6 @@ + totem->languages_ui_id = gtk_ui_manager_new_merge_id (totem->ui_manager); + totem->subtitles_action_group = NULL; + totem->subtitles_ui_id = gtk_ui_manager_new_merge_id (totem->ui_manager); ++ launchpad_integration_add_ui(totem->ui_manager, "ui/tmw-menubar/help/LaunchpadItems"); + } + +Index: totem-2.30.0git20100413/configure.in +=================================================================== +--- totem-2.30.0git20100413.orig/configure.in 2010-04-14 12:09:25.000000000 +0200 ++++ totem-2.30.0git20100413/configure.in 2010-04-14 12:34:26.000000000 +0200 +@@ -182,7 +182,8 @@ + gconf-2.0 + totem-plparser >= $TOTEM_PLPARSER_REQS + gstreamer-tag-0.10 >= 0.10.26 +- cairo]) ++ cairo ++ launchpad-integration]) + + PKG_CHECK_MODULES(MM, $MM) + --- totem-2.30.2.orig/debian/patches/81_mpegts.patch +++ totem-2.30.2/debian/patches/81_mpegts.patch @@ -0,0 +1,22 @@ +From 046920a4b1a1e4b085e1faded57d47e45492d368 Mon Sep 17 00:00:00 2001 +From: Bastien Nocera +Date: Sat, 22 May 2010 11:54:18 +0000 +Subject: Add support for video/mp2t + +https://bugzilla.gnome.org/show_bug.cgi?id=614422 +--- +diff --git a/data/mime-type-list.txt b/data/mime-type-list.txt +index a6eab04..8cf04e9 100644 +--- a/data/mime-type-list.txt ++++ b/data/mime-type-list.txt +@@ -72,6 +72,7 @@ video/3gpp + video/dv + video/fli + video/flv ++video/mp2t + video/mp4 + video/mp4v-es + video/mpeg +-- +cgit v0.8.3.1 + --- totem-2.30.2.orig/debian/patches/series +++ totem-2.30.2/debian/patches/series @@ -0,0 +1,7 @@ +01_fake_keypresses.patch +02_lpi.patch +07_disable_web_browser_midi.patch +70_bbc_plugin.patch +80_webm.patch +81_mpegts.patch +91_git_correct_rgba_use.patch