brasero r1017 - in trunk: . src src/plugins/transcode



Author: philippr
Date: Fri Jul 18 13:28:48 2008
New Revision: 1017
URL: http://svn.gnome.org/viewvc/brasero?rev=1017&view=rev

Log:
	Committed some changes for Open Solaris
	patch by Lin Ma <Lin Ma Sun COM>
 
 	* src/brasero-tool-dialog.c: (brasero_tool_dialog_init):
 	brasero_drive_selection_set_type_shown doesn\'t include
 	BRASERO_MEDIA_TYPE_WRITABLE, so CD/DVD-R mediums will not be shown on
 	the dialog.
 	
 	* src/burn-drive.c, src/burn-drive.h: (brasero_drive_get_block_device),
 	(brasero_drive_finalize), (brasero_drive_init_real):
 	* src/burn-volume-obj.c: (brasero_volume_get_gvolume):
 	It\'s a tricky for Solaris because block/raw devices have different
 	device nodes. We actually raw device by default but
 	brasero_volume_get_gvolume returns block device so I have to hack it.
 
 	* src/burn-job.c: (brasero_job_set_output_file):
 	* src/burn-session.c: (brasero_burn_session_get_config_key):
 	* src/burn-track.c: (brasero_track_get_checksum):
 	Sun libc printf currently doesn\'t support NULL string.
 	
 	* src/burn-medium-monitor.c:
 	(brasero_medium_monitor_medium_inserted):
 	Block/raw device related fix.
 	
 	* src/burn-plugin-manager.c: (brasero_plugin_manager_init):
 	If fail to load a plugin, we should ignore it.
 	
 	* src/plugins/transcode/burn-normalize.c:
 	(brasero_normalize_export_caps):
 	Detail errors should be better here for OS do not have all the plugins.
 	
 	* src/scsi-dvd-structures.h:
 	Sun compiler doesn\'t support empty structures.

Modified:
   trunk/ChangeLog
   trunk/src/brasero-tool-dialog.c
   trunk/src/burn-drive.c
   trunk/src/burn-drive.h
   trunk/src/burn-job.c
   trunk/src/burn-medium-monitor.c
   trunk/src/burn-plugin-manager.c
   trunk/src/burn-session.c
   trunk/src/burn-track.c
   trunk/src/burn-volume-obj.c
   trunk/src/plugins/transcode/burn-normalize.c
   trunk/src/scsi-dvd-structures.h

Modified: trunk/src/brasero-tool-dialog.c
==============================================================================
--- trunk/src/brasero-tool-dialog.c	(original)
+++ trunk/src/brasero-tool-dialog.c	Fri Jul 18 13:28:48 2008
@@ -491,6 +491,7 @@
 
 	brasero_drive_selection_set_type_shown (BRASERO_DRIVE_SELECTION (obj->priv->selector),
 						BRASERO_MEDIA_TYPE_REWRITABLE|
+						BRASERO_MEDIA_TYPE_WRITABLE|
 						BRASERO_MEDIA_TYPE_READABLE);
 
 	gtk_box_pack_start (GTK_BOX (GTK_DIALOG (obj)->vbox),

Modified: trunk/src/burn-drive.c
==============================================================================
--- trunk/src/burn-drive.c	(original)
+++ trunk/src/burn-drive.c	Fri Jul 18 13:28:48 2008
@@ -55,6 +55,7 @@
 	BraseroMedium *medium;
 	BraseroDriveCaps caps;
 	gchar *path;
+	gchar *block_path;
 	gchar *udi;
 
 	gint bus;
@@ -289,6 +290,15 @@
 }
 
 const gchar *
+brasero_drive_get_block_device (BraseroDrive *self)
+{
+	BraseroDrivePrivate *priv;
+
+	priv = BRASERO_DRIVE_PRIVATE (self);
+	return priv->block_path;
+}
+
+const gchar *
 brasero_drive_get_udi (BraseroDrive *self)
 {
 	BraseroDrivePrivate *priv;
@@ -390,6 +400,11 @@
 		priv->path = NULL;
 	}
 
+	if (priv->block_path) {
+		libhal_free_string (priv->block_path);
+		priv->block_path = NULL;
+	}
+
 	if (priv->udi) {
 		g_free (priv->udi);
 		priv->udi = NULL;
@@ -420,6 +435,12 @@
 		priv->path = NULL;
 	}
 
+	priv->block_path = libhal_device_get_property_string (ctx, priv->udi, "block.device", NULL);
+	if (priv->block_path [0] == '\0') {
+		g_free (priv->block_path);
+		priv->block_path = NULL;
+	}
+
 	if (libhal_device_get_property_bool (ctx, priv->udi, "storage.cdrom.cdr", NULL))
 		priv->caps |= BRASERO_DRIVE_CAPS_CDR;
 	if (libhal_device_get_property_bool (ctx, priv->udi, "storage.cdrom.cdrw", NULL))

Modified: trunk/src/burn-drive.h
==============================================================================
--- trunk/src/burn-drive.h	(original)
+++ trunk/src/burn-drive.h	Fri Jul 18 13:28:48 2008
@@ -87,6 +87,9 @@
 const gchar *
 brasero_drive_get_device (BraseroDrive *drive);
 
+const gchar *
+brasero_drive_get_block_device (BraseroDrive *drive);
+
 gboolean
 brasero_drive_get_bus_target_lun (BraseroDrive *drive,
 				  guint *bus,

Modified: trunk/src/burn-job.c
==============================================================================
--- trunk/src/burn-job.c	(original)
+++ trunk/src/burn-job.c	Fri Jul 18 13:28:48 2008
@@ -570,7 +570,7 @@
 
 		BRASERO_JOB_LOG (self, "output set (IMAGE) image = %s toc = %s",
 				 image,
-				 toc);
+		    toc ? toc : "nil");
 	}
 	else if (priv->type.type == BRASERO_TRACK_TYPE_AUDIO) {
 		/* NOTE: this one can only a temporary file */

Modified: trunk/src/burn-medium-monitor.c
==============================================================================
--- trunk/src/burn-medium-monitor.c	(original)
+++ trunk/src/burn-medium-monitor.c	Fri Jul 18 13:28:48 2008
@@ -43,6 +43,12 @@
 #include "burn-volume-obj.h"
 #include "burn-medium-monitor.h"
 
+#if defined(HAVE_STRUCT_USCSI_CMD)
+#define BLOCK_DEVICE	"block.solaris.raw_device"
+#else
+#define BLOCK_DEVICE	"block.device"
+#endif
+
 typedef struct _BraseroMediumMonitorPrivate BraseroMediumMonitorPrivate;
 struct _BraseroMediumMonitorPrivate
 {
@@ -156,7 +162,7 @@
 
 	drive_path = libhal_device_get_property_string (ctx,
 							udi,
-							"block.device",
+							BLOCK_DEVICE,
 							NULL);
 	if (!drive_path)
 		return;

Modified: trunk/src/burn-plugin-manager.c
==============================================================================
--- trunk/src/burn-plugin-manager.c	(original)
+++ trunk/src/burn-plugin-manager.c	Fri Jul 18 13:28:48 2008
@@ -471,8 +471,11 @@
 		if (brasero_plugin_get_gtype (plugin) == G_TYPE_NONE) {
 			BRASERO_BURN_LOG ("Load failure, no GType was returned %s",
 					  brasero_plugin_get_error (plugin));
+			g_object_unref (plugin);
+			continue;
 		}
 
+		g_assert(brasero_plugin_get_name(plugin));
 		priv->plugins = g_slist_prepend (priv->plugins, plugin);
 	}
 	g_dir_close (directory);

Modified: trunk/src/burn-session.c
==============================================================================
--- trunk/src/burn-session.c	(original)
+++ trunk/src/burn-session.c	Fri Jul 18 13:28:48 2008
@@ -1613,6 +1613,9 @@
 
 	g_strdelimit (disc_type, " +()", '_');
 
+	display_name = display_name ? display_name : "";
+	disc_type = disc_type ? disc_type : "";
+
 	switch (brasero_burn_session_get_input_type (self, NULL)) {
 	case BRASERO_TRACK_TYPE_NONE:
 		key = g_strdup_printf ("%s/%s/none_%s/%s",

Modified: trunk/src/burn-track.c
==============================================================================
--- trunk/src/burn-track.c	(original)
+++ trunk/src/burn-track.c	Fri Jul 18 13:28:48 2008
@@ -943,7 +943,7 @@
 const gchar *
 brasero_track_get_checksum (BraseroTrack *track)
 {
-	return track->checksum;
+	return track->checksum ? track->checksum : "";
 }
 
 BraseroChecksumType

Modified: trunk/src/burn-volume-obj.c
==============================================================================
--- trunk/src/burn-volume-obj.c	(original)
+++ trunk/src/burn-volume-obj.c	Fri Jul 18 13:28:48 2008
@@ -72,7 +72,12 @@
 	priv = BRASERO_VOLUME_PRIVATE (self);
 
 	drive = brasero_medium_get_drive (BRASERO_MEDIUM (self));
+
+#if defined(HAVE_STRUCT_USCSI_CMD)
+	volume_path = brasero_drive_get_block_device (drive);
+#else
 	volume_path = brasero_drive_get_device (drive);
+#endif
 
 	/* NOTE: medium-monitor already holds a reference for GVolumeMonitor */
 	monitor = g_volume_monitor_get ();
@@ -85,6 +90,7 @@
 
 		tmp = iter->data;
 		device_path = g_volume_get_identifier (tmp, G_VOLUME_IDENTIFIER_KIND_UNIX_DEVICE);
+		BRASERO_BURN_LOG ("Found volume %s", device_path);
 		if (!strcmp (device_path, volume_path)) {
 			volume = tmp;
 			g_free (device_path);

Modified: trunk/src/plugins/transcode/burn-normalize.c
==============================================================================
--- trunk/src/plugins/transcode/burn-normalize.c	(original)
+++ trunk/src/plugins/transcode/burn-normalize.c	Fri Jul 18 13:28:48 2008
@@ -556,14 +556,18 @@
 
 	/* Let's see if we've got the plugins we need */
 	element = gst_element_factory_make ("rgvolume", NULL);
-	if (!element)
+	if (!element) {
+		*error = g_strdup (_("GST plugin \"rgvolume\" could not be found"));
 		return BRASERO_BURN_ERR;
+	}
 
 	gst_object_unref (element);
 
 	element = gst_element_factory_make ("rganalysis", NULL);
-	if (!element)
+	if (!element) {
+		*error = g_strdup (_("GST plugin \"rganalysis\" could not be found"));
 		return BRASERO_BURN_ERR;
+	}
 
 	gst_object_unref (element);
 

Modified: trunk/src/scsi-dvd-structures.h
==============================================================================
--- trunk/src/scsi-dvd-structures.h	(original)
+++ trunk/src/scsi-dvd-structures.h	Fri Jul 18 13:28:48 2008
@@ -288,19 +288,22 @@
 	uchar reserved				[2];
 };
 /* variable length 12 to 188 bytes for DVD, max is 76 for HD DVD */
+/*
 struct _BraseroScsiBurstCuttingArea {
 	uchar burst_cutting_area		[0];
 };
+*/
 
 struct _BraseroScsiManufacturingInfo {
 	uchar data				[2048];
 };
 
 /* variable length */
+/*
 struct _BraseroScsiCopyrightDataSection {
 	uchar data				[0];
 };
-
+*/
 
 typedef struct _BraseroScsiLayerFormatList BraseroScsiLayerFormatList;
 typedef struct _BraseroScsiDiscWrtProtection BraseroScsiDiscWrtProtection;
@@ -308,7 +311,7 @@
 typedef struct _BraseroScsiPhysicalFormat BraseroScsiPhysicalFormat;
 typedef struct _BraseroScsiCopyrightManagement BraseroScsiCopyrightManagement;
 typedef struct _BraseroScsiDVDCopyright BraseroScsiDVDCopyright;
-typedef struct _BraseroScsiBurstCuttingArea BraseroScsiBurnCuttingArea;
+/* typedef struct _BraseroScsiBurstCuttingArea BraseroScsiBurnCuttingArea; */
 typedef struct _BraseroScsiManufacturingInfo BraseroScsiManufacturingInfo;
 
 #ifdef __cplusplus



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]