Accepting request 182666 from multimedia:libs
- updated to version 1.0.27.2: just version bump, including all previous fixes (forwarded request 182665 from tiwai) OBS-URL: https://build.opensuse.org/request/show/182666 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/alsa?expand=0&rev=138
This commit is contained in:
commit
e2f96d2238
@ -1,31 +0,0 @@
|
|||||||
From 3d7433a3c87754ff8b51cf06de53a3e6c38c20b0 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jordi Mallach <jordi@debian.org>
|
|
||||||
Date: Fri, 17 May 2013 18:25:51 +0200
|
|
||||||
Subject: [PATCH] =?UTF-8?q?pcm:=20Fix=20typo=20in=20documentation:=20PREPA?=
|
|
||||||
=?UTF-8?q?RE=20=E2=86=92=20PREPARED.?=
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
Signed-off-by: Jordi Mallach <jordi@debian.org>
|
|
||||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
||||||
---
|
|
||||||
src/pcm/pcm.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/src/pcm/pcm.c b/src/pcm/pcm.c
|
|
||||||
index 438fb3f..7ec1f0e 100644
|
|
||||||
--- a/src/pcm/pcm.c
|
|
||||||
+++ b/src/pcm/pcm.c
|
|
||||||
@@ -437,7 +437,7 @@ to #SND_PCM_STATE_SETUP
|
|
||||||
if successfully finishes, otherwise the state #SND_PCM_STATE_OPEN
|
|
||||||
is entered.
|
|
||||||
When it is brought to SETUP state, this function automatically
|
|
||||||
-calls #snd_pcm_prepare() function to bring to the PREPARE state
|
|
||||||
+calls #snd_pcm_prepare() function to bring to the PREPARED state
|
|
||||||
as below.
|
|
||||||
|
|
||||||
\par snd_pcm_prepare
|
|
||||||
--
|
|
||||||
1.8.2.3
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
|||||||
From 14d653d7c374f9ba6319a7c5a8ee6f0bc3071304 Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Juho=20H=C3=A4m=C3=A4l=C3=A4inen?=
|
|
||||||
<juho.hamalainen@tieto.com>
|
|
||||||
Date: Fri, 24 May 2013 14:01:25 +0300
|
|
||||||
Subject: [PATCH] ucm: Fix segfault when device argument is missing from
|
|
||||||
_sw{dev, mod}
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
Signed-off-by: Juho Hämäläinen <juho.hamalainen@tieto.com>
|
|
||||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
||||||
---
|
|
||||||
src/ucm/main.c | 3 ++-
|
|
||||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/src/ucm/main.c b/src/ucm/main.c
|
|
||||||
index d38b7fa..0494728 100644
|
|
||||||
--- a/src/ucm/main.c
|
|
||||||
+++ b/src/ucm/main.c
|
|
||||||
@@ -1647,7 +1647,8 @@ int snd_use_case_set(snd_use_case_mgr_t *uc_mgr,
|
|
||||||
goto __end;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
- str = NULL;
|
|
||||||
+ err = -EINVAL;
|
|
||||||
+ goto __end;
|
|
||||||
}
|
|
||||||
if (check_identifier(identifier, "_swdev"))
|
|
||||||
err = switch_device(uc_mgr, str, value);
|
|
||||||
--
|
|
||||||
1.8.2.3
|
|
||||||
|
|
@ -1,116 +0,0 @@
|
|||||||
From 2f43b66c06ece64529e482a6dcc95cde37648252 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Takashi Iwai <tiwai@suse.de>
|
|
||||||
Date: Fri, 24 May 2013 17:21:15 +0200
|
|
||||||
Subject: [PATCH] Allow specifying the max number of cards
|
|
||||||
|
|
||||||
Add --with-max-cards option to specify the max number of cards in
|
|
||||||
configure script, when the support for more than 32 cards is
|
|
||||||
required.
|
|
||||||
|
|
||||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
||||||
---
|
|
||||||
configure.in | 14 ++++++++++++++
|
|
||||||
src/confmisc.c | 2 +-
|
|
||||||
src/control/cards.c | 6 +++---
|
|
||||||
src/control/control_hw.c | 2 +-
|
|
||||||
src/hwdep/hwdep_hw.c | 2 +-
|
|
||||||
5 files changed, 20 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/configure.in b/configure.in
|
|
||||||
index 35b8e84..3d394fc 100644
|
|
||||||
--- a/configure.in
|
|
||||||
+++ b/configure.in
|
|
||||||
@@ -632,6 +632,20 @@ for t in $CTL_PLUGIN_LIST; do
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
+dnl Max number of cards
|
|
||||||
+AC_MSG_CHECKING(for max number of cards)
|
|
||||||
+AC_ARG_WITH(max-cards,
|
|
||||||
+ AS_HELP_STRING([--with-max-cards], [Specify the max number of cards (default = 32)]),
|
|
||||||
+ [ max_cards="$withval" ], [ max_cards="32" ])
|
|
||||||
+AC_MSG_RESULT([$max_cards])
|
|
||||||
+
|
|
||||||
+if test "$max_cards" -lt 1; then
|
|
||||||
+ AC_ERROR([Invalid max cards $max_cards])
|
|
||||||
+elif test "$max_cards" -gt 256; then
|
|
||||||
+ AC_ERROR([Invalid max cards $max_cards])
|
|
||||||
+fi
|
|
||||||
+AC_DEFINE_UNQUOTED(SND_MAX_CARDS, $max_cards, [Max number of cards])
|
|
||||||
+
|
|
||||||
dnl Make a symlink for inclusion of alsa/xxx.h
|
|
||||||
if test ! -L "$srcdir"/include/alsa ; then
|
|
||||||
echo "Making a symlink include/alsa"
|
|
||||||
diff --git a/src/confmisc.c b/src/confmisc.c
|
|
||||||
index 80b0027..af686be 100644
|
|
||||||
--- a/src/confmisc.c
|
|
||||||
+++ b/src/confmisc.c
|
|
||||||
@@ -668,7 +668,7 @@ int snd_determine_driver(int card, char **driver)
|
|
||||||
char *res = NULL;
|
|
||||||
int err;
|
|
||||||
|
|
||||||
- assert(card >= 0 && card <= 32);
|
|
||||||
+ assert(card >= 0 && card <= SND_MAX_CARDS);
|
|
||||||
err = open_ctl(card, &ctl);
|
|
||||||
if (err < 0) {
|
|
||||||
SNDERR("could not open control for card %i", card);
|
|
||||||
diff --git a/src/control/cards.c b/src/control/cards.c
|
|
||||||
index b528e33..5d7376c 100644
|
|
||||||
--- a/src/control/cards.c
|
|
||||||
+++ b/src/control/cards.c
|
|
||||||
@@ -103,7 +103,7 @@ int snd_card_next(int *rcard)
|
|
||||||
return -EINVAL;
|
|
||||||
card = *rcard;
|
|
||||||
card = card < 0 ? 0 : card + 1;
|
|
||||||
- for (; card < 32; card++) {
|
|
||||||
+ for (; card < SND_MAX_CARDS; card++) {
|
|
||||||
if (snd_card_load(card)) {
|
|
||||||
*rcard = card;
|
|
||||||
return 0;
|
|
||||||
@@ -134,7 +134,7 @@ int snd_card_get_index(const char *string)
|
|
||||||
(isdigit(*string) && isdigit(*(string + 1)) && *(string + 2) == 0)) {
|
|
||||||
if (sscanf(string, "%i", &card) != 1)
|
|
||||||
return -EINVAL;
|
|
||||||
- if (card < 0 || card > 31)
|
|
||||||
+ if (card < 0 || card >= SND_MAX_CARDS)
|
|
||||||
return -EINVAL;
|
|
||||||
err = snd_card_load1(card);
|
|
||||||
if (err >= 0)
|
|
||||||
@@ -143,7 +143,7 @@ int snd_card_get_index(const char *string)
|
|
||||||
}
|
|
||||||
if (string[0] == '/') /* device name */
|
|
||||||
return snd_card_load2(string);
|
|
||||||
- for (card = 0; card < 32; card++) {
|
|
||||||
+ for (card = 0; card < SND_MAX_CARDS; card++) {
|
|
||||||
#ifdef SUPPORT_ALOAD
|
|
||||||
if (! snd_card_load(card))
|
|
||||||
continue;
|
|
||||||
diff --git a/src/control/control_hw.c b/src/control/control_hw.c
|
|
||||||
index 90c4ba7..148097f 100644
|
|
||||||
--- a/src/control/control_hw.c
|
|
||||||
+++ b/src/control/control_hw.c
|
|
||||||
@@ -382,7 +382,7 @@ int snd_ctl_hw_open(snd_ctl_t **handle, const char *name, int card, int mode)
|
|
||||||
|
|
||||||
*handle = NULL;
|
|
||||||
|
|
||||||
- if (CHECK_SANITY(card < 0 || card >= 32)) {
|
|
||||||
+ if (CHECK_SANITY(card < 0 || card >= SND_MAX_CARDS)) {
|
|
||||||
SNDMSG("Invalid card index %d", card);
|
|
||||||
return -EINVAL;
|
|
||||||
}
|
|
||||||
diff --git a/src/hwdep/hwdep_hw.c b/src/hwdep/hwdep_hw.c
|
|
||||||
index e4fcdc3..4314e32 100644
|
|
||||||
--- a/src/hwdep/hwdep_hw.c
|
|
||||||
+++ b/src/hwdep/hwdep_hw.c
|
|
||||||
@@ -112,7 +112,7 @@ int snd_hwdep_hw_open(snd_hwdep_t **handle, const char *name, int card, int devi
|
|
||||||
|
|
||||||
*handle = NULL;
|
|
||||||
|
|
||||||
- if (card < 0 || card >= 32)
|
|
||||||
+ if (card < 0 || card >= SND_MAX_CARDS)
|
|
||||||
return -EINVAL;
|
|
||||||
sprintf(filename, SNDRV_FILE_HWDEP, card, device);
|
|
||||||
fd = snd_open_device(filename, mode);
|
|
||||||
--
|
|
||||||
1.8.3
|
|
||||||
|
|
@ -1,30 +0,0 @@
|
|||||||
From 7f877543a36efd8fd5d38fae21352fc0567ece21 Mon Sep 17 00:00:00 2001
|
|
||||||
From: David Henningsson <david.henningsson@canonical.com>
|
|
||||||
Date: Thu, 30 May 2013 12:26:33 +0200
|
|
||||||
Subject: [PATCH] pcm_hw: Remove unused fields in struct
|
|
||||||
|
|
||||||
These fields are not used, and their name similarity to other
|
|
||||||
fields are quite confusing when trying to debug alsa-lib.
|
|
||||||
|
|
||||||
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
|
|
||||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
||||||
---
|
|
||||||
src/pcm/pcm_hw.c | 2 --
|
|
||||||
1 file changed, 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/pcm/pcm_hw.c b/src/pcm/pcm_hw.c
|
|
||||||
index 0f3226d..196393d 100644
|
|
||||||
--- a/src/pcm/pcm_hw.c
|
|
||||||
+++ b/src/pcm/pcm_hw.c
|
|
||||||
@@ -95,8 +95,6 @@ typedef struct {
|
|
||||||
volatile struct snd_pcm_mmap_status * mmap_status;
|
|
||||||
struct snd_pcm_mmap_control *mmap_control;
|
|
||||||
struct snd_pcm_sync_ptr *sync_ptr;
|
|
||||||
- snd_pcm_uframes_t hw_ptr;
|
|
||||||
- snd_pcm_uframes_t appl_ptr;
|
|
||||||
int period_event;
|
|
||||||
snd_timer_t *period_timer;
|
|
||||||
struct pollfd period_timer_pfd;
|
|
||||||
--
|
|
||||||
1.8.3
|
|
||||||
|
|
@ -1,40 +0,0 @@
|
|||||||
From f2d39afe6139ab16aa2aeea0f51f32db79ab1262 Mon Sep 17 00:00:00 2001
|
|
||||||
From: David Henningsson <david.henningsson@canonical.com>
|
|
||||||
Date: Thu, 30 May 2013 12:26:34 +0200
|
|
||||||
Subject: [PATCH] pcm_plugin: Fix return value of snd_pcm_rewind
|
|
||||||
|
|
||||||
In case the rewind did not rewind as much as expected, e g due to
|
|
||||||
time delay between the latest avail update and the rewind, we must
|
|
||||||
properly account for that in the plugin layer.
|
|
||||||
|
|
||||||
Otherwise, the plugin's appl ptr and the hw's appl ptr become
|
|
||||||
unsynchronised, which is very bad, especially in mmap_shadow plugins,
|
|
||||||
e g, this could cause the overlapping memcpy in the softvol plugin
|
|
||||||
as seen here:
|
|
||||||
https://bugs.freedesktop.org/show_bug.cgi?id=64299
|
|
||||||
|
|
||||||
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
|
|
||||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
||||||
---
|
|
||||||
src/pcm/pcm_plugin.c | 4 ++--
|
|
||||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/pcm/pcm_plugin.c b/src/pcm/pcm_plugin.c
|
|
||||||
index 96218a8..17157e8 100644
|
|
||||||
--- a/src/pcm/pcm_plugin.c
|
|
||||||
+++ b/src/pcm/pcm_plugin.c
|
|
||||||
@@ -219,9 +219,9 @@ static snd_pcm_sframes_t snd_pcm_plugin_rewind(snd_pcm_t *pcm, snd_pcm_uframes_t
|
|
||||||
snd_atomic_write_end(&plugin->watom);
|
|
||||||
return sframes;
|
|
||||||
}
|
|
||||||
- snd_pcm_mmap_appl_backward(pcm, (snd_pcm_uframes_t) frames);
|
|
||||||
+ snd_pcm_mmap_appl_backward(pcm, (snd_pcm_uframes_t) sframes);
|
|
||||||
snd_atomic_write_end(&plugin->watom);
|
|
||||||
- return (snd_pcm_sframes_t) frames;
|
|
||||||
+ return (snd_pcm_sframes_t) sframes;
|
|
||||||
}
|
|
||||||
|
|
||||||
static snd_pcm_sframes_t snd_pcm_plugin_forwardable(snd_pcm_t *pcm)
|
|
||||||
--
|
|
||||||
1.8.3
|
|
||||||
|
|
@ -1,65 +0,0 @@
|
|||||||
From ca487c9511c1500184023dfea803a5e785d725e2 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jaroslav Kysela <perex@perex.cz>
|
|
||||||
Date: Tue, 4 Jun 2013 15:58:34 +0200
|
|
||||||
Subject: [PATCH] pcm_direct: fix the memory leak when parsing the slave
|
|
||||||
definitions
|
|
||||||
|
|
||||||
Reported-by: <bolsunov@telum.ru>
|
|
||||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
||||||
---
|
|
||||||
src/pcm/pcm_direct.c | 32 +++++++++++++++++++++++---------
|
|
||||||
1 file changed, 23 insertions(+), 9 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/pcm/pcm_direct.c b/src/pcm/pcm_direct.c
|
|
||||||
index 38c6c66..101d3c8 100644
|
|
||||||
--- a/src/pcm/pcm_direct.c
|
|
||||||
+++ b/src/pcm/pcm_direct.c
|
|
||||||
@@ -1453,7 +1453,7 @@ static int _snd_pcm_direct_get_slave_ipc_offset(snd_config_t *root,
|
|
||||||
int hop)
|
|
||||||
{
|
|
||||||
snd_config_iterator_t i, next;
|
|
||||||
- snd_config_t *pcm_conf;
|
|
||||||
+ snd_config_t *pcm_conf, *pcm_conf2;
|
|
||||||
int err;
|
|
||||||
long card = 0, device = 0, subdevice = 0;
|
|
||||||
const char *str;
|
|
||||||
@@ -1484,14 +1484,28 @@ static int _snd_pcm_direct_get_slave_ipc_offset(snd_config_t *root,
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
- if (snd_config_search(sconf, "slave", &pcm_conf) >= 0 &&
|
|
||||||
- (snd_config_search(pcm_conf, "pcm", &pcm_conf) >= 0 ||
|
|
||||||
- (snd_config_get_string(pcm_conf, &str) >= 0 &&
|
|
||||||
- snd_config_search_definition(root, "pcm_slave", str, &pcm_conf) >= 0 &&
|
|
||||||
- snd_config_search(pcm_conf, "pcm", &pcm_conf) >= 0)))
|
|
||||||
- return _snd_pcm_direct_get_slave_ipc_offset(root, pcm_conf,
|
|
||||||
- direction,
|
|
||||||
- hop + 1);
|
|
||||||
+ if (snd_config_search(sconf, "slave", &pcm_conf) >= 0) {
|
|
||||||
+ if (snd_config_search(pcm_conf, "pcm", &pcm_conf) >= 0) {
|
|
||||||
+ return _snd_pcm_direct_get_slave_ipc_offset(root,
|
|
||||||
+ pcm_conf,
|
|
||||||
+ direction,
|
|
||||||
+ hop + 1);
|
|
||||||
+ } else {
|
|
||||||
+ if (snd_config_get_string(pcm_conf, &str) >= 0 &&
|
|
||||||
+ snd_config_search_definition(root, "pcm_slave",
|
|
||||||
+ str, &pcm_conf) >= 0) {
|
|
||||||
+ if (snd_config_search(pcm_conf, "pcm",
|
|
||||||
+ &pcm_conf2) >= 0) {
|
|
||||||
+ err =
|
|
||||||
+ _snd_pcm_direct_get_slave_ipc_offset(
|
|
||||||
+ root, pcm_conf2, direction, hop + 1);
|
|
||||||
+ snd_config_delete(pcm_conf);
|
|
||||||
+ return err;
|
|
||||||
+ }
|
|
||||||
+ snd_config_delete(pcm_conf);
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
|
|
||||||
snd_config_for_each(i, next, sconf) {
|
|
||||||
snd_config_t *n = snd_config_iterator_entry(i);
|
|
||||||
--
|
|
||||||
1.8.3
|
|
||||||
|
|
@ -1,46 +0,0 @@
|
|||||||
From d20e24e5d1614354e9c8195ed0b11fe089c489e4 Mon Sep 17 00:00:00 2001
|
|
||||||
From: David Henningsson <david.henningsson@canonical.com>
|
|
||||||
Date: Wed, 5 Jun 2013 16:52:10 +0200
|
|
||||||
Subject: [PATCH] chmap: Always succeed setting the map to what it already is
|
|
||||||
|
|
||||||
If we try to set the channel map to what it already is, this should
|
|
||||||
always succeed. E g, speaker-test can do this sometimes.
|
|
||||||
|
|
||||||
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
|
|
||||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
||||||
---
|
|
||||||
src/pcm/pcm.c | 11 +++++++++++
|
|
||||||
1 file changed, 11 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/src/pcm/pcm.c b/src/pcm/pcm.c
|
|
||||||
index 7ec1f0e..ca4d416 100644
|
|
||||||
--- a/src/pcm/pcm.c
|
|
||||||
+++ b/src/pcm/pcm.c
|
|
||||||
@@ -7361,6 +7361,13 @@ OBSOLETE1(snd_pcm_sw_params_get_silence_size, ALSA_0.9, ALSA_0.9.0rc4);
|
|
||||||
|
|
||||||
#endif /* DOC_HIDDEN */
|
|
||||||
|
|
||||||
+static int chmap_equal(const snd_pcm_chmap_t *a, const snd_pcm_chmap_t *b)
|
|
||||||
+{
|
|
||||||
+ if (a->channels != b->channels)
|
|
||||||
+ return 0;
|
|
||||||
+ return !memcmp(a->pos, b->pos, a->channels * sizeof(a->pos[0]));
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
/**
|
|
||||||
* \!brief Query the available channel maps
|
|
||||||
* \param pcm PCM handle to query
|
|
||||||
@@ -7415,6 +7422,10 @@ snd_pcm_chmap_t *snd_pcm_get_chmap(snd_pcm_t *pcm)
|
|
||||||
*/
|
|
||||||
int snd_pcm_set_chmap(snd_pcm_t *pcm, const snd_pcm_chmap_t *map)
|
|
||||||
{
|
|
||||||
+ const snd_pcm_chmap_t *oldmap = snd_pcm_get_chmap(pcm);
|
|
||||||
+ if (oldmap && chmap_equal(oldmap, map))
|
|
||||||
+ return 0;
|
|
||||||
+
|
|
||||||
if (!pcm->ops->set_chmap)
|
|
||||||
return -ENXIO;
|
|
||||||
return pcm->ops->set_chmap(pcm, map);
|
|
||||||
--
|
|
||||||
1.8.3
|
|
||||||
|
|
@ -1,30 +0,0 @@
|
|||||||
From c91785e002b96afad344a8ab182e8d33e355b7f7 Mon Sep 17 00:00:00 2001
|
|
||||||
From: David Henningsson <david.henningsson@canonical.com>
|
|
||||||
Date: Mon, 10 Jun 2013 16:42:47 +0200
|
|
||||||
Subject: [PATCH] pcm_hw: Fix buffer overflow in chmap
|
|
||||||
|
|
||||||
We can't calculate memory storage in bytes, when we're supposed
|
|
||||||
to store ints in it!
|
|
||||||
|
|
||||||
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
|
|
||||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
||||||
---
|
|
||||||
src/pcm/pcm_hw.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/src/pcm/pcm_hw.c b/src/pcm/pcm_hw.c
|
|
||||||
index 196393d..9ff83a9 100644
|
|
||||||
--- a/src/pcm/pcm_hw.c
|
|
||||||
+++ b/src/pcm/pcm_hw.c
|
|
||||||
@@ -1187,7 +1187,7 @@ static snd_pcm_chmap_t *snd_pcm_hw_get_chmap(snd_pcm_t *pcm)
|
|
||||||
snd_pcm_state_name(FAST_PCM_STATE(hw)));
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
- map = malloc(pcm->channels + 1);
|
|
||||||
+ map = malloc(pcm->channels * sizeof(map->pos[0]) + sizeof(*map));
|
|
||||||
if (!map)
|
|
||||||
return NULL;
|
|
||||||
map->channels = pcm->channels;
|
|
||||||
--
|
|
||||||
1.8.3
|
|
||||||
|
|
@ -1,28 +0,0 @@
|
|||||||
From 9d6736c9a2232ed105ebe38b3a2e21a98f5dd5ba Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Krzysztof=20Ha=C5=82asa?= <khalasa@piap.pl>
|
|
||||||
Date: Fri, 14 Jun 2013 13:59:38 +0200
|
|
||||||
Subject: [PATCH] pcm_direct: fix SEGFAULT when getgrnam_r() returns 0 and pgrp
|
|
||||||
is NULL
|
|
||||||
|
|
||||||
Signed-off-by: Krzysztof Halasa <khalasa@piap.pl>
|
|
||||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
||||||
---
|
|
||||||
src/pcm/pcm_direct.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/src/pcm/pcm_direct.c b/src/pcm/pcm_direct.c
|
|
||||||
index 101d3c8..899c250 100644
|
|
||||||
--- a/src/pcm/pcm_direct.c
|
|
||||||
+++ b/src/pcm/pcm_direct.c
|
|
||||||
@@ -1650,7 +1650,7 @@ int snd_pcm_direct_parse_open_conf(snd_config_t *root, snd_config_t *conf,
|
|
||||||
if (buffer == NULL)
|
|
||||||
return -ENOMEM;
|
|
||||||
int st = getgrnam_r(group, &grp, buffer, len, &pgrp);
|
|
||||||
- if (st != 0) {
|
|
||||||
+ if (st != 0 || !pgrp) {
|
|
||||||
SNDERR("The field ipc_gid must be a valid group (create group %s)", group);
|
|
||||||
free(buffer);
|
|
||||||
return -EINVAL;
|
|
||||||
--
|
|
||||||
1.8.3
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:690e07a3ef6270d40ed2130638dba3c18395aae8db4a109bcc473643ce29a03b
|
|
||||||
size 906234
|
|
3
alsa-lib-1.0.27.2.tar.bz2
Normal file
3
alsa-lib-1.0.27.2.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:690ed393e7efd4fc7e3a2d2cda5449298ca0c895197e5914e350882012430d19
|
||||||
|
size 906844
|
@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jul 9 16:52:37 CEST 2013 - tiwai@suse.de
|
||||||
|
|
||||||
|
- updated to version 1.0.27.2:
|
||||||
|
just version bump, including all previous fixes
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Jun 17 10:10:44 CEST 2013 - tiwai@suse.de
|
Mon Jun 17 10:10:44 CEST 2013 - tiwai@suse.de
|
||||||
|
|
||||||
|
22
alsa.spec
22
alsa.spec
@ -20,7 +20,7 @@ Name: alsa
|
|||||||
BuildRequires: doxygen
|
BuildRequires: doxygen
|
||||||
BuildRequires: libtool
|
BuildRequires: libtool
|
||||||
BuildRequires: pkg-config
|
BuildRequires: pkg-config
|
||||||
%define package_version 1.0.27.1
|
%define package_version 1.0.27.2
|
||||||
Requires: alsa-utils
|
Requires: alsa-utils
|
||||||
Recommends: alsa-plugins alsa-oss
|
Recommends: alsa-plugins alsa-oss
|
||||||
PreReq: %insserv_prereq %fillup_prereq
|
PreReq: %insserv_prereq %fillup_prereq
|
||||||
@ -32,7 +32,7 @@ Obsoletes: alsa-64bit
|
|||||||
Summary: Advanced Linux Sound Architecture
|
Summary: Advanced Linux Sound Architecture
|
||||||
License: LGPL-2.1+
|
License: LGPL-2.1+
|
||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
Version: 1.0.27.1
|
Version: 1.0.27.2
|
||||||
Release: 0
|
Release: 0
|
||||||
Source: ftp://ftp.alsa-project.org/pub/lib/alsa-lib-%{package_version}.tar.bz2
|
Source: ftp://ftp.alsa-project.org/pub/lib/alsa-lib-%{package_version}.tar.bz2
|
||||||
Source2: baselibs.conf
|
Source2: baselibs.conf
|
||||||
@ -54,15 +54,6 @@ Source40: 50-alsa.conf
|
|||||||
Source41: install-snd-module
|
Source41: install-snd-module
|
||||||
# Patch: alsa-lib-git-fixes.diff
|
# Patch: alsa-lib-git-fixes.diff
|
||||||
# upstream fixes
|
# upstream fixes
|
||||||
Patch1: 0001-pcm-Fix-typo-in-documentation-PREPARE-PREPARED.patch
|
|
||||||
Patch2: 0002-ucm-Fix-segfault-when-device-argument-is-missing-fro.patch
|
|
||||||
Patch3: 0003-Allow-specifying-the-max-number-of-cards.patch
|
|
||||||
Patch4: 0004-pcm_hw-Remove-unused-fields-in-struct.patch
|
|
||||||
Patch5: 0005-pcm_plugin-Fix-return-value-of-snd_pcm_rewind.patch
|
|
||||||
Patch6: 0006-pcm_direct-fix-the-memory-leak-when-parsing-the-slav.patch
|
|
||||||
Patch7: 0007-chmap-Always-succeed-setting-the-map-to-what-it-alre.patch
|
|
||||||
Patch8: 0008-pcm_hw-Fix-buffer-overflow-in-chmap.patch
|
|
||||||
Patch9: 0009-pcm_direct-fix-SEGFAULT-when-getgrnam_r-returns-0-an.patch
|
|
||||||
# rest suse patches
|
# rest suse patches
|
||||||
Patch99: alsa-lib-doxygen-avoid-crash-for-11.3.diff
|
Patch99: alsa-lib-doxygen-avoid-crash-for-11.3.diff
|
||||||
Url: http://www.alsa-project.org/
|
Url: http://www.alsa-project.org/
|
||||||
@ -114,15 +105,6 @@ Architecture.
|
|||||||
%prep
|
%prep
|
||||||
%setup -q -n alsa-lib-%{package_version}
|
%setup -q -n alsa-lib-%{package_version}
|
||||||
# %patch -p1
|
# %patch -p1
|
||||||
%patch1 -p1
|
|
||||||
%patch2 -p1
|
|
||||||
%patch3 -p1
|
|
||||||
%patch4 -p1
|
|
||||||
%patch5 -p1
|
|
||||||
%patch6 -p1
|
|
||||||
%patch7 -p1
|
|
||||||
%patch8 -p1
|
|
||||||
%patch9 -p1
|
|
||||||
%if %suse_version == 1130
|
%if %suse_version == 1130
|
||||||
%patch99 -p1
|
%patch99 -p1
|
||||||
%endif
|
%endif
|
||||||
|
Loading…
Reference in New Issue
Block a user