Accepting request 101685 from multimedia:libs

- updated to version 1.0.25; including all previous fixes

OBS-URL: https://build.opensuse.org/request/show/101685
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/alsa-utils?expand=0&rev=64
This commit is contained in:
Stephan Kulow 2012-01-27 14:16:36 +00:00 committed by Git OBS Bridge
commit ef423e979f
25 changed files with 13 additions and 1274 deletions

View File

@ -1,40 +0,0 @@
From cd26f244e7f2648a63411741552c658ca67334e9 Mon Sep 17 00:00:00 2001
From: Raymond Yau <superquad.vortex2@gmail.com>
Date: Mon, 28 Feb 2011 15:36:36 +0100
Subject: [PATCH 01/16] alsamixer: fix display of active/inactive controls
Signed-off-by: Raymond Yau <superquad.vortex2@gmail.com>
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
---
alsamixer/mixer_widget.c | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/alsamixer/mixer_widget.c b/alsamixer/mixer_widget.c
index fb352d3..caaf777 100644
--- a/alsamixer/mixer_widget.c
+++ b/alsamixer/mixer_widget.c
@@ -59,10 +59,21 @@ enum channel_mask {
static int elem_callback(snd_mixer_elem_t *elem, unsigned int mask)
{
+ unsigned int i;
+
if (mask & (SND_CTL_EVENT_MASK_REMOVE |
SND_CTL_EVENT_MASK_INFO |
SND_CTL_EVENT_MASK_VALUE))
controls_changed = TRUE;
+
+ if (mask & SND_CTL_EVENT_MASK_INFO)
+ for (i = 0; i < controls_count; ++i)
+ if (controls[i].elem == elem) {
+ controls[i].flags &= ~IS_ACTIVE;
+ if (snd_mixer_selem_is_active(controls[i].elem))
+ controls[i].flags |= IS_ACTIVE;
+ }
+
return 0;
}
--
1.7.5.3

View File

@ -1,61 +0,0 @@
From 3853175d122ef368db1f653140502ec44d4b2a4a Mon Sep 17 00:00:00 2001
From: Jaroslav Kysela <perex@perex.cz>
Date: Mon, 7 Mar 2011 14:21:19 +0100
Subject: [PATCH 02/16] alsaloop: libsamplerate requires specific formats,
force them for slave mode
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
alsaloop/pcmjob.c | 22 ++++++++++++++++++++--
1 files changed, 20 insertions(+), 2 deletions(-)
diff --git a/alsaloop/pcmjob.c b/alsaloop/pcmjob.c
index 0b84803..6b50cf0 100644
--- a/alsaloop/pcmjob.c
+++ b/alsaloop/pcmjob.c
@@ -1238,8 +1238,8 @@ static int closeit(struct loopback_handle *lhandle)
static int init_handle(struct loopback_handle *lhandle, int alloc)
{
snd_pcm_uframes_t lat;
- lhandle->frame_size = (snd_pcm_format_width(lhandle->format) / 8) *
- lhandle->channels;
+ lhandle->frame_size = (snd_pcm_format_physical_width(lhandle->format)
+ / 8) * lhandle->channels;
lhandle->sync_point = lhandle->rate * 15; /* every 15 seconds */
lat = lhandle->loopback->latency;
if (lhandle->buffer_size > lat)
@@ -1358,6 +1358,23 @@ static void lhandle_start(struct loopback_handle *lhandle)
lhandle->total_queued = 0;
}
+static void fix_format(struct loopback *loop)
+{
+ snd_pcm_format_t format = loop->capt->format;
+
+ if (loop->sync != SYNC_TYPE_SAMPLERATE)
+ return;
+ if (format == SND_PCM_FORMAT_S16 ||
+ format == SND_PCM_FORMAT_S32)
+ return;
+ if (snd_pcm_format_width(format) > 16)
+ format = SND_PCM_FORMAT_S32;
+ else
+ format = SND_PCM_FORMAT_S16;
+ loop->capt->format = format;
+ loop->play->format = format;
+}
+
int pcmjob_start(struct loopback *loop)
{
snd_pcm_uframes_t count;
@@ -1383,6 +1400,7 @@ int pcmjob_start(struct loopback *loop)
if (err < 0)
goto __error;
loop->play->format = loop->capt->format = err;
+ fix_format(loop);
err = get_rate(loop->capt);
if (err < 0)
goto __error;
--
1.7.5.3

View File

@ -1,72 +0,0 @@
From 3801e25964070390c525b9f2c39913e6ea1eb864 Mon Sep 17 00:00:00 2001
From: Jaroslav Kysela <perex@perex.cz>
Date: Tue, 8 Mar 2011 12:56:56 +0100
Subject: [PATCH 03/16] alsaloop: another try to force correct formats for
libsamplerate
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
alsaloop/pcmjob.c | 22 ++++++++++++++++------
1 files changed, 16 insertions(+), 6 deletions(-)
diff --git a/alsaloop/pcmjob.c b/alsaloop/pcmjob.c
index 6b50cf0..bfac2d3 100644
--- a/alsaloop/pcmjob.c
+++ b/alsaloop/pcmjob.c
@@ -1358,11 +1358,11 @@ static void lhandle_start(struct loopback_handle *lhandle)
lhandle->total_queued = 0;
}
-static void fix_format(struct loopback *loop)
+static void fix_format(struct loopback *loop, int force)
{
snd_pcm_format_t format = loop->capt->format;
- if (loop->sync != SYNC_TYPE_SAMPLERATE)
+ if (!force && loop->sync != SYNC_TYPE_SAMPLERATE)
return;
if (format == SND_PCM_FORMAT_S16 ||
format == SND_PCM_FORMAT_S32)
@@ -1400,7 +1400,7 @@ int pcmjob_start(struct loopback *loop)
if (err < 0)
goto __error;
loop->play->format = loop->capt->format = err;
- fix_format(loop);
+ fix_format(loop, 0);
err = get_rate(loop->capt);
if (err < 0)
goto __error;
@@ -1412,6 +1412,7 @@ int pcmjob_start(struct loopback *loop)
}
loop->reinit = 0;
loop->use_samplerate = 0;
+__again:
if (loop->latency_req) {
loop->latency_reqtime = frames_to_time(loop->play->rate_req,
loop->latency_req);
@@ -1460,10 +1461,19 @@ int pcmjob_start(struct loopback *loop)
goto __error;
if ((err = init_handle(loop->capt, 1)) < 0)
goto __error;
- if (loop->play->rate_req != loop->play->rate)
- loop->use_samplerate = 1;
- if (loop->capt->rate_req != loop->capt->rate)
+ if (loop->play->rate_req != loop->play->rate ||
+ loop->capt->rate_req != loop->capt->rate) {
+ snd_pcm_format_t format1, format2;
loop->use_samplerate = 1;
+ format1 = loop->play->format;
+ format2 = loop->capt->format;
+ fix_format(loop, 1);
+ if (loop->play->format != format1 ||
+ loop->capt->format != format2) {
+ pcmjob_stop(loop);
+ goto __again;
+ }
+ }
}
#ifdef USE_SAMPLERATE
if (loop->sync == SYNC_TYPE_SAMPLERATE)
--
1.7.5.3

View File

@ -1,34 +0,0 @@
From a7bd33957e099dea109e219a348b131c7186ee1e Mon Sep 17 00:00:00 2001
From: Peter Korsgaard <jacmet@sunsite.dk>
Date: Mon, 14 Mar 2011 09:48:13 +0100
Subject: [PATCH 04/16] alsamixer: fix build on uClibc
exp10 is a glibc extension, which isn't supported on uClibc. Luckily,
exp10() is trivial to compute based on exp(), so add a wrapper for
the uClibc case.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
alsamixer/volume_mapping.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/alsamixer/volume_mapping.c b/alsamixer/volume_mapping.c
index 9cacad8..1c0d7c4 100644
--- a/alsamixer/volume_mapping.c
+++ b/alsamixer/volume_mapping.c
@@ -37,6 +37,11 @@
#include <stdbool.h>
#include "volume_mapping.h"
+#ifdef __UCLIBC__
+/* 10^x = 10^(log e^x) = (e^x)^log10 = e^(x * log 10) */
+#define exp10(x) (exp((x) * log(10)))
+#endif /* __UCLIBC__ */
+
#define MAX_LINEAR_DB_SCALE 24
static inline bool use_linear_dB_scale(long dBmin, long dBmax)
--
1.7.5.3

View File

@ -1,45 +0,0 @@
From 70451054e08e51f7eaebf9e7d72324acdac01cdb Mon Sep 17 00:00:00 2001
From: David Henningsson <david.henningsson@canonical.com>
Date: Mon, 4 Apr 2011 11:28:47 +0200
Subject: [PATCH 05/16] alsactl init: Mute CD Playback volume by default
The CD analog playback line is seldom used these days, as all
modern players rip the CD and use the DAC on the sound card.
In addition, it causes background hum on some machines.
Therefore keep it muted by default.
BugLink: http://bugs.launchpad.net/bugs/747184
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
alsactl/init/default | 13 +++----------
1 files changed, 3 insertions(+), 10 deletions(-)
diff --git a/alsactl/init/default b/alsactl/init/default
index 7f8ec4c..b7cb941 100644
--- a/alsactl/init/default
+++ b/alsactl/init/default
@@ -144,17 +144,10 @@ CTL{name}="Music Playback Switch",CTL{do_search}=="1", \
CTL{values}="on"
CTL{reset}="mixer"
-CTL{name}="CD Playback Volume",PROGRAM!="__ctl_search", GOTO=""
-# if master volume control is present, turn CD volume to max
-ENV{has_pmaster_vol}=="true",CTL{write}=="0dB",GOTO=""
-ENV{has_pmaster_vol}=="true",CTL{write}=="100%",GOTO=""
-# exception - some HDA codecs have shifted dB range
-CTL{dBmin}=="-34.50dB",CTL{dBmax}=="12.00dB",CTL{write}=="0dB",GOTO=""
-CTL{dBmin}=="-30.00dB",CTL{dBmax}=="0dB",CTL{write}=="0dB",GOTO=""
-CTL{write}!="$env{pvolume}",CTL{values}="$env{ppercent}"
-LABEL=""
+CTL{name}="CD Playback Volume",CTL{do_search}=="1", \
+ CTL{values}="0%"
CTL{name}="CD Playback Switch",CTL{do_search}=="1", \
- CTL{values}="on"
+ CTL{values}="off"
CTL{reset}="mixer"
CTL{name}="Mono Playback Volume",CTL{do_search}=="1", \
--
1.7.5.3

View File

@ -1,29 +0,0 @@
From 5ee6a670751db67f9e2b2910d5b3b6fc6fff8dfd Mon Sep 17 00:00:00 2001
From: Jaroslav Kysela <perex@perex.cz>
Date: Thu, 28 Apr 2011 08:13:28 +0200
Subject: [PATCH 06/16] Revert "alsactl - Display help for names command"
This reverts commit 6d32e055d73edfe6be90135c500dcb32491cf04d.
From: Alexander Stein <alexander.stein@systec-electronic.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
alsactl/alsactl.c | 2 --
1 files changed, 0 insertions(+), 2 deletions(-)
diff --git a/alsactl/alsactl.c b/alsactl/alsactl.c
index c2120bd..1792747 100644
--- a/alsactl/alsactl.c
+++ b/alsactl/alsactl.c
@@ -68,8 +68,6 @@ static void help(void)
printf(" restore <card #> load current driver setup for one or each soundcards\n");
printf(" from configuration file\n");
printf(" init <card #> initialize driver to a default state\n");
- printf(" names <card #> dump information about all the known present (sub-)devices\n");
- printf(" into configuration file (DEPRECATED)\n");
}
int main(int argc, char *argv[])
--
1.7.5.3

View File

@ -1,90 +0,0 @@
From 16bdb41b87d1f4baa3a54a4af0b85abd98cf9159 Mon Sep 17 00:00:00 2001
From: Stephen Warren <swarren@nvidia.com>
Date: Thu, 2 Jun 2011 16:45:12 -0600
Subject: [PATCH 07/16] alsaucm: Add list1 command for non-tuple lists
snd_use_case_get_list returns lists of strings that are either:
a) A sequence of single strings
b) A sequence of pairs of strings all flattened into a single list
The current list command assumes layout (b) above, and hence prints
nothing when printing a single-entry list that's actually in layout (a).
Add a new command "list1" to dump lists in layout (a).
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
alsaucm/usecase.c | 29 +++++++++++++++++++++--------
1 files changed, 21 insertions(+), 8 deletions(-)
diff --git a/alsaucm/usecase.c b/alsaucm/usecase.c
index 83781d0..f24e63e 100644
--- a/alsaucm/usecase.c
+++ b/alsaucm/usecase.c
@@ -63,7 +63,8 @@ enum uc_cmd {
OM_RESET,
OM_RELOAD,
OM_LISTCARDS,
- OM_LIST,
+ OM_LIST2,
+ OM_LIST1,
/* set/get */
OM_SET,
@@ -87,7 +88,8 @@ static struct cmd cmds[] = {
{ OM_RESET, 0, 1, "reset" },
{ OM_RELOAD, 0, 1, "reload" },
{ OM_LISTCARDS, 0, 0, "listcards" },
- { OM_LIST, 1, 1, "list" },
+ { OM_LIST1, 1, 1, "list1" },
+ { OM_LIST2, 1, 1, "list" },
{ OM_SET, 2, 1, "set" },
{ OM_GET, 1, 1, "get" },
{ OM_GETI, 1, 1, "geti" },
@@ -172,7 +174,7 @@ static int do_one(struct context *context, struct cmd *cmd, char **argv)
{
const char **list, *str;
long lval;
- int err, i;
+ int err, i, j, entries;
if (cmd->opencard && context->uc_mgr == NULL) {
fprintf(stderr, "%s: command '%s' requires an open card\n",
@@ -233,7 +235,17 @@ static int do_one(struct context *context, struct cmd *cmd, char **argv)
}
snd_use_case_free_list(list, err);
break;
- case OM_LIST:
+ case OM_LIST1:
+ case OM_LIST2:
+ switch (cmd->code) {
+ case OM_LIST1:
+ entries = 1;
+ break;
+ case OM_LIST2:
+ entries = 2;
+ break;
+ }
+
err = snd_use_case_get_list(context->uc_mgr,
argv[0],
&list);
@@ -246,10 +258,11 @@ static int do_one(struct context *context, struct cmd *cmd, char **argv)
}
if (err == 0)
printf(" list is empty\n");
- for (i = 0; i < err / 2; i++) {
- printf(" %i: %s\n", i, list[i*2]);
- if (list[i*2+1])
- printf(" %s\n", list[i*2+1]);
+ for (i = 0; i < err / entries; i++) {
+ printf(" %i: %s\n", i, list[i*entries]);
+ for (j = 0; j < entries - 1; j++)
+ if (list[i*entries+j+1])
+ printf(" %s\n", list[i*entries+j+1]);
}
snd_use_case_free_list(list, err);
break;
--
1.7.5.3

View File

@ -1,48 +0,0 @@
From f30fbe3901da0f57a6b40102ae1c3ab3a9ff6744 Mon Sep 17 00:00:00 2001
From: Stephen Warren <swarren@nvidia.com>
Date: Thu, 2 Jun 2011 16:45:13 -0600
Subject: [PATCH 08/16] alsaucm: Don't double-free empty lists
When snd_use_case_get_list (and hence also snd_use_case_card_list) returns
an empty list, alsaucm still attempts to free it. This ends up double-
freeing the returned list, or worse, freeing an invalid pointer, depending
on how snd_use_case_get_list gets implemented. Fix alsaucm to return early
on empty lists to avoid this.
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
alsaucm/usecase.c | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/alsaucm/usecase.c b/alsaucm/usecase.c
index f24e63e..1c94680 100644
--- a/alsaucm/usecase.c
+++ b/alsaucm/usecase.c
@@ -226,8 +226,10 @@ static int do_one(struct context *context, struct cmd *cmd, char **argv)
snd_strerror(err));
return err;
}
- if (err == 0)
+ if (err == 0) {
printf(" list is empty\n");
+ return 0;
+ }
for (i = 0; i < err / 2; i++) {
printf(" %i: %s\n", i, list[i*2]);
if (list[i*2+1])
@@ -256,8 +258,10 @@ static int do_one(struct context *context, struct cmd *cmd, char **argv)
snd_strerror(err));
return err;
}
- if (err == 0)
+ if (err == 0) {
printf(" list is empty\n");
+ return 0;
+ }
for (i = 0; i < err / entries; i++) {
printf(" %i: %s\n", i, list[i*entries]);
for (j = 0; j < entries - 1; j++)
--
1.7.5.3

View File

@ -1,109 +0,0 @@
From d67a965aec800483ba48d6de736cb3851163e678 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Fri, 3 Jun 2011 12:41:26 +0200
Subject: [PATCH 09/16] aplay: Add -i option for interactive mode
The recent addition of pause/resume control via keyboard brought
a problem when aplay/arecord is invoked in background. For avoiding
regressions, it's safer to use non-interactive mode as default and
enable the new feature via an option.
Tested-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
aplay/aplay.1 | 4 ++++
aplay/aplay.c | 14 +++++++++++++-
2 files changed, 17 insertions(+), 1 deletions(-)
diff --git a/aplay/aplay.1 b/aplay/aplay.1
index b6caf0b..8ccf556 100644
--- a/aplay/aplay.1
+++ b/aplay/aplay.1
@@ -137,6 +137,10 @@ by typing aplay.
Record. This is the default if the program is invoked
by typing arecord.
.TP
+\fI\-i, \-\-interactive\fP
+Allow interactive operation via stdin.
+Currently only pause/resume via space or enter key is implemented.
+.TP
\fI\-\-disable\-resample\fP
Disable automatic rate resample.
.TP
diff --git a/aplay/aplay.c b/aplay/aplay.c
index c09f23c..04959b8 100644
--- a/aplay/aplay.c
+++ b/aplay/aplay.c
@@ -103,6 +103,7 @@ static int avail_min = -1;
static int start_delay = 0;
static int stop_delay = 0;
static int monotonic = 0;
+static int interactive = 0;
static int can_pause = 0;
static int verbose = 0;
static int vumeter = VUMETER_NONE;
@@ -200,6 +201,7 @@ _("Usage: %s [OPTION]... [FILE]...\n"
"-v, --verbose show PCM structure and setup (accumulative)\n"
"-V, --vumeter=TYPE enable VU meter (TYPE: mono or stereo)\n"
"-I, --separate-channels one file for each channel\n"
+"-i, --interactive allow interactive operation from stdin\n"
" --disable-resample disable automatic rate resample\n"
" --disable-channels disable automatic channel conversions\n"
" --disable-format disable automatic format conversions\n"
@@ -404,7 +406,7 @@ enum {
int main(int argc, char *argv[])
{
int option_index;
- static const char short_options[] = "hnlLD:qt:c:f:r:d:MNF:A:R:T:B:vV:IPC";
+ static const char short_options[] = "hnlLD:qt:c:f:r:d:MNF:A:R:T:B:vV:IPCi";
static const struct option long_options[] = {
{"help", 0, 0, 'h'},
{"version", 0, 0, OPT_VERSION},
@@ -442,6 +444,7 @@ int main(int argc, char *argv[])
{"max-file-time", 1, 0, OPT_MAX_FILE_TIME},
{"process-id-file", 1, 0, OPT_PROCESS_ID_FILE},
{"use-strftime", 0, 0, OPT_USE_STRFTIME},
+ {"interactive", 0, 0, 'i'},
{0, 0, 0, 0}
};
char *pcm_name = "default";
@@ -608,6 +611,9 @@ int main(int argc, char *argv[])
if (file_type == FORMAT_DEFAULT)
file_type = FORMAT_WAVE;
break;
+ case 'i':
+ interactive = 1;
+ break;
case OPT_DISABLE_RESAMPLE:
open_mode |= SND_PCM_NO_AUTO_RESAMPLE;
break;
@@ -1206,6 +1212,8 @@ static void init_stdin(void)
struct termios term;
long flags;
+ if (!interactive)
+ return;
tcgetattr(fileno(stdin), &term);
term_c_lflag = term.c_lflag;
if (fd == fileno(stdin))
@@ -1221,6 +1229,8 @@ static void done_stdin(void)
{
struct termios term;
+ if (!interactive)
+ return;
if (fd == fileno(stdin) || term_c_lflag == -1)
return;
tcgetattr(fileno(stdin), &term);
@@ -1258,6 +1268,8 @@ static void check_stdin(void)
{
unsigned char b;
+ if (!interactive)
+ return;
if (fd != fileno(stdin)) {
while (read(fileno(stdin), &b, 1) == 1) {
if (b == ' ' || b == '\r') {
--
1.7.5.3

View File

@ -1,33 +0,0 @@
From a3ebe640a74d4a0e8acd15e31dd83c210b3c1be4 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Fri, 3 Jun 2011 12:44:17 +0200
Subject: [PATCH 10/16] aplay: Avoid recursive signal handling
When abort() is issued in snd_pcm_close() path, it may loop recursively
and crash.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
aplay/aplay.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/aplay/aplay.c b/aplay/aplay.c
index 04959b8..72852b0 100644
--- a/aplay/aplay.c
+++ b/aplay/aplay.c
@@ -358,6 +358,12 @@ static void prg_exit(int code)
static void signal_handler(int sig)
{
+ static int in_aborting;
+
+ if (in_aborting)
+ return;
+
+ in_aborting = 1;
if (verbose==2)
putchar('\n');
if (!quiet_mode)
--
1.7.5.3

View File

@ -1,25 +0,0 @@
From 2a627cfaed498e9175da2ffe3f43030013bb21be Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Fri, 3 Jun 2011 14:21:53 +0200
Subject: [PATCH 12/16] alsaloop: Use AM_CFLAGS in Makefile.am
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
alsaloop/Makefile.am | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/alsaloop/Makefile.am b/alsaloop/Makefile.am
index f76eafd..a694911 100644
--- a/alsaloop/Makefile.am
+++ b/alsaloop/Makefile.am
@@ -1,6 +1,6 @@
INCLUDES = -I$(top_srcdir)/include
LDADD = -lm
-CFLAGS += -D_GNU_SOURCE
+AM_CFLAGS = -D_GNU_SOURCE
if HAVE_SAMPLERATE
LDADD += -lsamplerate
endif
--
1.7.5.3

View File

@ -1,44 +0,0 @@
From ac2be7b33ad1ece1dd031d54be1a17a5f902cece Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Fri, 3 Jun 2011 14:24:30 +0200
Subject: [PATCH 13/16] Updated COPYING with the recent FSF address
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
COPYING | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/COPYING b/COPYING
index 5b6e7c6..623b625 100644
--- a/COPYING
+++ b/COPYING
@@ -2,7 +2,7 @@
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -305,7 +305,7 @@ the "copyright" line and a pointer to where the full notice is found.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
@@ -313,7 +313,7 @@ Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
- Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
--
1.7.5.3

View File

@ -1,40 +0,0 @@
From 3bea722b3bfdbec2e26218aca66e55b019a24436 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Fri, 3 Jun 2011 14:28:28 +0200
Subject: [PATCH 14/16] alsamixer: Fix 64bit issues
lrint() returns a long int.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
alsamixer/mixer_display.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/alsamixer/mixer_display.c b/alsamixer/mixer_display.c
index 51a1546..8ba396a 100644
--- a/alsamixer/mixer_display.c
+++ b/alsamixer/mixer_display.c
@@ -486,17 +486,17 @@ static void display_control(unsigned int control_index)
if (control->flags & IS_ACTIVE)
wattrset(mixer_widget.window, attr_mixer_active);
if (!(control->flags & HAS_VOLUME_1)) {
- sprintf(buf, "%d", lrint(volumes[0] * 100));
+ sprintf(buf, "%d", (int)lrint(volumes[0] * 100));
display_string_in_field(values_y, frame_left - 2, buf, 8, ALIGN_CENTER);
} else {
mvwprintw(mixer_widget.window, values_y, frame_left - 2,
- "%3d", lrint(volumes[0] * 100));
+ "%3d", (int)lrint(volumes[0] * 100));
if (control->flags & IS_ACTIVE)
wattrset(mixer_widget.window, attr_ctl_frame);
waddstr(mixer_widget.window, "<>");
if (control->flags & IS_ACTIVE)
wattrset(mixer_widget.window, attr_mixer_active);
- wprintw(mixer_widget.window, "%-3d", lrint(volumes[1] * 100));
+ wprintw(mixer_widget.window, "%-3d", (int)lrint(volumes[1] * 100));
}
}
--
1.7.5.3

View File

@ -1,26 +0,0 @@
From ce2d64b48addd16c2ba25c76b795a9f7b277e642 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Fri, 3 Jun 2011 14:30:55 +0200
Subject: [PATCH 15/16] aplay: Add include files for mkdir()
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
aplay/aplay.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/aplay/aplay.c b/aplay/aplay.c
index 72852b0..7175652 100644
--- a/aplay/aplay.c
+++ b/aplay/aplay.c
@@ -46,6 +46,8 @@
#include <sys/uio.h>
#include <sys/time.h>
#include <sys/signal.h>
+#include <sys/stat.h>
+#include <sys/types.h>
#include <asm/byteorder.h>
#include "aconfig.h"
#include "gettext.h"
--
1.7.5.3

View File

@ -1,52 +0,0 @@
From 36d642f4481b54c035782ec1a71f7c67f64ed3bf Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Fri, 3 Jun 2011 14:35:44 +0200
Subject: [PATCH 16/16] aplay: Use standard endian convesions
asm/*.h stuff shouldn't be used directly from the user-space apps.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
aplay/aplay.c | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/aplay/aplay.c b/aplay/aplay.c
index 7175652..50e01ef 100644
--- a/aplay/aplay.c
+++ b/aplay/aplay.c
@@ -48,7 +48,7 @@
#include <sys/signal.h>
#include <sys/stat.h>
#include <sys/types.h>
-#include <asm/byteorder.h>
+#include <endian.h>
#include "aconfig.h"
#include "gettext.h"
#include "formats.h"
@@ -1508,9 +1508,9 @@ static void compute_max_peak(u_char *data, size_t count)
c = 0;
while (count-- > 0) {
if (format_little_endian)
- sval = __le16_to_cpu(*valp);
+ sval = le16toh(*valp);
else
- sval = __be16_to_cpu(*valp);
+ sval = be16toh(*valp);
sval = abs(sval) ^ mask;
if (max_peak[c] < sval)
max_peak[c] = sval;
@@ -1553,9 +1553,9 @@ static void compute_max_peak(u_char *data, size_t count)
c = 0;
while (count-- > 0) {
if (format_little_endian)
- val = __le32_to_cpu(*valp);
+ val = le32toh(*valp);
else
- val = __be32_to_cpu(*valp);
+ val = be32toh(*valp);
val = abs(val) ^ mask;
if (max_peak[c] < val)
max_peak[c] = val;
--
1.7.5.3

View File

@ -1,101 +0,0 @@
From 471191abe59cce84b104fc6f601cbb852a8d07e7 Mon Sep 17 00:00:00 2001
From: Daniel T Chen <crimsun@ubuntu.com>
Date: Sat, 4 Jun 2011 17:44:43 -0400
Subject: [PATCH] speaker-test.1: Clarify man page by giving examples
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
BugLink: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=620513
From the Debian bug report:
"The speaker-test manpage could be improved somewhat by helping a
little bit the user determine how to find out the devices he can test.
Based on http://alsa.opensrc.org/Speaker-test I have make some changes
to the manpage (diff attached) to describe a little bit more how
speaker-test can be used alongside 'aplay'.
Please consider the following patch for
alsa-utils-1.0.23/speaker-test/speaker-test.1"
Signed-off-by: Javier Fernández-Sanguino Peña <jfs@debian.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
speaker-test/speaker-test.1 | 46 ++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 45 insertions(+), 1 deletions(-)
diff --git a/speaker-test/speaker-test.1 b/speaker-test/speaker-test.1
index f0948a6..6ef0814 100644
--- a/speaker-test/speaker-test.1
+++ b/speaker-test/speaker-test.1
@@ -11,7 +11,7 @@
. fi
. PP
..
-.TH SPEAKER\-TEST 1 "20 September 2004" speaker-test
+.TH SPEAKER\-TEST 1 "April 2nd, 2011" speaker-test
.SH NAME
speaker\-test \- command-line speaker test tone generator for ALSA
.SH SYNOPSIS
@@ -20,6 +20,41 @@ speaker\-test \- command-line speaker test tone generator for ALSA
.SH DESCRIPTION
\fBspeaker\-test\fP generates a tone that can be used to test the speakers of a computer.
+\fBspeaker-test\fP by default will test the \fIdefault\fP device. If you
+want to test another sound device you will have first to get a list of
+all of the sound cards in your system and the devices associated with
+those cards. Notice that there might be for example, one device for
+analog sound, one for digital sound and one for HDMI sound.
+To get the list of available cards and devices you can run \fBaplay -L\fR.
+
+.P \fBaplay\fR's output will be similar to this one:
+
+.nf
+$ aplay -L
+null
+ Discard all samples (playback) or generate zero samples (capture)
+default:CARD=ICH5
+ Intel ICH5, Intel ICH5
+ Default Audio Device
+front:CARD=ICH5,DEV=0
+ Intel ICH5, Intel ICH5
+ Front speakers
+surround40:CARD=ICH5,DEV=0
+ Intel ICH5, Intel ICH5
+ 4.0 Surround output to Front and Rear speakers
+(...)
+.fi
+
+.P Each of the devices is listed in the beginning of the definition so,
+in the above example, there are four devices listed: null, default, front
+and surround40. So, if you want to test the last device you can
+run \fBspeaker-test -Dsurround40:ICH5 -c 6\fR. The \fB-c\fR option will
+indicate that the six audio channels in the device have to be tested.
+
+
+
+
+
.SH OPTIONS
.TP
@@ -119,6 +154,15 @@ To send a nice low 75Hz tone to the Woofer and then exit without touching any ot
speaker-test -Dplug:surround51 -c6 -s1 -f75
.EE
+To do a 2-speaker test using the spdif (coax or optical) output:
+.EX
+ speaker-test -Dplug:spdif -c2
+.EE
+
+
+.SH SEE ALSO
+.BR aplay(1)
+
.SH AUTHOR
The speaker-test program was written by James Courtier-Dutton.
Pink noise support was added by Nathan Hurst.
--
1.7.6

View File

@ -1,50 +0,0 @@
From 8709ffe841e6f33094f7a547ee86591b29a40cf4 Mon Sep 17 00:00:00 2001
From: Lars-Peter Clausen <lars@metafoo.de>
Date: Thu, 16 Jun 2011 14:19:18 +0200
Subject: [PATCH] alsa-utils: amixer: Fix SND_CTL_TLVT_DB_RANGE handling
Current support for handling SND_CTL_TLVT_DB_RANGE in amixer is completely
broken. This patch fixes it.
Reported-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
amixer/amixer.c | 14 +++++++-------
1 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/amixer/amixer.c b/amixer/amixer.c
index a177288..9d2855d 100644
--- a/amixer/amixer.c
+++ b/amixer/amixer.c
@@ -517,20 +517,20 @@ static void decode_tlv(unsigned int spaces, unsigned int *tlv, unsigned int tlv_
#ifdef SND_CTL_TLVT_DB_RANGE
case SND_CTL_TLVT_DB_RANGE:
printf("dBrange-\n");
- if ((size / (6 * sizeof(unsigned int))) != 0) {
+ if ((size % (6 * sizeof(unsigned int))) != 0) {
while (size > 0) {
printf("0x%08x,", tlv[idx++]);
size -= sizeof(unsigned int);
}
break;
}
- idx = 0;
- while (idx < size) {
+ while (size > 0) {
print_spaces(spaces + 2);
- printf("rangemin=%i,", tlv[0]);
- printf(",rangemax=%i\n", tlv[1]);
- decode_tlv(spaces + 4, tlv + 2, 6 * sizeof(unsigned int));
- idx += 6 * sizeof(unsigned int);
+ printf("rangemin=%i,", tlv[idx++]);
+ printf(",rangemax=%i\n", tlv[idx++]);
+ decode_tlv(spaces + 4, tlv + idx, 4 * sizeof(unsigned int));
+ idx += 4;
+ size -= 6 * sizeof(unsigned int);
}
break;
#endif
--
1.7.6

View File

@ -1,41 +0,0 @@
From 0131ab6a67e18ae3c30b7b3fabc2fdf1592f075c Mon Sep 17 00:00:00 2001
From: Tim Blechmann <tim@klingt.org>
Date: Wed, 29 Jun 2011 09:44:06 +0200
Subject: [PATCH] aplay: increase channel limit to 256
aplay is limited to 32 channels, which makes it impossible to use it for
testing devices with more channels. here we increase the limit to 256,
which should be sufficient for a virtual device made of 4 64-channel
soundcards.
Signed-off-by: Tim Blechmann <tim@klingt.org>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
aplay/aplay.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/aplay/aplay.c b/aplay/aplay.c
index 50e01ef..07e6bc0 100644
--- a/aplay/aplay.c
+++ b/aplay/aplay.c
@@ -526,7 +526,7 @@ int main(int argc, char *argv[])
break;
case 'c':
rhwparams.channels = strtol(optarg, NULL, 0);
- if (rhwparams.channels < 1 || rhwparams.channels > 32) {
+ if (rhwparams.channels < 1 || rhwparams.channels > 256) {
error(_("value %i for channels is invalid"), rhwparams.channels);
return 1;
}
@@ -1015,7 +1015,7 @@ static int test_au(int fd, void *buffer)
if (hwparams.rate < 2000 || hwparams.rate > 256000)
return -1;
hwparams.channels = BE_INT(ap->channels);
- if (hwparams.channels < 1 || hwparams.channels > 128)
+ if (hwparams.channels < 1 || hwparams.channels > 256)
return -1;
if ((size_t)safe_read(fd, buffer + sizeof(AuHeader), BE_INT(ap->hdr_size) - sizeof(AuHeader)) != BE_INT(ap->hdr_size) - sizeof(AuHeader)) {
error(_("read error"));
--
1.7.6.1

View File

@ -1,91 +0,0 @@
From e80b015689ce7a632c8cf57a29bd703eef4edbbc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
Date: Wed, 31 Aug 2011 22:27:10 +0200
Subject: [PATCH] fix use of $(SED)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The alsactl Makefile used 'sed $(SED)' which is going to failed when SED
is actually set. Replaced that with '$(SED)', and a few 'sed' calls in
alsaconf Makefile as well. Added AC_PROG_SED to configure to have it
set.
Fixes: https://bugtrack.alsa-project.org/alsa-bug/view.php?id=5363
Fixes: http://bugs.gentoo.org/show_bug.cgi?id=366587
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
---
alsaconf/Makefile.am | 16 ++++++++--------
alsactl/Makefile.am | 2 +-
configure.in | 1 +
3 files changed, 10 insertions(+), 9 deletions(-)
diff --git a/alsaconf/Makefile.am b/alsaconf/Makefile.am
index a11ecc5..a4f5e4a 100644
--- a/alsaconf/Makefile.am
+++ b/alsaconf/Makefile.am
@@ -5,13 +5,13 @@ SUBDIRS = po
install-man8:
@for i in $(man_MANS); do \
- ext=`echo $$i | sed -e 's/^.*\\.//'`; \
- inst=`echo $$i | sed -e 's/\\.[^.]*$$//'`; \
+ ext=`echo $$i | $(SED) -e 's/^.*\\.//'`; \
+ inst=`echo $$i | $(SED) -e 's/\\.[^.]*$$//'`; \
case $$inst in \
*.[a-za-z]*)\
- loc=`echo $$inst | sed -e 's/^.*\\.//'`; \
+ loc=`echo $$inst | $(SED) -e 's/^.*\\.//'`; \
loc="/$$loc"; \
- inst=`echo $$inst | sed -e 's/\\.[^.]*$$//'`;; \
+ inst=`echo $$inst | $(SED) -e 's/\\.[^.]*$$//'`;; \
*)\
loc="";; \
esac; \
@@ -22,13 +22,13 @@ install-man8:
uninstall-man8:
@for i in $(man_MANS); do \
- ext=`echo $$i | sed -e 's/^.*\\.//'`; \
- inst=`echo $$i | sed -e 's/\\.[^.]*$$//'`; \
+ ext=`echo $$i | $(SED) -e 's/^.*\\.//'`; \
+ inst=`echo $$i | $(SED) -e 's/\\.[^.]*$$//'`; \
case $$inst in \
*.[a-za-z]*)\
- loc=`echo $$inst | sed -e 's/^.*\\.//'`; \
+ loc=`echo $$inst | $(SED) -e 's/^.*\\.//'`; \
loc="/$$loc"; \
- inst=`echo $$inst | sed -e 's/\\.[^.]*$$//'`;; \
+ inst=`echo $$inst | $(SED) -e 's/\\.[^.]*$$//'`;; \
*)\
loc="";; \
esac; \
diff --git a/alsactl/Makefile.am b/alsactl/Makefile.am
index 5cfc415..c434e44 100644
--- a/alsactl/Makefile.am
+++ b/alsactl/Makefile.am
@@ -34,7 +34,7 @@ install-data-hook:
endif
edit = \
- sed $(SED) -r 's,@sbindir\@,$(sbindir),g' < $< > $@ || rm $@
+ $(SED) -r 's,@sbindir\@,$(sbindir),g' < $< > $@ || rm $@
alsa-store.service: alsa-store.service.in
$(edit)
diff --git a/configure.in b/configure.in
index 9ec1fac..b28af80 100644
--- a/configure.in
+++ b/configure.in
@@ -28,6 +28,7 @@ dnl AC_PROG_CXX
AC_PROG_INSTALL
AC_PROG_MKDIR_P
AC_PROG_LN_S
+AC_PROG_SED
AM_PATH_ALSA(1.0.16)
dnl Check components
--
1.7.6.1

View File

@ -1,88 +0,0 @@
From 4c09aaa5c13c2260fea57a89c47f88252da8a692 Mon Sep 17 00:00:00 2001
From: Jaroslav Kysela <perex@perex.cz>
Date: Wed, 2 Nov 2011 17:27:47 +0100
Subject: [PATCH] alsamixer: Fix X-win related crash for PulseAudio plugin
(bad linking)
A lot of reports that alsamixer crashes in X terminal when the PulseAudio
CTL plugin is activated were entered to the tracking systems.
I figured that there is a linking clash for the shutdown() function.
The shutdown() function in glibc is socket related, but the alsamixer code
redefines this function and appearently that under some linking
circumstances - which PA client invokes during the runtime dynamic linking
- the wrong function is called.
This patch, for safety, renames the shutdown() function from alsamixer
to app_shutdown(), but it might make sense to figure the real linking
culprit to avoid future surprises.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
alsamixer/cli.c | 2 +-
alsamixer/die.c | 4 ++--
alsamixer/mainloop.c | 2 +-
alsamixer/mainloop.h | 2 +-
4 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/alsamixer/cli.c b/alsamixer/cli.c
index 3898196..bb4f030 100644
--- a/alsamixer/cli.c
+++ b/alsamixer/cli.c
@@ -130,6 +130,6 @@ int main(int argc, char *argv[])
mainloop();
- shutdown();
+ app_shutdown();
return 0;
}
diff --git a/alsamixer/die.c b/alsamixer/die.c
index dcd8536..899a501 100644
--- a/alsamixer/die.c
+++ b/alsamixer/die.c
@@ -26,14 +26,14 @@
void fatal_error(const char *msg)
{
- shutdown();
+ app_shutdown();
fprintf(stderr, "%s\n", msg);
exit(EXIT_FAILURE);
}
void fatal_alsa_error(const char *msg, int err)
{
- shutdown();
+ app_shutdown();
fprintf(stderr, _("%s: %s\n"), msg, snd_strerror(err));
exit(EXIT_FAILURE);
}
diff --git a/alsamixer/mainloop.c b/alsamixer/mainloop.c
index eddaf3b..dbfef9b 100644
--- a/alsamixer/mainloop.c
+++ b/alsamixer/mainloop.c
@@ -52,7 +52,7 @@ void initialize_curses(bool use_color)
snd_lib_error_set_handler(black_hole_error_handler);
}
-void shutdown(void)
+void app_shutdown(void)
{
if (curses_initialized) {
clear();
diff --git a/alsamixer/mainloop.h b/alsamixer/mainloop.h
index 0cfc989..22317be 100644
--- a/alsamixer/mainloop.h
+++ b/alsamixer/mainloop.h
@@ -5,6 +5,6 @@
void initialize_curses(bool use_color);
void mainloop(void);
-void shutdown(void);
+void app_shutdown(void);
#endif
--
1.7.7

View File

@ -1,104 +0,0 @@
From 9fa7cd2176a6be077f61c0f050f257beedf8b0c0 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Fri, 4 Nov 2011 17:01:57 +0100
Subject: [PATCH] alsactl: Initialize Front Speaker, etc
Add missing initialization of surround and CLFE playback volumes and
switches. Ditto for "Front Speaker", etc.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
alsactl/init/default | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 70 insertions(+), 0 deletions(-)
diff --git a/alsactl/init/default b/alsactl/init/default
index b7cb941..af64cb1 100644
--- a/alsactl/init/default
+++ b/alsactl/init/default
@@ -53,6 +53,36 @@ CTL{name}="Front Playback Switch",CTL{do_search}=="1", \
CTL{values}="on"
CTL{reset}="mixer"
+CTL{name}="Surround Playback Volume",PROGRAM!="__ctl_search",GOTO=""
+# if master volume control is present, turn front volume to max
+ENV{has_pmaster_vol}=="true",CTL{write}=="0dB",GOTO=""
+ENV{has_pmaster_vol}=="true",CTL{write}=="100%",GOTO=""
+CTL{write}!="$env{pvolume}",CTL{values}="$env{ppercent}"
+LABEL=""
+CTL{name}="Surround Playback Switch",CTL{do_search}=="1", \
+ CTL{values}="on"
+
+CTL{reset}="mixer"
+CTL{name}="Center Playback Volume",PROGRAM!="__ctl_search",GOTO=""
+# if master volume control is present, turn front volume to max
+ENV{has_pmaster_vol}=="true",CTL{write}=="0dB",GOTO=""
+ENV{has_pmaster_vol}=="true",CTL{write}=="100%",GOTO=""
+CTL{write}!="$env{pvolume}",CTL{values}="$env{ppercent}"
+LABEL=""
+CTL{name}="Center Playback Switch",CTL{do_search}=="1", \
+ CTL{values}="on"
+
+CTL{reset}="mixer"
+CTL{name}="LFE Playback Volume",PROGRAM!="__ctl_search",GOTO=""
+# if master volume control is present, turn front volume to max
+ENV{has_pmaster_vol}=="true",CTL{write}=="0dB",GOTO=""
+ENV{has_pmaster_vol}=="true",CTL{write}=="100%",GOTO=""
+CTL{write}!="$env{pvolume}",CTL{values}="$env{ppercent}"
+LABEL=""
+CTL{name}="LFE Playback Switch",CTL{do_search}=="1", \
+ CTL{values}="on"
+
+CTL{reset}="mixer"
CTL{name}="Headphone Playback Volume",PROGRAM!="__ctl_search",GOTO=""
# if master volume control is present, turn headphone volume to max
ENV{has_pmaster_vol}=="true",CTL{write}=="0dB",GOTO=""
@@ -84,6 +114,46 @@ CTL{name}="Speaker Playback Switch",CTL{do_search}=="1", \
CTL{values}="on"
CTL{reset}="mixer"
+CTL{name}="Front Speaker Playback Volume",PROGRAM!="__ctl_search",GOTO=""
+# if master volume control is present, turn speaker volume to max
+ENV{has_pmaster_vol}=="true",CTL{write}=="0dB",GOTO=""
+ENV{has_pmaster_vol}=="true",CTL{write}=="100%",GOTO=""
+CTL{write}!="$env{pvolume}",CTL{values}="$env{ppercent}"
+LABEL=""
+CTL{name}="Front Speaker Playback Switch",CTL{do_search}=="1", \
+ CTL{values}="on"
+
+CTL{reset}="mixer"
+CTL{name}="Front Speaker Playback Volume",PROGRAM!="__ctl_search",GOTO=""
+# if master volume control is present, turn speaker volume to max
+ENV{has_pmaster_vol}=="true",CTL{write}=="0dB",GOTO=""
+ENV{has_pmaster_vol}=="true",CTL{write}=="100%",GOTO=""
+CTL{write}!="$env{pvolume}",CTL{values}="$env{ppercent}"
+LABEL=""
+CTL{name}="Surround Speaker Playback Switch",CTL{do_search}=="1", \
+ CTL{values}="on"
+
+CTL{reset}="mixer"
+CTL{name}="Front Speaker Playback Volume",PROGRAM!="__ctl_search",GOTO=""
+# if master volume control is present, turn speaker volume to max
+ENV{has_pmaster_vol}=="true",CTL{write}=="0dB",GOTO=""
+ENV{has_pmaster_vol}=="true",CTL{write}=="100%",GOTO=""
+CTL{write}!="$env{pvolume}",CTL{values}="$env{ppercent}"
+LABEL=""
+CTL{name}="Center Speaker Playback Switch",CTL{do_search}=="1", \
+ CTL{values}="on"
+
+CTL{reset}="mixer"
+CTL{name}="Front Speaker Playback Volume",PROGRAM!="__ctl_search",GOTO=""
+# if master volume control is present, turn speaker volume to max
+ENV{has_pmaster_vol}=="true",CTL{write}=="0dB",GOTO=""
+ENV{has_pmaster_vol}=="true",CTL{write}=="100%",GOTO=""
+CTL{write}!="$env{pvolume}",CTL{values}="$env{ppercent}"
+LABEL=""
+CTL{name}="LFE Speaker Playback Switch",CTL{do_search}=="1", \
+ CTL{values}="on"
+
+CTL{reset}="mixer"
CTL{name}="PC Speaker Playback Volume",CTL{do_search}=="1", \
CTL{values}="$env{pvolume}",RESULT!="0",CTL{values}="$env{ppercent}"
CTL{name}="PC Speaker Playback Switch",CTL{do_search}=="1", \
--
1.7.7

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:95127f740291086486c06c28118cabca0814bde48fd14dac041a9812a5ac1be2
size 1130734

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2e676a2f634bbfe279b260e10a96f617cb72ee63c5bbf6c5f96bb615705b302c
size 1132780

View File

@ -1,3 +1,8 @@
-------------------------------------------------------------------
Wed Jan 25 11:12:10 CET 2012 - tiwai@suse.de
- updated to version 1.0.25; including all previous fixes
-------------------------------------------------------------------
Thu Dec 22 16:22:19 UTC 2011 - crrodriguez@opensuse.org

View File

@ -1,7 +1,7 @@
#
# spec file for package alsa-utils
#
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -15,7 +15,6 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
#
%if %suse_version > 1130
%define use_systemd 1
@ -31,37 +30,16 @@ BuildRequires: automake
BuildRequires: ncurses-devel
BuildRequires: pkgconfig
BuildRequires: xmlto
%define package_version 1.0.24.2
License: GPL-2.0+
Group: Productivity/Multimedia/Sound/Players
%define package_version 1.0.25
Provides: alsa-conf
Requires: dialog pciutils alsa
Summary: Advanced Linux Sound Architecture Utilities
Version: 1.0.24.2
License: GPL-2.0+
Group: Productivity/Multimedia/Sound/Players
Version: 1.0.25
Release: 0
Source: ftp://ftp.alsa-project.org/pub/utils/alsa-utils-%{package_version}.tar.bz2
# Patch: alsa-utils-git-fixes.diff
Patch1: 0001-alsamixer-fix-display-of-active-inactive-controls.patch
Patch2: 0002-alsaloop-libsamplerate-requires-specific-formats-for.patch
Patch3: 0003-alsaloop-another-try-to-force-correct-formats-for-li.patch
Patch4: 0004-alsamixer-fix-build-on-uClibc.patch
Patch5: 0005-alsactl-init-Mute-CD-Playback-volume-by-default.patch
Patch6: 0006-Revert-alsactl-Display-help-for-names-command.patch
Patch7: 0007-alsaucm-Add-list1-command-for-non-tuple-lists.patch
Patch8: 0008-alsaucm-Don-t-double-free-empty-lists.patch
Patch9: 0009-aplay-Add-i-option-for-interactive-mode.patch
Patch10: 0010-aplay-Avoid-recursive-signal-handling.patch
Patch12: 0012-alsaloop-Use-AM_CFLAGS-in-Makefile.am.patch
Patch13: 0013-Updated-COPYING-with-the-recent-FSF-address.patch
Patch14: 0014-alsamixer-Fix-64bit-issues.patch
Patch15: 0015-aplay-Add-include-files-for-mkdir.patch
Patch16: 0016-aplay-Use-standard-endian-convesions.patch
Patch17: 0017-speaker-test.1-Clarify-man-page-by-giving-examples.patch
Patch18: 0018-alsa-utils-amixer-Fix-SND_CTL_TLVT_DB_RANGE-handling.patch
Patch19: 0019-aplay-increase-channel-limit-to-256.patch
Patch20: 0020-fix-use-of-SED.patch
Patch21: 0021-alsamixer-Fix-X-win-related-crash-for-PulseAudio-plu.patch
Patch22: 0022-alsactl-Initialize-Front-Speaker-etc.patch
Patch99: alsa-utils-gettext-version-removal.diff
Url: http://www.alsa-project.org/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -76,27 +54,6 @@ Sound Architecture.
sed -i -e's/EXTRA_DIST= config.rpath /EXTRA_DIST=/' Makefile.am
# rm -f po/Makefile* po/*.gmo po/*.pot po/*.header po/stamp-*
# patch -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1
%patch15 -p1
%patch16 -p1
%patch17 -p1
%patch18 -p1
%patch19 -p1
%patch20 -p1
%patch21 -p1
%patch22 -p1
%if %suse_version < 1020
%patch99 -p1
%endif