brasero r1017 - in trunk: . src src/plugins/transcode
- From: philippr svn gnome org
- To: svn-commits-list gnome org
- Subject: brasero r1017 - in trunk: . src src/plugins/transcode
- Date: Fri, 18 Jul 2008 13:28:48 +0000 (UTC)
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]