Hello community,

here is the log from the commit of package alsa for openSUSE:Factory checked in 
at 2014-04-04 16:32:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/alsa (Old)
 and      /work/SRC/openSUSE:Factory/.alsa.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "alsa"

Changes:
--------
--- /work/SRC/openSUSE:Factory/alsa/alsa.changes        2014-03-31 
20:43:19.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.alsa.new/alsa.changes   2014-04-04 
16:32:09.000000000 +0200
@@ -1,0 +2,11 @@
+Thu Apr  3 17:10:46 CEST 2014 - [email protected]
+
+- Backport upstream fixes:
+  0037-route-Return-NULL-in-case-of-zero-found-channels-in-.patch
+  0038-route-Fix-invalid-pointer-access.patch
+  0039-pcm-ladspa-Delay-LADSPA-plugin-activate-call.patch
+- Remove the temporary fix that has been replaced by the fixes
+  above:
+  0037-pcm-route-Don-t-handle-no-matching-chmap-as-a-seriou.patch
+
+-------------------------------------------------------------------

Old:
----
  0037-pcm-route-Don-t-handle-no-matching-chmap-as-a-seriou.patch

New:
----
  0037-route-Return-NULL-in-case-of-zero-found-channels-in-.patch
  0038-route-Fix-invalid-pointer-access.patch
  0039-pcm-ladspa-Delay-LADSPA-plugin-activate-call.patch

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

Other differences:
------------------
++++++ alsa.spec ++++++
--- /var/tmp/diff_new_pack.KrICgY/_old  2014-04-04 16:32:10.000000000 +0200
+++ /var/tmp/diff_new_pack.KrICgY/_new  2014-04-04 16:32:10.000000000 +0200
@@ -88,7 +88,9 @@
 Patch34:        0034-conf-Allow-2.1-surround-to-use-different-number-of-c.patch
 Patch35:        0035-pcm-Wrap-hw_ptr-to-boundary-in-pcm_ioplug.patch
 Patch36:        0036-src-conf-cards-Add-missing-entry-for-Loopback.conf.patch
-Patch37:        0037-pcm-route-Don-t-handle-no-matching-chmap-as-a-seriou.patch
+Patch37:        0037-route-Return-NULL-in-case-of-zero-found-channels-in-.patch
+Patch38:        0038-route-Fix-invalid-pointer-access.patch
+Patch39:        0039-pcm-ladspa-Delay-LADSPA-plugin-activate-call.patch
 # rest suse patches
 Patch99:        alsa-lib-doxygen-avoid-crash-for-11.3.diff
 BuildRequires:  doxygen
@@ -195,6 +197,8 @@
 %patch35 -p1
 %patch36 -p1
 %patch37 -p1
+%patch38 -p1
+%patch39 -p1
 %if 0%{?suse_version} == 1130
 %patch99 -p1
 %endif

++++++ 0037-route-Return-NULL-in-case-of-zero-found-channels-in-.patch ++++++
>From d794af65e97822a29945a21c1cd2a21ea3b8e6b8 Mon Sep 17 00:00:00 2001
From: David Henningsson <[email protected]>
Date: Tue, 18 Mar 2014 23:07:19 +0100
Subject: [PATCH] route: Return NULL in case of zero found channels in
 determine_chmap

This should fix the problem where the old route syntax can no longer
be opened.

Signed-off-by: David Henningsson <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
---
 src/pcm/pcm_route.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/pcm/pcm_route.c b/src/pcm/pcm_route.c
index ac11bdc8adfd..a9097caa7303 100644
--- a/src/pcm/pcm_route.c
+++ b/src/pcm/pcm_route.c
@@ -883,7 +883,10 @@ static int determine_chmap(snd_config_t *tt, 
snd_pcm_chmap_t **tt_chmap)
                }
        }
 
-
+       if (chmap->channels == 0) {
+               free(chmap);
+               chmap = NULL;
+       }
        *tt_chmap = chmap;
        return 0;
 
-- 
1.9.1

++++++ 0038-route-Fix-invalid-pointer-access.patch ++++++
>From dbe6d7f86902dbbe2ff276b7a6524c084893772f Mon Sep 17 00:00:00 2001
From: Takashi Iwai <[email protected]>
Date: Wed, 19 Mar 2014 10:52:24 +0100
Subject: [PATCH] route: Fix invalid pointer access

An uninitialized chmap pointer value is assigned in
_snd_pcm_route_open().  Add NULL initializations appropriately, and
also avoid the possible invalid access of NULL pcmp pointer.

Signed-off-by: Takashi Iwai <[email protected]>
---
 src/pcm/pcm_route.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/pcm/pcm_route.c b/src/pcm/pcm_route.c
index a9097caa7303..599fc3eb48e2 100644
--- a/src/pcm/pcm_route.c
+++ b/src/pcm/pcm_route.c
@@ -1361,7 +1361,7 @@ int _snd_pcm_route_open(snd_pcm_t **pcmp, const char 
*name,
        int err;
        snd_pcm_t *spcm;
        snd_config_t *slave = NULL, *sconf;
-       snd_pcm_chmap_t *tt_chmap, *chmap;
+       snd_pcm_chmap_t *tt_chmap = NULL, *chmap = NULL;
        snd_pcm_format_t sformat = SND_PCM_FORMAT_UNKNOWN;
        int schannels = -1;
        snd_config_t *tt = NULL;
@@ -1460,8 +1460,9 @@ int _snd_pcm_route_open(snd_pcm_t **pcmp, const char 
*name,
        if (err < 0) {
                free(chmap);
                snd_pcm_close(spcm);
+       } else {
+               ((snd_pcm_route_t*) (*pcmp)->private_data)->chmap = chmap;
        }
-       ((snd_pcm_route_t*) (*pcmp)->private_data)->chmap = chmap;
 
        return err;
 }
-- 
1.9.1

++++++ 0039-pcm-ladspa-Delay-LADSPA-plugin-activate-call.patch ++++++
>From 8dcce52ee09b12d977ea23ccd281a17bdcc5414e Mon Sep 17 00:00:00 2001
From: Matthias Larisch <[email protected]>
Date: Thu, 27 Mar 2014 19:05:10 +0100
Subject: [PATCH] pcm: ladspa: Delay LADSPA plugin activate call

Some LADSPA Plugins rely on connected control ports on activate call.
While this is not okay by spec, the spec also encourages the activate
call happening as late as possible.

Signed-off-by: Matthias Larisch <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
---
 src/pcm/pcm_ladspa.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/pcm/pcm_ladspa.c b/src/pcm/pcm_ladspa.c
index 9ce5242e2359..7d1e3df878b0 100644
--- a/src/pcm/pcm_ladspa.c
+++ b/src/pcm/pcm_ladspa.c
@@ -645,8 +645,6 @@ static int snd_pcm_ladspa_allocate_instances(snd_pcm_t 
*pcm, snd_pcm_ladspa_t *l
                                return -EINVAL;
                        }
                        list_add_tail(&instance->list, &plugin->instances);
-                       if (plugin->desc->activate)
-                               plugin->desc->activate(instance->handle);
                        if (plugin->policy == SND_PCM_LADSPA_POLICY_DUPLICATE) {
                                err = 
snd_pcm_ladspa_connect_plugin_duplicate(plugin, &plugin->input, 
&plugin->output, instance, idx);
                                if (err < 0) {
@@ -664,6 +662,8 @@ static int snd_pcm_ladspa_allocate_instances(snd_pcm_t 
*pcm, snd_pcm_ladspa_t *l
                        assert(err >= 0);
                        err = snd_pcm_ladspa_connect_controls(plugin, 
&plugin->output, instance);
                        assert(err >= 0);
+                       if (plugin->desc->activate)
+                               plugin->desc->activate(instance->handle);
                }
                err = snd_pcm_ladspa_check_connect(plugin, &plugin->input, 
&instance->input, depth);
                if (err < 0)
-- 
1.9.1




-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to