Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libmirage for openSUSE:Factory 
checked in at 2024-10-12 13:30:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libmirage (Old)
 and      /work/SRC/openSUSE:Factory/.libmirage.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libmirage"

Sat Oct 12 13:30:29 2024 rev:28 rq:1207350 version:3.2.9

Changes:
--------
--- /work/SRC/openSUSE:Factory/libmirage/libmirage.changes      2024-08-18 
18:20:37.687811629 +0200
+++ /work/SRC/openSUSE:Factory/.libmirage.new.19354/libmirage.changes   
2024-10-12 13:36:10.090261522 +0200
@@ -1,0 +2,6 @@
+Fri Oct 11 21:53:04 UTC 2024 - Jan Engelhardt <jeng...@inai.de>
+
+- Update to release 3.2.9
+  * Determine session type when parsing cuesheets
+
+-------------------------------------------------------------------

Old:
----
  libmirage-3.2.8.tar.xz

New:
----
  _scmsync.obsinfo
  libmirage-3.2.9.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libmirage.spec ++++++
--- /var/tmp/diff_new_pack.MIkvU8/_old  2024-10-12 13:36:10.518279295 +0200
+++ /var/tmp/diff_new_pack.MIkvU8/_new  2024-10-12 13:36:10.522279461 +0200
@@ -22,7 +22,7 @@
 Summary:        A CD-ROM image access library
 License:        GPL-2.0-or-later
 Group:          Development/Libraries/C and C++
-Version:        3.2.8
+Version:        3.2.9
 Release:        0
 URL:            https://cdemu.sourceforge.io/about/libmirage/
 #Git-Clone:     https://github.com/cdemu/cdemu.git

++++++ _scmsync.obsinfo ++++++
mtime: 1728684732
commit: 7e2959318bc6220797c8095411db91c55bdbf308651834030891d13a187ab81b
url: https://src.opensuse.org/jengelh/libmirage
revision: master

++++++ libmirage-3.2.8.tar.xz -> libmirage-3.2.9.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libmirage-3.2.8/CMakeLists.txt 
new/libmirage-3.2.9/CMakeLists.txt
--- old/libmirage-3.2.8/CMakeLists.txt  2024-07-08 20:43:55.000000000 +0200
+++ new/libmirage-3.2.9/CMakeLists.txt  2024-09-17 11:48:31.000000000 +0200
@@ -1,5 +1,5 @@
 cmake_minimum_required(VERSION 3.7)
-project(libmirage VERSION 3.2.8 LANGUAGES C)
+project(libmirage VERSION 3.2.9 LANGUAGES C)
 
 # Semantic versioning 2.0.0 (semver.org):
 # MAJOR is increased when backwards-incompatible changes are made to
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libmirage-3.2.8/README new/libmirage-3.2.9/README
--- old/libmirage-3.2.8/README  2024-07-08 20:43:55.000000000 +0200
+++ new/libmirage-3.2.9/README  2024-09-17 11:48:31.000000000 +0200
@@ -1,5 +1,5 @@
 libMirage
-3.2.8
+3.2.9
 ~~~~~
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libmirage-3.2.8/debian/changelog 
new/libmirage-3.2.9/debian/changelog
--- old/libmirage-3.2.8/debian/changelog        2024-07-08 20:43:55.000000000 
+0200
+++ new/libmirage-3.2.9/debian/changelog        2024-09-17 11:48:31.000000000 
+0200
@@ -1,3 +1,3 @@
-libmirage (3.2.8-1) debian; urgency=low
+libmirage (3.2.9-1) debian; urgency=low
   * Initial Release. Closes: #705409
  -- Henrik Stokseth <hstok...@users.sourceforge.net>  Sat, 05 Apr 2014 
12:00:00 +0100
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libmirage-3.2.8/images/image-cue/parser.c 
new/libmirage-3.2.9/images/image-cue/parser.c
--- old/libmirage-3.2.8/images/image-cue/parser.c       2024-07-08 
20:43:55.000000000 +0200
+++ new/libmirage-3.2.9/images/image-cue/parser.c       2024-09-17 
11:48:31.000000000 +0200
@@ -120,6 +120,56 @@
     return succeeded;
 }
 
+static gboolean mirage_parser_cue_finish_last_session (MirageParserCue *self, 
GError **error)
+{
+    gboolean has_audio = FALSE;
+    gboolean has_mode1 = FALSE;
+    gboolean has_mode2 = FALSE;
+
+    MIRAGE_DEBUG(self, MIRAGE_DEBUG_PARSER, "%s: finishing last session\n", 
__debug__);
+
+    /* Current session needs to be set at this point */
+    if (!self->priv->cur_session) {
+        MIRAGE_DEBUG(self, MIRAGE_DEBUG_WARNING, "%s: current session is not 
set!\n", __debug__);
+        g_set_error(error, MIRAGE_ERROR, MIRAGE_ERROR_PARSER_ERROR, 
Q_("Current session is not set!"));
+        return FALSE;
+    }
+
+    gint num_tracks = 
mirage_session_get_number_of_tracks(self->priv->cur_session);
+    for (gint i = 0; i < num_tracks; i++) {
+        MirageTrack *track = 
mirage_session_get_track_by_index(self->priv->cur_session, i, NULL);
+        gint sector_type = mirage_track_get_sector_type(track);
+
+        switch (sector_type) {
+            case MIRAGE_SECTOR_AUDIO: {
+                has_audio = TRUE;
+                break;
+            }
+            case MIRAGE_SECTOR_MODE1: {
+                has_mode1 = TRUE;
+                break;
+            }
+            case MIRAGE_SECTOR_MODE2:
+            case MIRAGE_SECTOR_MODE2_FORM1:
+            case MIRAGE_SECTOR_MODE2_FORM2:
+            case MIRAGE_SECTOR_MODE2_MIXED: {
+                has_mode2 = TRUE;
+                break;
+            }
+        }
+    }
+
+    /* this is how cdrdao's cue2toc determine's session type */
+    if (has_audio && !has_mode1 && !has_mode2) {
+        mirage_session_set_session_type(self->priv->cur_session, 
MIRAGE_SESSION_CDDA);
+    } else if ((has_audio && has_mode1 && !has_mode2) || (!has_audio && 
has_mode1 && !has_mode2)) {
+        mirage_session_set_session_type(self->priv->cur_session, 
MIRAGE_SESSION_CDROM);
+    } else if ((has_audio && !has_mode1 && has_mode2) || (!has_audio && 
!has_mode1 && has_mode2)) {
+        mirage_session_set_session_type(self->priv->cur_session, 
MIRAGE_SESSION_CDROM_XA);
+    }
+    return TRUE;
+}
+
 static gboolean mirage_parser_cue_set_new_file (MirageParserCue *self, const 
gchar *filename_string, const gchar *file_type, GError **error)
 {
     MIRAGE_DEBUG(self, MIRAGE_DEBUG_PARSER, "%s: new file: %s\n", __debug__, 
filename_string);
@@ -473,6 +523,10 @@
         MIRAGE_DEBUG(self, MIRAGE_DEBUG_WARNING, "%s: failed to finish last 
track for session previous to #%i: %s\n!", __debug__, number, 
local_error->message);
         g_error_free(local_error);
     }
+    if (!mirage_parser_cue_finish_last_session(self, &local_error)) {
+        MIRAGE_DEBUG(self, MIRAGE_DEBUG_WARNING, "%s: failed to finish session 
previous to #%i: %s\n!", __debug__, number, local_error->message);
+        g_error_free(local_error);
+    }
 
     /* Add new session, store the pointer but release the reference */
     self->priv->cur_session = g_object_new(MIRAGE_TYPE_SESSION, NULL);
@@ -1061,6 +1115,14 @@
         succeeded = FALSE;
         goto end;
     }
+
+    /* Finish last session */
+    MIRAGE_DEBUG(self, MIRAGE_DEBUG_PARSER, "\n");
+    MIRAGE_DEBUG(self, MIRAGE_DEBUG_PARSER, "%s: finishing last session in the 
layout\n", __debug__);
+    if (!mirage_parser_cue_finish_last_session(self, error)) {
+        succeeded = FALSE;
+        goto end;
+    }
 
     MIRAGE_DEBUG(self, MIRAGE_DEBUG_PARSER, "\n");
     MIRAGE_DEBUG(self, MIRAGE_DEBUG_PARSER, "%s: finishing the layout\n", 
__debug__);

Reply via email to