Index: configure.in
===================================================================
--- configure.in	(révision 5871)
+++ configure.in	(copie de travail)
@@ -50,7 +50,7 @@
 AC_SUBST(TOTEM_VERSION_MICRO)
 
 # The full list of plugins
-allowed_plugins="thumbnail screensaver ontop galago gromit lirc media-player-keys mythtv properties sidebar-test skipto sample-python sample-vala bemused youtube publish tracker pythonconsole jamendo opensubtitles"
+allowed_plugins="thumbnail screensaver ontop galago gromit lirc media-player-keys mythtv properties sidebar-test skipto sample-python sample-vala bemused youtube publish tracker pythonconsole jamendo opensubtitles disc-recorder"
 
 PLUGINDIR='${libdir}/totem/plugins'
 AC_SUBST(PLUGINDIR)
@@ -598,6 +598,13 @@
 				add_plugin="0"
 			fi
 		;;
+		disc-recorder)
+			PKG_CHECK_MODULES(DISC_RECORDER, libxml-2.0 >= 2.6.0,
+					[BUILD_RECORDER=yes], [BUILD_RECORDER=no])
+			if test "${BUILD_RECORDER}" != "yes" ; then
+				plugin_error_or_ignore "you need libxml-2.0 >= 2.6.0 to use the disc-recorder plugin"
+				add_plugin="0"
+			fi
 	esac
 
 	# Add the specified plugin
@@ -862,6 +869,7 @@
 src/plugins/pythonconsole/Makefile
 src/plugins/publish/Makefile
 src/plugins/jamendo/Makefile
+src/plugins/disc-recorder/Makefile
 src/backend/Makefile
 browser-plugin/Makefile
 data/Makefile
Index: src/plugins/disc-recorder/Makefile.am
===================================================================
--- src/plugins/disc-recorder/Makefile.am	(révision 0)
+++ src/plugins/disc-recorder/Makefile.am	(révision 0)
@@ -0,0 +1,43 @@
+modules_flags = -export_dynamic -avoid-version -module
+
+plugindir = $(PLUGINDIR)/disc-recorder
+plugin_LTLIBRARIES = libdisc-recorder.la
+
+plugin_in_files = disc-recorder.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)
+
+common_defines = \
+	-D_REENTRANT					\
+	-DDBUS_API_SUBJECT_TO_CHANGE			\
+	-DGNOMELOCALEDIR=\""$(datadir)/locale"\"	\
+	-DGCONF_PREFIX=\""/apps/totem"\"		\
+	-DDATADIR=\""$(datadir)"\"			\
+	-DLIBEXECDIR=\""$(libexecdir)"\"		\
+	-DBINDIR=\""$(bindir)"\"			\
+	-DTOTEM_PLUGIN_DIR=\""$(libdir)/totem/plugins"\"\
+	$(DISABLE_DEPRECATED)
+
+libdisc_recorder_la_SOURCES = totem-disc-recorder.c
+libdisc_recorder_la_LDFLAGS = $(modules_flags)
+libdisc_recorder_la_LIBADD = $(DISC_RECORDER_LIBS)
+libdisc_recorder_la_CPPFLAGS = $(common_defines)
+
+libdisc_recorder_la_CFLAGS = \
+	$(DEPENDENCY_CFLAGS)	\
+	$(WARN_CFLAGS)		\
+	$(DBUS_CFLAGS)		\
+	$(AM_CFLAGS)		\
+	$(DISC_RECORDER_CFLAGS)	\
+	-I$(top_srcdir)/	\
+	-I$(top_srcdir)/lib	\
+	-I$(top_srcdir)/src	\
+	-I$(top_srcdir)/src/plugins
+
+EXTRA_DIST = $(plugin_in_files)
+
+CLEANFILES = $(plugin_DATA) $(BUILT_SOURCES)
+DISTCLEANFILES = $(plugin_DATA)
+
Index: src/plugins/disc-recorder/totem-disc-recorder.c
===================================================================
--- src/plugins/disc-recorder/totem-disc-recorder.c	(révision 0)
+++ src/plugins/disc-recorder/totem-disc-recorder.c	(révision 0)
@@ -0,0 +1,531 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
+/*
+ * Copyright (C) Philippe Rouquier 2008 <bonfire-app@wanadoo.fr>
+ *
+ * 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 Library 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
+ */
+
+#include "config.h"
+
+#include <unistd.h>
+
+#include <glib.h>
+#include <glib-object.h>
+#include <glib/gi18n-lib.h>
+#include <glib/gstdio.h>
+#include <gmodule.h>
+#include <gdk/gdkx.h>
+
+#include <libxml/xmlerror.h>
+#include <libxml/xmlwriter.h>
+#include <libxml/parser.h>
+#include <libxml/xmlstring.h>
+#include <libxml/uri.h>
+
+#include "totem-plugin.h"
+
+
+#define TOTEM_TYPE_DISC_RECORDER_PLUGIN		(totem_disc_recorder_plugin_get_type ())
+#define TOTEM_DISC_RECORDER_PLUGIN(o)		(G_TYPE_CHECK_INSTANCE_CAST ((o), TOTEM_TYPE_DISC_RECORDER_PLUGIN, TotemDiscRecorderPlugin))
+#define TOTEM_DISC_RECORDER_PLUGIN_CLASS(k)	(G_TYPE_CHECK_CLASS_CAST((k), TOTEM_TYPE_DISC_RECORDER_PLUGIN, TotemDiscRecorderPluginClass))
+#define TOTEM_IS_DISC_RECORDER_PLUGIN(o)	(G_TYPE_CHECK_INSTANCE_TYPE ((o), TOTEM_TYPE_DISC_RECORDER_PLUGIN))
+#define TOTEM_IS_DISC_RECORDER_PLUGIN_CLASS(k)	(G_TYPE_CHECK_CLASS_TYPE ((k), TOTEM_TYPE_DISC_RECORDER_PLUGIN))
+#define TOTEM_DISC_RECORDER_PLUGIN_GET_CLASS(o)	(G_TYPE_INSTANCE_GET_CLASS ((o), TOTEM_TYPE_DISC_RECORDER_PLUGIN, TotemDiscRecorderPluginClass))
+
+typedef struct TotemDiscRecorderPluginPrivate         TotemDiscRecorderPluginPrivate;
+
+typedef struct
+{
+	TotemPlugin	          	 parent;
+
+	TotemObject    			*totem;
+
+	GtkActionGroup			*action_group;
+	guint				 ui_merge_id;
+
+	gboolean			 enabled;
+} TotemDiscRecorderPlugin;
+
+typedef struct
+{
+	TotemPluginClass parent_class;
+} TotemDiscRecorderPluginClass;
+
+G_MODULE_EXPORT GType register_totem_plugin (GTypeModule *module);
+GType totem_disc_recorder_plugin_get_type (void) G_GNUC_CONST;
+
+TOTEM_PLUGIN_REGISTER (TotemDiscRecorderPlugin, totem_disc_recorder_plugin)
+
+static void
+totem_disc_recorder_plugin_burn (GtkAction			*action,
+			  	 TotemDiscRecorderPlugin	*pi);
+static void
+totem_disc_recorder_plugin_copy (GtkAction			*action,
+			  	 TotemDiscRecorderPlugin	*pi);
+
+static GtkActionEntry totem_disc_recorder_plugin_actions [] = {
+	{ "VideoBurnToDisc", "media-optical-video-new", N_("_Create Video Disc..."), NULL,
+	  N_("Create a video DVD or a (S)VCD from the currently opened media stream"),
+	  G_CALLBACK (totem_disc_recorder_plugin_burn) },
+	{ "VideoDiscCopy", "media-optical-copy", N_("Copy Vide_o Disc..."), NULL,
+	  N_("Copy the currently playing video DVD or (S)VCD"),
+	  G_CALLBACK (totem_disc_recorder_plugin_copy) },
+};
+
+typedef enum {
+	TOTEM_DISC_RECORDER_ERROR_NONE		= 0,
+	TOTEM_DISC_RECORDER_ERROR_GENERAL
+} TotemDiscRecorderError;
+
+#define TOTEM_RECORDER_ERROR totem_disc_recorder_error_quark ()
+
+GQuark totem_disc_recorder_error_quark (void);
+
+GQuark
+totem_disc_recorder_error_quark (void)
+{
+        static GQuark quark = 0;
+        if (! quark) {
+                quark = g_quark_from_static_string ("totem_disc_recorder_error");
+        }
+
+        return quark;
+}
+
+static void
+totem_disc_recorder_plugin_start_video_cd_burning (TotemDiscRecorderPlugin *pi,
+						   const gchar *path)
+{
+	char *cmd;
+	guint xid;
+	GError *error = NULL;
+
+	xid = gdk_x11_drawable_get_xid (GDK_DRAWABLE (GTK_WIDGET (totem_get_main_window (pi->totem))->window));
+	cmd = g_strdup_printf ("brasero -r %s -x %d", path, xid);
+	if (!g_spawn_command_line_async (cmd, &error)) {
+		GtkWidget *dialog;
+
+		dialog = gtk_message_dialog_new (totem_get_main_window (pi->totem),
+						 GTK_DIALOG_DESTROY_WITH_PARENT,
+						 GTK_MESSAGE_ERROR,
+						 GTK_BUTTONS_CLOSE,
+						 _("The video could not be recorded."));
+
+		gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
+	  						  "%s: %s",
+							  _("Reason"),
+							  error->message);
+
+		gtk_dialog_run (GTK_DIALOG (dialog));
+		gtk_widget_destroy (dialog);
+		g_error_free (error);
+	}
+
+	g_free (cmd);
+}
+
+static gchar*
+totem_disc_recorder_plugin_write_video_project (TotemDiscRecorderPlugin	 *pi,
+						GError			**error)
+{
+	xmlTextWriter *project;
+	xmlChar *escaped;
+	gint success;
+	gchar *title;
+    	gchar *path;
+	gchar *uri;
+	int fd;
+
+	/* get a temporary path */
+	path = g_build_filename (g_get_tmp_dir (), "brasero-tmp-project-XXXXXX",  NULL);
+	fd = g_mkstemp (path);
+	if (!fd) {
+		g_free (path);
+
+		g_set_error (error,
+                 	     TOTEM_RECORDER_ERROR,
+                     	     TOTEM_DISC_RECORDER_ERROR_GENERAL,
+                    	     _("Unable to write video project."));
+
+		return NULL;
+	}
+
+	project = xmlNewTextWriterFilename (path, 0);
+	if (!project) {
+		g_remove (path);
+		g_free (path);
+		close (fd);
+
+		g_set_error (error,
+                 	     TOTEM_RECORDER_ERROR,
+                     	     TOTEM_DISC_RECORDER_ERROR_GENERAL,
+                    	     _("Unable to write video project."));
+
+		return NULL;
+	}
+
+	xmlTextWriterSetIndent (project, 1);
+	xmlTextWriterSetIndentString (project, (xmlChar *) "\t");
+
+	success = xmlTextWriterStartDocument (project,
+					      NULL,
+					      "UTF8",
+					      NULL);
+	if (success < 0)
+		goto error;
+
+	success = xmlTextWriterStartElement (project, (xmlChar *) "braseroproject");
+	if (success < 0)
+		goto error;
+
+	/* write the name of the version */
+	success = xmlTextWriterWriteElement (project,
+					     (xmlChar *) "version",
+					     (xmlChar *) "0.2");
+	if (success < 0)
+		goto error;
+
+	title = totem_get_short_title (pi->totem);
+	if (title) {
+		success = xmlTextWriterWriteElement (project,
+						     (xmlChar *) "label",
+						     (xmlChar *) title);
+		g_free (title);
+
+		if (success < 0)
+			goto error;
+	}
+
+	success = xmlTextWriterStartElement (project, (xmlChar *) "track");
+	if (success < 0)
+		goto error;
+
+	success = xmlTextWriterStartElement (project, (xmlChar *) "video");
+	if (success < 0)
+		goto error;
+
+	uri = totem_get_current_mrl (pi->totem);
+	escaped = (unsigned char *) g_uri_escape_string (uri, NULL, FALSE);
+	g_free (uri);
+
+	success = xmlTextWriterWriteElement (project,
+					    (xmlChar *) "uri",
+					     escaped);
+	g_free (escaped);
+	if (success == -1)
+		goto error;
+
+	/* start of the song always 0 */
+	success = xmlTextWriterWriteElement (project,
+					     (xmlChar *) "start",
+					     (xmlChar *) "0");
+	if (success == -1)
+		goto error;
+
+	success = xmlTextWriterEndElement (project); /* video */
+	if (success < 0)
+		goto error;
+
+	success = xmlTextWriterEndElement (project); /* track */
+	if (success < 0)
+		goto error;
+
+	success = xmlTextWriterEndElement (project); /* braseroproject */
+	if (success < 0)
+		goto error;
+
+	xmlTextWriterEndDocument (project);
+	xmlFreeTextWriter (project);
+	close (fd);
+
+	return path;
+
+error:
+
+	/* cleanup */
+	xmlTextWriterEndDocument (project);
+	xmlFreeTextWriter (project);
+
+	g_remove (path);
+	g_free (path);
+	close (fd);
+
+	g_set_error (error,
+                     TOTEM_RECORDER_ERROR,
+                     TOTEM_DISC_RECORDER_ERROR_GENERAL,
+                     _("Unable to write video project."));
+
+	return NULL;
+}
+
+static void
+totem_disc_recorder_plugin_burn (GtkAction			*action,
+			  	 TotemDiscRecorderPlugin	*pi)
+{
+	gchar *path;
+	GError *error = NULL;
+
+	path = totem_disc_recorder_plugin_write_video_project (pi, &error);
+	if (!path) {
+		GtkWidget *dialog;
+
+		dialog = gtk_message_dialog_new (totem_get_main_window (pi->totem),
+						 GTK_DIALOG_DESTROY_WITH_PARENT,
+						 GTK_MESSAGE_ERROR,
+						 GTK_BUTTONS_CLOSE,
+						 _("The video could not be recorded."));
+
+		gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
+	  						  "%s: %s",
+							  _("Reason"),
+							  error->message);
+
+		gtk_dialog_run (GTK_DIALOG (dialog));
+		gtk_widget_destroy (dialog);
+		g_error_free (error);
+		return;
+	}
+
+	totem_disc_recorder_plugin_start_video_cd_burning (pi, path);
+	g_free (path);
+}
+
+static void
+totem_disc_recorder_plugin_copy (GtkAction			*action,
+				 TotemDiscRecorderPlugin	*pi)
+{
+	guint xid;
+	GError *error = NULL;
+	char *device_path, *cmd, *mrl;
+
+	/* get device */
+	mrl = totem_get_current_mrl (pi->totem);
+	if (g_str_has_prefix (mrl, "dvd:"))
+		device_path = mrl + 6;
+	else {
+		g_free (mrl);
+		return;
+	}
+
+	xid = gdk_x11_drawable_get_xid (GDK_DRAWABLE (GTK_WIDGET (totem_get_main_window (pi->totem))->window));
+	cmd = g_strdup_printf ("brasero -c %s -x %i", device_path, xid);
+	if (!g_spawn_command_line_async (cmd, &error)) {
+		GtkWidget *dialog;
+
+		dialog = gtk_message_dialog_new (totem_get_main_window (pi->totem),
+						 GTK_DIALOG_DESTROY_WITH_PARENT,
+						 GTK_MESSAGE_ERROR,
+						 GTK_BUTTONS_CLOSE,
+						 _("The video disc could not be duplicated."));
+
+		gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
+	  						  "%s: %s",
+							  _("Reason"),
+							  error->message);
+
+		gtk_dialog_run (GTK_DIALOG (dialog));
+		gtk_widget_destroy (dialog);
+		g_error_free (error);
+	}
+
+	g_free (mrl);
+	g_free (cmd);
+}
+
+static void
+totem_disc_recorder_file_closed (TotemObject *totem,
+				 TotemDiscRecorderPlugin *pi)
+{
+	GtkAction      		*action;
+
+        action = gtk_action_group_get_action (pi->action_group, "VideoBurnToDisc");
+	gtk_action_set_visible (action, FALSE);
+        action = gtk_action_group_get_action (pi->action_group, "VideoDiscCopy");
+	gtk_action_set_visible (action, FALSE);
+}
+
+static void
+totem_disc_recorder_file_opened (TotemObject *totem,
+				 const gchar *mrl,
+				 TotemDiscRecorderPlugin *pi)
+{
+	GtkAction      		*action;
+
+	/* Check if that stream is supported by brasero */
+	if (g_str_has_prefix (mrl, "file:")) {
+		/* If the file is supported we can always burn, even if there
+		 * aren't any burner since we can still create an image. */
+	        action = gtk_action_group_get_action (pi->action_group, "VideoBurnToDisc");
+		gtk_action_set_visible (action, TRUE);
+	        action = gtk_action_group_get_action (pi->action_group, "VideoDiscCopy");
+		gtk_action_set_visible (action, FALSE);
+	}
+	else if (g_str_has_prefix (mrl, "dvd:") || g_str_has_prefix (mrl, "vcd:")) {
+	        action = gtk_action_group_get_action (pi->action_group, "VideoBurnToDisc");
+		gtk_action_set_visible (action, FALSE);
+	        action = gtk_action_group_get_action (pi->action_group, "VideoDiscCopy");
+		gtk_action_set_visible (action, TRUE);
+	}
+	else {
+	        action = gtk_action_group_get_action (pi->action_group, "VideoBurnToDisc");
+		gtk_action_set_visible (action, FALSE);
+	        action = gtk_action_group_get_action (pi->action_group, "VideoDiscCopy");
+		gtk_action_set_visible (action, FALSE);
+	}
+}
+
+static gboolean
+impl_activate (TotemPlugin *plugin,
+	       TotemObject *totem,
+	       GError **error)
+{
+	TotemDiscRecorderPlugin *pi = TOTEM_DISC_RECORDER_PLUGIN (plugin);
+	GtkUIManager       	*uimanager = NULL;
+	GtkAction      		*action;
+	gchar			*path;
+
+	/* make sure brasero is in the path */
+	path = g_find_program_in_path ("brasero");
+	if (!path)
+		return FALSE;
+	g_free (path);
+
+	pi->totem = totem;
+
+	g_signal_connect (totem,
+			  "file-opened",
+			  G_CALLBACK (totem_disc_recorder_file_opened),
+			  plugin);
+	g_signal_connect (totem,
+			  "file-closed",
+			  G_CALLBACK (totem_disc_recorder_file_closed),
+			  plugin);
+
+	/* add UI */
+	pi->action_group = gtk_action_group_new ("DiscRecorderActions");
+	gtk_action_group_set_translation_domain (pi->action_group, GETTEXT_PACKAGE);
+	gtk_action_group_add_actions (pi->action_group,
+				      totem_disc_recorder_plugin_actions,
+				      G_N_ELEMENTS (totem_disc_recorder_plugin_actions),
+				      pi);
+
+	uimanager = totem_get_ui_manager (totem);
+	gtk_ui_manager_insert_action_group (uimanager, pi->action_group, -1);
+	g_object_unref (pi->action_group);
+
+	pi->ui_merge_id = gtk_ui_manager_new_merge_id (uimanager);
+
+	gtk_ui_manager_add_ui (uimanager,
+			       pi->ui_merge_id,
+			       "/ui/tmw-menubar/movie/burn-placeholder",
+			       "VideoBurnToDisc",
+			       "VideoBurnToDisc",
+			       GTK_UI_MANAGER_MENUITEM,
+			       TRUE);
+	gtk_ui_manager_add_ui (uimanager,
+			       pi->ui_merge_id,
+			       "/ui/totem-main-popup/burn-placeholder",
+			       "VideoBurnToDisc",
+			       "VideoBurnToDisc",
+			       GTK_UI_MANAGER_MENUITEM,
+			       TRUE);
+
+	gtk_ui_manager_add_ui (uimanager,
+			       pi->ui_merge_id,
+			       "/ui/tmw-menubar/movie/burn-placeholder",
+			       "VideoDiscCopy",
+			       "VideoDiscCopy",
+			       GTK_UI_MANAGER_MENUITEM,
+			       TRUE);
+	gtk_ui_manager_add_ui (uimanager,
+			       pi->ui_merge_id,
+			       "/ui/totem-main-popup/burn-placeholder",
+			       "VideoDiscCopy",
+			       "VideoDiscCopy",
+			       GTK_UI_MANAGER_MENUITEM,
+			       TRUE);
+
+	if (!totem_is_paused (totem) && !totem_is_playing (totem)) {
+	        action = gtk_action_group_get_action (pi->action_group, "VideoBurnToDisc");
+		gtk_action_set_visible (action, FALSE);
+	        action = gtk_action_group_get_action (pi->action_group, "VideoDiscCopy");
+		gtk_action_set_visible (action, FALSE);
+	}
+	else {
+		gchar *mrl;
+
+		/* NOTE: since we can write to an image then, it's always TRUE
+		 * as long as there is a local regular file or a video disc. */
+
+		mrl = totem_get_current_mrl (totem);
+		totem_disc_recorder_file_opened (totem, mrl, pi);
+		g_free (mrl);
+	}
+
+	/* Translators: this is the toolbar button label for */
+	/* Create Audio CD action                            */
+	g_object_set (action, "short-label", _("Burn"), NULL);
+
+	return TRUE;
+}
+
+static void
+impl_deactivate	(TotemPlugin *plugin,
+		 TotemObject *totem)
+{
+	TotemDiscRecorderPlugin	*pi = TOTEM_DISC_RECORDER_PLUGIN (plugin);
+	GtkUIManager      	*uimanager = NULL;
+
+	pi->enabled = FALSE;
+
+	g_signal_handlers_disconnect_by_func (totem, totem_disc_recorder_file_opened, plugin);
+	g_signal_handlers_disconnect_by_func (totem, totem_disc_recorder_file_closed, plugin);
+
+	uimanager = totem_get_ui_manager (totem);
+	gtk_ui_manager_remove_ui (uimanager, pi->ui_merge_id);
+	gtk_ui_manager_remove_action_group (uimanager, pi->action_group);
+
+	pi->totem = NULL;
+}
+
+static void
+totem_disc_recorder_plugin_finalize (GObject *object)
+{
+	G_OBJECT_CLASS (totem_disc_recorder_plugin_parent_class)->finalize (object);
+}
+
+static void
+totem_disc_recorder_plugin_class_init (TotemDiscRecorderPluginClass *klass)
+{
+	GObjectClass *object_class = G_OBJECT_CLASS (klass);
+	TotemPluginClass *plugin_class = TOTEM_PLUGIN_CLASS (klass);
+
+	object_class->finalize = totem_disc_recorder_plugin_finalize;
+
+	plugin_class->activate = impl_activate;
+	plugin_class->deactivate = impl_deactivate;
+}
+
+static void
+totem_disc_recorder_plugin_init (TotemDiscRecorderPlugin *pi)
+{
+	/* As long as it's not a library I don't see how to do it differently */
+	gtk_icon_theme_append_search_path (gtk_icon_theme_get_default (),
+					   "/usr/share/brasero/icons");
+	gtk_icon_theme_append_search_path (gtk_icon_theme_get_default (),
+					   "/usr/local/share/brasero/icons");
+}
+
+
Index: src/plugins/disc-recorder/disc-recorder.totem-plugin.in
===================================================================
--- src/plugins/disc-recorder/disc-recorder.totem-plugin.in	(révision 0)
+++ src/plugins/disc-recorder/disc-recorder.totem-plugin.in	(révision 0)
@@ -0,0 +1,9 @@
+[Totem Plugin]
+Module=disc-recorder
+IAge=1
+Builtin=false
+_Name=Video Disc Recorder
+_Description=Records (S)VCDs or video DVDs
+Authors=Philippe Rouquier
+Copyright=Copyright © 2008 Philippe Rouquier
+Website=http://www.gnome.org/projects/brasero/
Index: data/totem.ui
===================================================================
--- data/totem.ui	(révision 5871)
+++ data/totem.ui	(copie de travail)
@@ -443,6 +443,8 @@
             <separator/>
             <menuitem name="play" action="play"/>
             <separator/>
+            <placeholder name="burn-placeholder"/>
+            <separator/>
             <menuitem name="quit" action="quit"/>
          </menu>
          <menu name="edit" action="edit-menu">
@@ -521,6 +523,8 @@
          <menuitem name="fullscreen" action="fullscreen"/>
          <menuitem name="select-subtitle" action="select-subtitle"/>
          <separator/>
+         <placeholder name="burn-placeholder"/>
+         <separator/>
          <menu name="popup-languages" action="languages-menu">
             <placeholder name="placeholder"/>
          </menu>
