Hello community,
here is the log from the commit of package alsa-utils
checked in at Fri Dec 14 16:25:22 CET 2007.
--------
--- alsa-utils/alsa-utils.changes 2007-11-30 17:05:41.000000000 +0100
+++ /mounts/work_src_done/STABLE/alsa-utils/alsa-utils.changes 2007-12-14 14:22:14.000000000 +0100
@@ -1,0 +2,7 @@
+Fri Dec 14 15:38:02 CET 2007 - tiwai@suse.de
+
+- updated to HG 2007.12.14 version:
+ * merged previous patches
+ * fix blocking mode around snd_pcm_drain() calls in aplay
+
+-------------------------------------------------------------------
Old:
----
alsa-utils-alsactl-force-default.diff
alsa-utils-alsactl-restore-fix.diff
alsa-utils-alsactl-tlv-comment-fix.diff
alsa-utils-iecset-index-fix.diff
alsa-utils-speaker-test-fix.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ alsa-utils.spec ++++++
--- /var/tmp/diff_new_pack.fy1195/_old 2007-12-14 16:23:43.000000000 +0100
+++ /var/tmp/diff_new_pack.fy1195/_new 2007-12-14 16:23:43.000000000 +0100
@@ -20,14 +20,9 @@
AutoReqProv: on
Summary: Advanced Linux Sound Architecture Utilities
Version: 1.0.15
-Release: 14
+Release: 16
Source: ftp://ftp.alsa-project.org/pub/util/alsa-utils-%{package_version}.tar.bz2
Patch: alsa-utils-hg-fixes.diff
-Patch1: alsa-utils-speaker-test-fix.diff
-Patch2: alsa-utils-alsactl-tlv-comment-fix.diff
-Patch3: alsa-utils-alsactl-force-default.diff
-Patch4: alsa-utils-iecset-index-fix.diff
-Patch5: alsa-utils-alsactl-restore-fix.diff
Url: http://www.alsa-project.org/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -45,11 +40,6 @@
%prep
%setup -q -n %{name}-%{package_version}
%patch -p1
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
-%patch5 -p1
mv alsamixer/README alsamixer/README-alsamixer
%{?suse_update_config:%{suse_update_config -f .}}
@@ -79,6 +69,10 @@
%{_datadir}/alsa
%changelog
+* Fri Dec 14 2007 - tiwai@suse.de
+- updated to HG 2007.12.14 version:
+ * merged previous patches
+ * fix blocking mode around snd_pcm_drain() calls in aplay
* Fri Nov 30 2007 - tiwai@suse.de
- Merge upstream fixes:
* make -F option as default for alsactl
++++++ alsa-utils-hg-fixes.diff ++++++
--- /var/tmp/diff_new_pack.fy1195/_old 2007-12-14 16:23:43.000000000 +0100
+++ /var/tmp/diff_new_pack.fy1195/_new 2007-12-14 16:23:43.000000000 +0100
@@ -1,6 +1,62 @@
+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
+@@ -41,7 +41,12 @@ Select the configuration file to use. Th
+ .TP
+ \fI\-F, \-\-force\fP
+ Used with restore command. Try to restore the matching control elements
+-as much as possible.
++as much as possible. This option is set as default now.
++
++.TP
++\fI\-P, \-\-pedantic\fP
++Used with restore command. Don't restore mismatching control elements.
++This option was the old default behavior.
+
+ .TP
+ \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
+@@ -34,7 +34,7 @@
+ #define SYS_ASOUNDNAMES "/etc/asound.names"
+
+ int debugflag = 0;
+-int force_restore = 0;
++int force_restore = 1;
+ char *command;
+
+ static void help(void)
+@@ -44,6 +44,8 @@ static void help(void)
+ printf(" -h,--help this help\n");
+ printf(" -f,--file # configuration file (default " SYS_ASOUNDRC " or " SYS_ASOUNDNAMES ")\n");
+ printf(" -F,--force try to restore the matching controls as much as possible\n");
++ printf(" (default mode)\n");
++ printf(" -P,--pedantic don't restore mismatching controls (old default)\n");
+ printf(" -d,--debug debug mode\n");
+ printf(" -v,--version print version of this program\n");
+ printf("\nAvailable commands:\n");
+@@ -62,6 +64,7 @@ int main(int argc, char *argv[])
+ {"help", 0, NULL, 'h'},
+ {"file", 1, NULL, 'f'},
+ {"force", 0, NULL, 'F'},
++ {"pedantic", 0, NULL, 'P'},
+ {"debug", 0, NULL, 'd'},
+ {"version", 0, NULL, 'v'},
+ {NULL, 0, NULL, 0},
+@@ -84,6 +87,9 @@ int main(int argc, char *argv[])
+ break;
+ case 'F':
+ force_restore = 1;
++ break;
++ case 'P':
++ force_restore = 0;
+ break;
+ case 'd':
+ 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 Oct 26 02:01:44 2007 +0200
++++ b/alsactl/state.c Fri Dec 14 15:35:34 2007 +0100
@@ -188,6 +188,46 @@ static unsigned int *str_to_tlv(const ch
return tlv;
}
@@ -48,22 +104,35 @@
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,8 +325,12 @@ static int get_control(snd_ctl_t *handle
+@@ -285,23 +325,11 @@ static int get_control(snd_ctl_t *handle
error("snd_config_string_add: %s", snd_strerror(err));
return err;
}
- if (snd_ctl_elem_info_is_tlv_readable(info) &&
- snd_ctl_elem_info_is_tlv_writable(info)) {
+- unsigned int tlv[MAX_USER_TLV_SIZE];
+- err = snd_ctl_elem_tlv_read(handle, id, tlv, sizeof(tlv));
+- if (err >= 0) {
+- char *s = tlv_to_str(tlv);
+- if (s) {
+- err = snd_config_string_add(comment, "tlv", s);
+- if (err < 0) {
+- error("snd_config_string_add: %s", snd_strerror(err));
+- return err;
+- }
+- free(s);
+- }
+- }
+ if (snd_ctl_elem_info_is_tlv_readable(info)) {
+ err = add_tlv_comments(handle, id, info, comment);
+ if (err < 0)
+ return err;
-+ }
-+ if (snd_ctl_elem_info_is_tlv_readable(info)) {
- unsigned int tlv[MAX_USER_TLV_SIZE];
- err = snd_ctl_elem_tlv_read(handle, id, tlv, sizeof(tlv));
- if (err >= 0) {
-@@ -651,6 +695,7 @@ static int config_bool(snd_config_t *n)
+ }
+-
+ break;
+ }
+ case SND_CTL_ELEM_TYPE_INTEGER64:
+@@ -651,6 +679,7 @@ static int config_bool(snd_config_t *n)
const char *str;
long val;
long long lval;
@@ -71,7 +140,7 @@
switch (snd_config_get_type(n)) {
case SND_CONFIG_TYPE_INTEGER:
snd_config_get_integer(n, &val);
-@@ -665,6 +710,11 @@ static int config_bool(snd_config_t *n)
+@@ -665,6 +694,11 @@ static int config_bool(snd_config_t *n)
case SND_CONFIG_TYPE_STRING:
snd_config_get_string(n, &str);
break;
@@ -83,7 +152,7 @@
default:
return -1;
}
-@@ -682,6 +732,7 @@ static int config_enumerated(snd_config_
+@@ -682,6 +716,7 @@ static int config_enumerated(snd_config_
long val;
long long lval;
unsigned int idx, items;
@@ -91,7 +160,7 @@
switch (snd_config_get_type(n)) {
case SND_CONFIG_TYPE_INTEGER:
snd_config_get_integer(n, &val);
-@@ -692,6 +743,11 @@ static int config_enumerated(snd_config_
+@@ -692,6 +727,11 @@ static int config_enumerated(snd_config_
case SND_CONFIG_TYPE_STRING:
snd_config_get_string(n, &str);
break;
@@ -103,7 +172,7 @@
default:
return -1;
}
-@@ -708,6 +764,30 @@ static int config_enumerated(snd_config_
+@@ -708,6 +748,30 @@ static int config_enumerated(snd_config_
return idx;
}
return -1;
@@ -134,7 +203,7 @@
}
static int is_user_control(snd_config_t *conf)
-@@ -729,6 +809,56 @@ static int is_user_control(snd_config_t
+@@ -729,6 +793,56 @@ static int is_user_control(snd_config_t
return 0;
}
@@ -191,7 +260,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 +875,20 @@ static int add_user_control(snd_ctl_t *h
+@@ -745,39 +859,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);
@@ -239,7 +308,7 @@
continue;
}
if (strcmp(id, "count") == 0) {
-@@ -831,6 +942,213 @@ static int add_user_control(snd_ctl_t *h
+@@ -831,6 +926,213 @@ static int add_user_control(snd_ctl_t *h
return snd_ctl_elem_info(handle, info);
}
@@ -453,7 +522,7 @@
static int set_control(snd_ctl_t *handle, snd_config_t *control)
{
snd_ctl_elem_value_t *ctl;
-@@ -852,8 +1170,6 @@ static int set_control(snd_ctl_t *handle
+@@ -852,8 +1154,6 @@ static int set_control(snd_ctl_t *handle
long index = -1;
snd_config_t *value = NULL;
snd_config_t *comment = NULL;
@@ -462,7 +531,7 @@
unsigned int idx;
int err;
char *set;
-@@ -994,56 +1310,28 @@ static int set_control(snd_ctl_t *handle
+@@ -994,56 +1294,28 @@ static int set_control(snd_ctl_t *handle
return -ENOENT;
}
@@ -533,7 +602,7 @@
}
switch (type) {
case SND_CTL_ELEM_TYPE_BYTES:
-@@ -1080,8 +1368,17 @@ static int set_control(snd_ctl_t *handle
+@@ -1080,8 +1352,17 @@ static int set_control(snd_ctl_t *handle
break;
}
if (snd_config_get_type(value) != SND_CONFIG_TYPE_COMPOUND) {
@@ -553,7 +622,7 @@
}
set = (char*) alloca(count);
-@@ -1095,59 +1392,22 @@ static int set_control(snd_ctl_t *handle
+@@ -1095,59 +1376,22 @@ static int set_control(snd_ctl_t *handle
if (idx < 0 || idx >= count ||
set[idx]) {
error("bad control.%d.value index", numid);
@@ -608,7 +677,7 @@
- break;
- }
- set[idx] = 1;
-+ err = restore_config_value2(handle, info, type, value,
++ err = restore_config_value2(handle, info, type, n,
+ ctl, idx, numid);
+ if (err < 0)
+ return err;
@@ -624,9 +693,42 @@
}
}
+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)
+ if (pcm_write(audiobuf, b) != (ssize_t)b)
+ error(_("voc_pcm_flush error"));
+ }
++ snd_pcm_nonblock(handle, 0);
+ snd_pcm_drain(handle);
++ snd_pcm_nonblock(handle, nonblock);
+ }
+
+ static void voc_play(int fd, int ofs, char *name)
+@@ -1988,7 +1990,9 @@ void playback_go(int fd, size_t loaded,
+ written += r;
+ l = 0;
+ }
++ snd_pcm_nonblock(handle, 0);
+ snd_pcm_drain(handle);
++ snd_pcm_nonblock(handle, nonblock);
+ }
+
+
+@@ -2227,7 +2231,9 @@ void playbackv_go(int* fds, unsigned int
+ r = r * bits_per_frame / 8;
+ count -= r;
+ }
++ snd_pcm_nonblock(handle, 0);
+ snd_pcm_drain(handle);
++ snd_pcm_nonblock(handle, nonblock);
+ }
+
+ 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 Oct 26 02:01:44 2007 +0200
++++ b/configure.in Fri Dec 14 15:35:34 2007 +0100
@@ -27,7 +27,9 @@ dnl AC_PROG_CXX
dnl AC_PROG_CXX
AC_PROG_INSTALL
@@ -638,9 +740,21 @@
AC_ARG_ENABLE(alsamixer,
[ --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
+@@ -308,7 +308,7 @@ int main(int argc, char **argv)
+ break;
+ case 'c':
+ i = atoi(optarg);
+- if (i < 0 || i >= 7) {
++ if (i < 0 || i >= 32) {
+ fprintf(stderr, "invalid card index %d\n", i);
+ return 1;
+ }
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 Oct 26 02:01:44 2007 +0200
++++ b/seq/aseqnet/aseqnet.c Fri Dec 14 15:35:34 2007 +0100
@@ -26,6 +26,7 @@
#include