[SCM] easytag/master: Add bugfix patches applied upstream

jcowgill-guest at users.alioth.debian.org jcowgill-guest at users.alioth.debian.org
Wed Dec 23 00:08:00 UTC 2015


The following commit has been merged in the master branch:
commit 88376414d1ebc339c715a6a381115a55e4708693
Author: James Cowgill <james410 at cowgill.org.uk>
Date:   Tue Dec 22 22:30:00 2015 +0000

    Add bugfix patches applied upstream
    
    Use upstream version of patches 1 and 2 (only minor changes).
    3 Handle FLAC files with an invalid sample rate.
    4 Synchronize ETFileList pointer. Fixes missing files in generated playlists
      (Closes: #798719).
    5 Fix selection of CDDB fields to fill.

diff --git a/debian/patches/0001-Add-missing-case-in-return-value-of-opus_tags_parse.patch b/debian/patches/0001-Add-missing-case-when-calling-opus_tags_parse.patch
similarity index 83%
rename from debian/patches/0001-Add-missing-case-in-return-value-of-opus_tags_parse.patch
rename to debian/patches/0001-Add-missing-case-when-calling-opus_tags_parse.patch
index bd8f66e..c730cbf 100644
--- a/debian/patches/0001-Add-missing-case-in-return-value-of-opus_tags_parse.patch
+++ b/debian/patches/0001-Add-missing-case-when-calling-opus_tags_parse.patch
@@ -1,11 +1,13 @@
-From 952be15303579431c79e2c3221b7109d74003cad Mon Sep 17 00:00:00 2001
+From e3fac0164cdd9d58dbf3127ff0062060d828c871 Mon Sep 17 00:00:00 2001
 From: James Cowgill <james410 at cowgill.org.uk>
 Date: Mon, 7 Sep 2015 15:43:11 +0100
-Subject: [PATCH] Add missing case in return value of opus_tags_parse
+Subject: [PATCH 1/5] Add missing case when calling opus_tags_parse()
 
 The case for a "successful" return value was missing so saving an opus
 file was always causing easytag to abort at the assertion in the default
 case block.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=754685
 ---
  src/tags/vcedit.c | 3 +++
  1 file changed, 3 insertions(+)
@@ -25,5 +27,5 @@ index ba5443a..536170b 100644
                                      g_set_error (error, ET_OGG_ERROR,
                                                   ET_OGG_ERROR_HEADER,
 -- 
-2.5.1
+2.6.4
 
diff --git a/debian/patches/0002-Fix-crash-when-writing-playlists.patch b/debian/patches/0002-Fix-crash-when-writing-playlists.patch
index f32ea7c..e7f7973 100644
--- a/debian/patches/0002-Fix-crash-when-writing-playlists.patch
+++ b/debian/patches/0002-Fix-crash-when-writing-playlists.patch
@@ -1,10 +1,12 @@
-From 9a2cb0f166270d847c1f1cc6568716c4d8c44a7e Mon Sep 17 00:00:00 2001
+From 32f1b22d92c40e829b253ad20b3c413e8549dbf5 Mon Sep 17 00:00:00 2001
 From: James Cowgill <james410 at cowgill.org.uk>
 Date: Tue, 8 Sep 2015 17:49:13 +0100
-Subject: [PATCH] Fix crash when writing playlists
+Subject: [PATCH 2/5] Fix crash when writing playlists
 
 The error was caused by reading the 'rename-convert-spaces' setting with
-g_settings_get_flags instead of g_settings_get_enum.
+g_settings_get_flags() instead of g_settings_get_enum().
+
+https://bugzilla.gnome.org/show_bug.cgi?id=754742
 ---
  src/playlist_dialog.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
@@ -25,5 +27,5 @@ index 697b8ad..a554f4f 100644
          switch (convert_mode)
          {
 -- 
-2.5.1
+2.6.4
 
diff --git a/debian/patches/0003-Handle-FLAC-files-with-an-invalid-sample-rate.patch b/debian/patches/0003-Handle-FLAC-files-with-an-invalid-sample-rate.patch
new file mode 100644
index 0000000..87a2b0b
--- /dev/null
+++ b/debian/patches/0003-Handle-FLAC-files-with-an-invalid-sample-rate.patch
@@ -0,0 +1,52 @@
+From 045abb70d7c5d24671f2433e917ea950194196ff Mon Sep 17 00:00:00 2001
+From: David King <amigadave at amigadave.com>
+Date: Thu, 5 Nov 2015 08:51:24 +0000
+Subject: [PATCH 3/5] Handle FLAC files with an invalid sample rate
+
+Avoid dividing by zero when encountering FLAC files with a (invalid,
+according to the FLAC specification) sample rate of zero.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=757547
+---
+ src/tags/flac_header.c | 23 ++++++++++++++++++++---
+ 1 file changed, 20 insertions(+), 3 deletions(-)
+
+diff --git a/src/tags/flac_header.c b/src/tags/flac_header.c
+index fee66b8..476aec4 100644
+--- a/src/tags/flac_header.c
++++ b/src/tags/flac_header.c
+@@ -108,11 +108,28 @@ et_flac_header_read_file_info (GFile *file,
+ 
+         metadata_len += block->length;
+ 
+-        if (block->type == FLAC__METADATA_TYPE_STREAMINFO)
++        if (FLAC__metadata_iterator_get_block_type (iter)
++            == FLAC__METADATA_TYPE_STREAMINFO)
+         {
+             const FLAC__StreamMetadata_StreamInfo *stream_info = &block->data.stream_info;
+-            ETFileInfo->duration = stream_info->total_samples
+-                                   / stream_info->sample_rate;
++            if (stream_info->sample_rate == 0)
++            {
++                gchar *filename;
++
++                /* This is invalid according to the FLAC specification, but
++                 * such files have been observed in the wild. */
++                ETFileInfo->duration = 0;
++
++                filename = g_file_get_path (file);
++                g_debug ("Invalid FLAC sample rate of 0: %s", filename);
++                g_free (filename);
++            }
++            else
++            {
++                ETFileInfo->duration = stream_info->total_samples
++                                       / stream_info->sample_rate;
++            }
++
+             ETFileInfo->mode = stream_info->channels;
+             ETFileInfo->samplerate = stream_info->sample_rate;
+             ETFileInfo->version = 0; /* Not defined in FLAC file. */
+-- 
+2.6.4
+
diff --git a/debian/patches/0004-Synchronize-ETFileList-pointer.patch b/debian/patches/0004-Synchronize-ETFileList-pointer.patch
new file mode 100644
index 0000000..d732f2c
--- /dev/null
+++ b/debian/patches/0004-Synchronize-ETFileList-pointer.patch
@@ -0,0 +1,32 @@
+From 04da9759d2c65cf498b4a508e50214dabf61b77f Mon Sep 17 00:00:00 2001
+From: David King <amigadave at amigadave.com>
+Date: Fri, 13 Nov 2015 19:00:28 +0000
+Subject: [PATCH 4/5] Synchronize ETFileList pointer
+
+Ensure that sorting ETCore->ETFileDisplayedList, and possibly changing
+the head pointer, results in the ETCore->ETFileList pointer being
+updated to the head of the list.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=755069
+---
+ src/file_list.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/file_list.c b/src/file_list.c
+index f19ba58..f9bd05b 100644
+--- a/src/file_list.c
++++ b/src/file_list.c
+@@ -1189,6 +1189,10 @@ et_displayed_file_list_set (GList *ETFileList)
+                        g_settings_get_enum (MainSettings,
+                                             "sort-mode"));
+ 
++    /* Synchronize, so that the core file list pointer always points to the
++     * head of the list. */
++    ETCore->ETFileList = g_list_first (ETCore->ETFileList);
++
+     /* Should renums ETCore->ETFileDisplayedList only! */
+     et_displayed_file_list_renumber (ETCore->ETFileDisplayedList);
+ }
+-- 
+2.6.4
+
diff --git a/debian/patches/0005-Fix-selection-of-CDDB-fields-to-fill.patch b/debian/patches/0005-Fix-selection-of-CDDB-fields-to-fill.patch
new file mode 100644
index 0000000..5e55637
--- /dev/null
+++ b/debian/patches/0005-Fix-selection-of-CDDB-fields-to-fill.patch
@@ -0,0 +1,65 @@
+From 679247054dfdbb35308ede0e7b88f6efce44f5b4 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Dennis=20Bj=C3=B6rklund?= <db at zigo.dhs.org>
+Date: Sun, 29 Nov 2015 18:30:29 +0000
+Subject: [PATCH 5/5] Fix selection of CDDB fields to fill
+
+https://bugzilla.gnome.org/show_bug.cgi?id=754901
+---
+ src/cddb_dialog.c | 2 ++
+ src/scan_dialog.c | 2 ++
+ src/setting.c     | 6 +++++-
+ 3 files changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/src/cddb_dialog.c b/src/cddb_dialog.c
+index 26ce915..a308e37 100644
+--- a/src/cddb_dialog.c
++++ b/src/cddb_dialog.c
+@@ -2781,6 +2781,8 @@ init_set_field_check (GtkWidget *widget)
+ {
+     g_object_set_data (G_OBJECT (widget), "flags-type",
+                        GSIZE_TO_POINTER (ET_TYPE_CDDB_SET_FIELD));
++    g_object_set_data (G_OBJECT (widget), "flags-key",
++                       (gpointer) "cddb-set-fields");
+     g_settings_bind_with_mapping (MainSettings, "cddb-set-fields", widget,
+                                   "active", G_SETTINGS_BIND_DEFAULT,
+                                   et_settings_flags_toggle_get,
+diff --git a/src/scan_dialog.c b/src/scan_dialog.c
+index 87b6917..e78182b 100644
+--- a/src/scan_dialog.c
++++ b/src/scan_dialog.c
+@@ -2298,6 +2298,8 @@ init_process_field_check (GtkWidget *widget)
+ {
+     g_object_set_data (G_OBJECT (widget), "flags-type",
+                        GSIZE_TO_POINTER (ET_TYPE_PROCESS_FIELD));
++    g_object_set_data (G_OBJECT (widget), "flags-key",
++                       (gpointer) "process-fields");
+     g_settings_bind_with_mapping (MainSettings, "process-fields", widget,
+                                   "active", G_SETTINGS_BIND_DEFAULT,
+                                   et_settings_flags_toggle_get,
+diff --git a/src/setting.c b/src/setting.c
+index cad24ff..83c5ed6 100644
+--- a/src/setting.c
++++ b/src/setting.c
+@@ -760,7 +760,8 @@ et_settings_flags_toggle_set (const GValue *value,
+     GFlagsValue *flags_value;
+     guint mask;
+     GVariantBuilder builder;
+-    guint flags = g_settings_get_flags (MainSettings, "process-fields");
++    const gchar *flags_key;
++    guint flags;
+ 
+     g_return_val_if_fail (user_data != NULL, NULL);
+ 
+@@ -779,6 +780,9 @@ et_settings_flags_toggle_set (const GValue *value,
+         return NULL;
+     }
+ 
++    flags_key = g_object_get_data (G_OBJECT (user_data), "flags-key");
++    flags = g_settings_get_flags (MainSettings, flags_key);
++
+     if (g_value_get_boolean (value))
+     {
+         flags |= flags_value->value;
+-- 
+2.6.4
+
diff --git a/debian/patches/series b/debian/patches/series
index 64800f6..995c18e 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,5 @@
-0001-Add-missing-case-in-return-value-of-opus_tags_parse.patch
+0001-Add-missing-case-when-calling-opus_tags_parse.patch
 0002-Fix-crash-when-writing-playlists.patch
+0003-Handle-FLAC-files-with-an-invalid-sample-rate.patch
+0004-Synchronize-ETFileList-pointer.patch
+0005-Fix-selection-of-CDDB-fields-to-fill.patch

-- 
easytag packaging



More information about the pkg-multimedia-commits mailing list