Hello community,
here is the log from the commit of package alsa-utils
checked in at Wed Jan 9 21:48:44 CET 2008.
--------
--- alsa-utils/alsa-utils.changes 2007-12-14 14:22:14.000000000 +0100
+++ /mounts/work_src_done/STABLE/alsa-utils/alsa-utils.changes 2008-01-09 17:40:06.000000000 +0100
@@ -1,0 +2,8 @@
+Wed Jan 9 17:37:04 CET 2008 - tiwai@suse.de
+
+- updated to HG 2008.01.09 version:
+ * alsact: skip inactive controls
+ * alsamixer: add 8-channel support
+ * aplay, speaker-test: remove obsolete APIs
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ alsa-utils.spec ++++++
--- /var/tmp/diff_new_pack.re8403/_old 2008-01-09 21:48:24.000000000 +0100
+++ /var/tmp/diff_new_pack.re8403/_new 2008-01-09 21:48:24.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package alsa-utils (Version 1.0.15)
#
-# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
@@ -20,7 +20,7 @@
AutoReqProv: on
Summary: Advanced Linux Sound Architecture Utilities
Version: 1.0.15
-Release: 16
+Release: 19
Source: ftp://ftp.alsa-project.org/pub/util/alsa-utils-%{package_version}.tar.bz2
Patch: alsa-utils-hg-fixes.diff
Url: http://www.alsa-project.org/
@@ -69,6 +69,11 @@
%{_datadir}/alsa
%changelog
+* Wed Jan 09 2008 - tiwai@suse.de
+- updated to HG 2008.01.09 version:
+ * alsact: skip inactive controls
+ * alsamixer: add 8-channel support
+ * aplay, speaker-test: remove obsolete APIs
* Fri Dec 14 2007 - tiwai@suse.de
- updated to HG 2007.12.14 version:
* merged previous patches
++++++ alsa-utils-hg-fixes.diff ++++++
--- /var/tmp/diff_new_pack.re8403/_old 2008-01-09 21:48:24.000000000 +0100
+++ /var/tmp/diff_new_pack.re8403/_new 2008-01-09 21:48:25.000000000 +0100
@@ -1,6 +1,6 @@
diff -r 3b8e4ee4363e alsactl/alsactl.1
--- a/alsactl/alsactl.1 Mon Oct 15 10:36:47 2007 +0200
-+++ b/alsactl/alsactl.1 Fri Dec 14 15:35:34 2007 +0100
++++ b/alsactl/alsactl.1 Wed Jan 09 17:26:34 2008 +0100
@@ -41,7 +41,12 @@ Select the configuration file to use. Th
.TP
\fI\-F, \-\-force\fP
@@ -17,7 +17,7 @@
\fI\-d, \-\-debug\fP
diff -r 3b8e4ee4363e alsactl/alsactl.c
--- a/alsactl/alsactl.c Mon Oct 15 10:36:47 2007 +0200
-+++ b/alsactl/alsactl.c Fri Dec 14 15:35:34 2007 +0100
++++ b/alsactl/alsactl.c Wed Jan 09 17:26:34 2008 +0100
@@ -34,7 +34,7 @@
#define SYS_ASOUNDNAMES "/etc/asound.names"
@@ -56,7 +56,7 @@
debugflag = 1;
diff -r 3b8e4ee4363e alsactl/state.c
--- a/alsactl/state.c Mon Oct 15 10:36:47 2007 +0200
-+++ b/alsactl/state.c Fri Dec 14 15:35:34 2007 +0100
++++ b/alsactl/state.c Wed Jan 09 17:26:34 2008 +0100
@@ -188,6 +188,46 @@ static unsigned int *str_to_tlv(const ch
return tlv;
}
@@ -104,7 +104,17 @@
static int get_control(snd_ctl_t *handle, snd_ctl_elem_id_t *id, snd_config_t *top)
{
snd_ctl_elem_value_t *ctl;
-@@ -285,23 +325,11 @@ static int get_control(snd_ctl_t *handle
+@@ -210,7 +250,8 @@ static int get_control(snd_ctl_t *handle
+ return err;
+ }
+
+- if (!snd_ctl_elem_info_is_readable(info))
++ if (snd_ctl_elem_info_is_inactive(info) ||
++ !snd_ctl_elem_info_is_readable(info))
+ return 0;
+ snd_ctl_elem_value_set_id(ctl, id);
+ err = snd_ctl_elem_read(handle, ctl);
+@@ -285,23 +326,11 @@ static int get_control(snd_ctl_t *handle
error("snd_config_string_add: %s", snd_strerror(err));
return err;
}
@@ -132,7 +142,7 @@
break;
}
case SND_CTL_ELEM_TYPE_INTEGER64:
-@@ -651,6 +679,7 @@ static int config_bool(snd_config_t *n)
+@@ -651,6 +680,7 @@ static int config_bool(snd_config_t *n)
const char *str;
long val;
long long lval;
@@ -140,7 +150,7 @@
switch (snd_config_get_type(n)) {
case SND_CONFIG_TYPE_INTEGER:
snd_config_get_integer(n, &val);
-@@ -665,6 +694,11 @@ static int config_bool(snd_config_t *n)
+@@ -665,6 +695,11 @@ static int config_bool(snd_config_t *n)
case SND_CONFIG_TYPE_STRING:
snd_config_get_string(n, &str);
break;
@@ -152,7 +162,7 @@
default:
return -1;
}
-@@ -682,6 +716,7 @@ static int config_enumerated(snd_config_
+@@ -682,6 +717,7 @@ static int config_enumerated(snd_config_
long val;
long long lval;
unsigned int idx, items;
@@ -160,7 +170,7 @@
switch (snd_config_get_type(n)) {
case SND_CONFIG_TYPE_INTEGER:
snd_config_get_integer(n, &val);
-@@ -692,6 +727,11 @@ static int config_enumerated(snd_config_
+@@ -692,6 +728,11 @@ static int config_enumerated(snd_config_
case SND_CONFIG_TYPE_STRING:
snd_config_get_string(n, &str);
break;
@@ -172,7 +182,7 @@
default:
return -1;
}
-@@ -708,6 +748,30 @@ static int config_enumerated(snd_config_
+@@ -708,6 +749,30 @@ static int config_enumerated(snd_config_
return idx;
}
return -1;
@@ -203,7 +213,7 @@
}
static int is_user_control(snd_config_t *conf)
-@@ -729,6 +793,56 @@ static int is_user_control(snd_config_t
+@@ -729,6 +794,56 @@ static int is_user_control(snd_config_t
return 0;
}
@@ -260,7 +270,7 @@
static int add_user_control(snd_ctl_t *handle, snd_ctl_elem_info_t *info, snd_config_t *conf)
{
snd_ctl_elem_id_t *id;
-@@ -745,39 +859,20 @@ static int add_user_control(snd_ctl_t *h
+@@ -745,39 +860,20 @@ static int add_user_control(snd_ctl_t *h
tlv = NULL;
snd_config_for_each(i, next, conf) {
snd_config_t *n = snd_config_iterator_entry(i);
@@ -308,7 +318,7 @@
continue;
}
if (strcmp(id, "count") == 0) {
-@@ -831,6 +926,213 @@ static int add_user_control(snd_ctl_t *h
+@@ -831,6 +927,213 @@ static int add_user_control(snd_ctl_t *h
return snd_ctl_elem_info(handle, info);
}
@@ -522,7 +532,7 @@
static int set_control(snd_ctl_t *handle, snd_config_t *control)
{
snd_ctl_elem_value_t *ctl;
-@@ -852,8 +1154,6 @@ static int set_control(snd_ctl_t *handle
+@@ -852,8 +1155,6 @@ static int set_control(snd_ctl_t *handle
long index = -1;
snd_config_t *value = NULL;
snd_config_t *comment = NULL;
@@ -531,7 +541,7 @@
unsigned int idx;
int err;
char *set;
-@@ -994,56 +1294,28 @@ static int set_control(snd_ctl_t *handle
+@@ -994,56 +1295,29 @@ static int set_control(snd_ctl_t *handle
return -ENOENT;
}
@@ -553,7 +563,9 @@
}
-#endif
- if (!snd_ctl_elem_info_is_writable(info))
+- if (!snd_ctl_elem_info_is_writable(info))
++ if (snd_ctl_elem_info_is_inactive(info) ||
++ !snd_ctl_elem_info_is_writable(info))
return 0;
snd_ctl_elem_value_set_numid(ctl, numid1);
@@ -602,7 +614,7 @@
}
switch (type) {
case SND_CTL_ELEM_TYPE_BYTES:
-@@ -1080,8 +1352,17 @@ static int set_control(snd_ctl_t *handle
+@@ -1080,8 +1354,17 @@ static int set_control(snd_ctl_t *handle
break;
}
if (snd_config_get_type(value) != SND_CONFIG_TYPE_COMPOUND) {
@@ -622,7 +634,7 @@
}
set = (char*) alloca(count);
-@@ -1095,59 +1376,22 @@ static int set_control(snd_ctl_t *handle
+@@ -1095,59 +1378,22 @@ static int set_control(snd_ctl_t *handle
if (idx < 0 || idx >= count ||
set[idx]) {
error("bad control.%d.value index", numid);
@@ -693,10 +705,178 @@
}
}
+diff -r 3b8e4ee4363e alsamixer/alsamixer.c
+--- a/alsamixer/alsamixer.c Mon Oct 15 10:36:47 2007 +0200
++++ b/alsamixer/alsamixer.c Wed Jan 09 17:26:34 2008 +0100
+@@ -209,6 +209,7 @@ enum {
+ enum {
+ MIXER_ELEM_FRONT, MIXER_ELEM_REAR,
+ MIXER_ELEM_CENTER, MIXER_ELEM_WOOFER,
++ MIXER_ELEM_SIDE,
+ MIXER_ELEM_CAPTURE,
+ MIXER_ELEM_ENUM, MIXER_ELEM_CAPTURE_ENUM,
+ MIXER_ELEM_END
+@@ -226,6 +227,7 @@ static snd_mixer_selem_channel_id_t mixe
+ { SND_MIXER_SCHN_REAR_LEFT, SND_MIXER_SCHN_REAR_RIGHT },
+ { SND_MIXER_SCHN_FRONT_CENTER, SND_MIXER_SCHN_UNKNOWN },
+ { SND_MIXER_SCHN_WOOFER, SND_MIXER_SCHN_UNKNOWN },
++ { SND_MIXER_SCHN_SIDE_LEFT, SND_MIXER_SCHN_SIDE_RIGHT },
+ { SND_MIXER_SCHN_FRONT_LEFT, SND_MIXER_SCHN_FRONT_RIGHT },
+ };
+
+@@ -1752,7 +1754,7 @@ __again:
+ if (elem == NULL)
+ CHECK_ABORT (ERR_FCN, "snd_mixer_find_selem()", -EINVAL);
+ if ( (mixer_view == VIEW_PLAYBACK) || (mixer_view == VIEW_CHANNELS) ) {
+- for (i = MIXER_ELEM_FRONT; i <= MIXER_ELEM_WOOFER; i++) {
++ for (i = MIXER_ELEM_FRONT; i <= MIXER_ELEM_SIDE; i++) {
+ int ok;
+ for (j = ok = 0; j < 2; j++) {
+ if (mixer_changed_state)
diff -r 3b8e4ee4363e aplay/aplay.c
--- a/aplay/aplay.c Mon Oct 15 10:36:47 2007 +0200
-+++ b/aplay/aplay.c Fri Dec 14 15:35:34 2007 +0100
-@@ -1462,7 +1462,9 @@ static void voc_pcm_flush(void)
++++ b/aplay/aplay.c Wed Jan 09 17:26:34 2008 +0100
+@@ -81,7 +81,6 @@ static int timelimit = 0;
+ static int timelimit = 0;
+ static int quiet_mode = 0;
+ static int file_type = FORMAT_DEFAULT;
+-static unsigned int sleep_min = 0;
+ static int open_mode = 0;
+ static snd_pcm_stream_t stream = SND_PCM_STREAM_PLAYBACK;
+ static int mmap_flag = 0;
+@@ -164,7 +163,6 @@ _("Usage: %s [OPTION]... [FILE]...\n"
+ "-f, --format=FORMAT sample format (case insensitive)\n"
+ "-r, --rate=# sample rate\n"
+ "-d, --duration=# interrupt after # seconds\n"
+-"-s, --sleep-min=# min ticks to sleep\n"
+ "-M, --mmap mmap stream\n"
+ "-N, --nonblock nonblocking mode\n"
+ "-F, --period-time=# distance between interrupts is # microseconds\n"
+@@ -339,7 +337,7 @@ int main(int argc, char *argv[])
+ int main(int argc, char *argv[])
+ {
+ int option_index;
+- char *short_options = "hnlLD:qt:c:f:r:d:s:MNF:A:R:T:B:vIPC";
++ char *short_options = "hnlLD:qt:c:f:r:d:MNF:A:R:T:B:vIPC";
+ static struct option long_options[] = {
+ {"help", 0, 0, 'h'},
+ {"version", 0, 0, OPT_VERSION},
+@@ -353,7 +351,6 @@ int main(int argc, char *argv[])
+ {"format", 1, 0, 'f'},
+ {"rate", 1, 0, 'r'},
+ {"duration", 1, 0 ,'d'},
+- {"sleep-min", 1, 0, 's'},
+ {"mmap", 0, 0, 'M'},
+ {"nonblock", 0, 0, 'N'},
+ {"period-time", 1, 0, 'F'},
+@@ -477,9 +474,6 @@ int main(int argc, char *argv[])
+ break;
+ case 'd':
+ timelimit = strtol(optarg, NULL, 0);
+- break;
+- case 's':
+- sleep_min = strtol(optarg, NULL, 0);
+ break;
+ case 'N':
+ nonblock = 1;
+@@ -869,7 +863,6 @@ static void set_params(void)
+ snd_pcm_uframes_t buffer_size;
+ int err;
+ size_t n;
+- snd_pcm_uframes_t xfer_align;
+ unsigned int rate;
+ snd_pcm_uframes_t start_threshold, stop_threshold;
+ snd_pcm_hw_params_alloca(¶ms);
+@@ -971,16 +964,6 @@ static void set_params(void)
+ exit(EXIT_FAILURE);
+ }
+ snd_pcm_sw_params_current(handle, swparams);
+- err = snd_pcm_sw_params_get_xfer_align(swparams, &xfer_align);
+- if (err < 0) {
+- error(_("Unable to obtain xfer align\n"));
+- exit(EXIT_FAILURE);
+- }
+- if (sleep_min)
+- xfer_align = 1;
+- err = snd_pcm_sw_params_set_sleep_min(handle, swparams,
+- sleep_min);
+- assert(err >= 0);
+ if (avail_min < 0)
+ n = chunk_size;
+ else
+@@ -988,7 +971,7 @@ static void set_params(void)
+ err = snd_pcm_sw_params_set_avail_min(handle, swparams, n);
+
+ /* round up to closest transfer boundary */
+- n = (buffer_size / xfer_align) * xfer_align;
++ n = buffer_size;
+ if (start_delay <= 0) {
+ start_threshold = n + (double) rate * start_delay / 1000000;
+ } else
+@@ -1004,9 +987,6 @@ static void set_params(void)
+ else
+ stop_threshold = (double) rate * stop_delay / 1000000;
+ err = snd_pcm_sw_params_set_stop_threshold(handle, swparams, stop_threshold);
+- assert(err >= 0);
+-
+- err = snd_pcm_sw_params_set_xfer_align(handle, swparams, xfer_align);
+ assert(err >= 0);
+
+ if (snd_pcm_sw_params(handle, swparams) < 0) {
+@@ -1249,8 +1229,7 @@ static ssize_t pcm_write(u_char *data, s
+ ssize_t r;
+ ssize_t result = 0;
+
+- if (sleep_min == 0 &&
+- count < chunk_size) {
++ if (count < chunk_size) {
+ snd_pcm_format_set_silence(hwparams.format, data + count * bits_per_frame / 8, (chunk_size - count) * hwparams.channels);
+ count = chunk_size;
+ }
+@@ -1282,8 +1261,7 @@ static ssize_t pcm_writev(u_char **data,
+ ssize_t r;
+ size_t result = 0;
+
+- if (sleep_min == 0 &&
+- count != chunk_size) {
++ if (count != chunk_size) {
+ unsigned int channel;
+ size_t offset = count;
+ size_t remaining = chunk_size - count;
+@@ -1330,8 +1308,7 @@ static ssize_t pcm_read(u_char *data, si
+ size_t result = 0;
+ size_t count = rcount;
+
+- if (sleep_min == 0 &&
+- count != chunk_size) {
++ if (count != chunk_size) {
+ count = chunk_size;
+ }
+
+@@ -1364,8 +1341,7 @@ static ssize_t pcm_readv(u_char **data,
+ size_t result = 0;
+ size_t count = rcount;
+
+- if (sleep_min == 0 &&
+- count != chunk_size) {
++ if (count != chunk_size) {
+ count = chunk_size;
+ }
+
+@@ -1452,17 +1428,15 @@ static void voc_pcm_flush(void)
+ {
+ if (buffer_pos > 0) {
+ size_t b;
+- if (sleep_min == 0) {
+- if (snd_pcm_format_set_silence(hwparams.format, audiobuf + buffer_pos, chunk_bytes - buffer_pos * 8 / bits_per_sample) < 0)
+- fprintf(stderr, _("voc_pcm_flush - silence error"));
+- b = chunk_size;
+- } else {
+- b = buffer_pos * 8 / bits_per_frame;
+- }
++ if (snd_pcm_format_set_silence(hwparams.format, audiobuf + buffer_pos, chunk_bytes - buffer_pos * 8 / bits_per_sample) < 0)
++ fprintf(stderr, _("voc_pcm_flush - silence error"));
++ b = chunk_size;
if (pcm_write(audiobuf, b) != (ssize_t)b)
error(_("voc_pcm_flush error"));
}
@@ -706,7 +886,16 @@
}
static void voc_play(int fd, int ofs, char *name)
-@@ -1988,7 +1990,9 @@ void playback_go(int fd, size_t loaded,
+@@ -1979,7 +1953,7 @@ void playback_go(int fd, size_t loaded,
+ if (r == 0)
+ break;
+ l += r;
+- } while (sleep_min == 0 && (size_t)l < chunk_bytes);
++ } while ((size_t)l < chunk_bytes);
+ l = l * 8 / bits_per_frame;
+ r = pcm_write(audiobuf, l);
+ if (r != l)
+@@ -1988,7 +1962,9 @@ void playback_go(int fd, size_t loaded,
written += r;
l = 0;
}
@@ -716,7 +905,16 @@
}
-@@ -2227,7 +2231,9 @@ void playbackv_go(int* fds, unsigned int
+@@ -2219,7 +2195,7 @@ void playbackv_go(int* fds, unsigned int
+ if (r == 0)
+ break;
+ c += r;
+- } while (sleep_min == 0 && c < expected);
++ } while (c < expected);
+ c = c * 8 / bits_per_sample;
+ r = pcm_writev(bufs, channels, c);
+ if ((size_t)r != c)
+@@ -2227,7 +2203,9 @@ void playbackv_go(int* fds, unsigned int
r = r * bits_per_frame / 8;
count -= r;
}
@@ -728,7 +926,7 @@
void capturev_go(int* fds, unsigned int channels, off64_t count, int rtype, char **names)
diff -r 3b8e4ee4363e configure.in
--- a/configure.in Mon Oct 15 10:36:47 2007 +0200
-+++ b/configure.in Fri Dec 14 15:35:34 2007 +0100
++++ b/configure.in Wed Jan 09 17:26:34 2008 +0100
@@ -27,7 +27,9 @@ dnl AC_PROG_CXX
dnl AC_PROG_CXX
AC_PROG_INSTALL
@@ -742,7 +940,7 @@
[ --disable-alsamixer Disable alsamixer compilation],
diff -r 3b8e4ee4363e iecset/iecset.c
--- a/iecset/iecset.c Mon Oct 15 10:36:47 2007 +0200
-+++ b/iecset/iecset.c Fri Dec 14 15:35:34 2007 +0100
++++ b/iecset/iecset.c Wed Jan 09 17:26:34 2008 +0100
@@ -308,7 +308,7 @@ int main(int argc, char **argv)
break;
case 'c':
@@ -754,7 +952,7 @@
}
diff -r 3b8e4ee4363e seq/aseqnet/aseqnet.c
--- a/seq/aseqnet/aseqnet.c Mon Oct 15 10:36:47 2007 +0200
-+++ b/seq/aseqnet/aseqnet.c Fri Dec 14 15:35:34 2007 +0100
++++ b/seq/aseqnet/aseqnet.c Wed Jan 09 17:26:34 2008 +0100
@@ -26,6 +26,7 @@
#include
participants (1)
-
root@Hilbert.suse.de