Author: philippr Date: Sun Jan 20 20:10:58 2008 New Revision: 609 URL: http://svn.gnome.org/viewvc/brasero?rev=609&view=rev
Log: Added support for ISO level 3 in session importing (= support multi extent files) * src/burn-iso-field.c: (brasero_iso9660_get_733_val): * src/burn-iso-field.h: * src/burn-iso9660.c: (brasero_iso9660_read_directory_records): * src/burn-volume.h: Modified: branches/brasero_0_7/ChangeLog branches/brasero_0_7/src/burn-iso-field.c branches/brasero_0_7/src/burn-iso-field.h branches/brasero_0_7/src/burn-iso9660.c branches/brasero_0_7/src/burn-volume.h Modified: branches/brasero_0_7/src/burn-iso-field.c ============================================================================== --- branches/brasero_0_7/src/burn-iso-field.c (original) +++ branches/brasero_0_7/src/burn-iso-field.c Sun Jan 20 20:10:58 2008 @@ -26,12 +26,12 @@ #include "burn-iso-field.h" -gint32 +guint32 brasero_iso9660_get_733_val (guchar *buffer) { - gint32 *ptr; + guint32 *ptr; - ptr = (gint32*) buffer; + ptr = (guint32*) buffer; return GINT32_FROM_LE (*ptr); } Modified: branches/brasero_0_7/src/burn-iso-field.h ============================================================================== --- branches/brasero_0_7/src/burn-iso-field.h (original) +++ branches/brasero_0_7/src/burn-iso-field.h Sun Jan 20 20:10:58 2008 @@ -32,7 +32,7 @@ { #endif -gint32 +guint32 brasero_iso9660_get_733_val (guchar *buffer); #ifdef __cplusplus Modified: branches/brasero_0_7/src/burn-iso9660.c ============================================================================== --- branches/brasero_0_7/src/burn-iso9660.c (original) +++ branches/brasero_0_7/src/burn-iso9660.c Sun Jan 20 20:10:58 2008 @@ -524,6 +524,22 @@ goto error; entry->parent = parent; + + /* check that we don't have another file record for the + * same file (usually files > 4G). It always follows + * its sibling */ + if (parent->specific.dir.children) { + BraseroVolFile *last; + + last = parent->specific.dir.children->data; + if (!last->isdir && !strcmp (BRASERO_VOLUME_FILE_NAME (last), BRASERO_VOLUME_FILE_NAME (entry))) { + last->specific.file.size_bytes += entry->specific.file.size_bytes; + ctx->data_blocks += ISO9660_BYTES_TO_BLOCKS (entry->specific.file.size_bytes); + brasero_volume_file_free (entry); + BRASERO_BURN_LOG ("Multi extent file"); + continue; + } + } parent->specific.dir.children = g_list_prepend (parent->specific.dir.children, entry); ctx->data_blocks += ISO9660_BYTES_TO_BLOCKS (entry->specific.file.size_bytes); } Modified: branches/brasero_0_7/src/burn-volume.h ============================================================================== --- branches/brasero_0_7/src/burn-volume.h (original) +++ branches/brasero_0_7/src/burn-volume.h Sun Jan 20 20:10:58 2008 @@ -47,7 +47,7 @@ struct { gint address_block; - gint size_bytes; + guint64 size_bytes; } file; struct { _______________________________________________ SVN-commits-list mailing list (read only) http://mail.gnome.org/mailman/listinfo/svn-commits-list Want to limit the commits to a few modules? Go to above URL, log in to edit your options and select the modules ('topics') you want. Module maintainer? It is possible to set the reply-to to your development mailing list. Email [EMAIL PROTECTED] if interested.