Jaroslav Kysela bce19f
From da4d5bd53a1a57d1b39318b83d3280fbcd78e9f6 Mon Sep 17 00:00:00 2001
Jaroslav Kysela bce19f
From: Takashi Iwai <tiwai@suse.de>
Jaroslav Kysela bce19f
Date: Tue, 15 May 2018 22:17:01 +0200
Jaroslav Kysela bce19f
Subject: [PATCH 1/6] aplay: Fix invalid file size check for non-regular files
Jaroslav Kysela bce19f
Jaroslav Kysela bce19f
aplay tries to check the file size via fstat() at parsing the format
Jaroslav Kysela bce19f
headers and avoids parsing when the size is shorter than the given
Jaroslav Kysela bce19f
size.  This works fine for regular files, but when a special file like
Jaroslav Kysela bce19f
pipe is passed, it fails, eventually leading to the fallback mode
Jaroslav Kysela bce19f
wrongly.
Jaroslav Kysela bce19f
Jaroslav Kysela bce19f
A proper fix is to do this sanity check only for a regular file.
Jaroslav Kysela bce19f
Jaroslav Kysela bce19f
Reported-by: Jay Foster <jay@systech.com>
Jaroslav Kysela bce19f
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Jaroslav Kysela bce19f
---
Jaroslav Kysela bce19f
 aplay/aplay.c | 3 ++-
Jaroslav Kysela bce19f
 1 file changed, 2 insertions(+), 1 deletion(-)
Jaroslav Kysela bce19f
Jaroslav Kysela bce19f
diff --git a/aplay/aplay.c b/aplay/aplay.c
Jaroslav Kysela bce19f
index bbd7fff..63ec9ef 100644
Jaroslav Kysela bce19f
--- a/aplay/aplay.c
Jaroslav Kysela bce19f
+++ b/aplay/aplay.c
Jaroslav Kysela bce19f
@@ -2821,7 +2821,8 @@ static int read_header(int *loaded, int header_size)
Jaroslav Kysela bce19f
 
Jaroslav Kysela bce19f
 	/* don't be adventurous, get out if file size is smaller than
Jaroslav Kysela bce19f
 	 * requested header size */
Jaroslav Kysela bce19f
-	if (buf.st_size < header_size)
Jaroslav Kysela bce19f
+	if ((buf.st_mode & S_IFMT) == S_IFREG &&
Jaroslav Kysela bce19f
+	    buf.st_size < header_size)
Jaroslav Kysela bce19f
 		return -1;
Jaroslav Kysela bce19f
 
Jaroslav Kysela bce19f
 	if (*loaded < header_size) {
Jaroslav Kysela bce19f
-- 
Jaroslav Kysela bce19f
2.13.6
Jaroslav Kysela bce19f
Jaroslav Kysela bce19f
Jaroslav Kysela bce19f
From 0e2703cef90a2c53d49a49d5e9233aeb6db8960b Mon Sep 17 00:00:00 2001
Jaroslav Kysela bce19f
From: Julian Scheel <julian@jusst.de>
Jaroslav Kysela bce19f
Date: Wed, 23 May 2018 15:42:20 +0200
Jaroslav Kysela bce19f
Subject: [PATCH 2/6] speaker-test: Support S24_3LE sample format
Jaroslav Kysela bce19f
Jaroslav Kysela bce19f
Implement support signed 24 bit samples, packed in 3 bytes.
Jaroslav Kysela bce19f
Jaroslav Kysela bce19f
Signed-off-by: Julian Scheel <julian@jusst.de>
Jaroslav Kysela bce19f
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Jaroslav Kysela bce19f
---
Jaroslav Kysela bce19f
 speaker-test/speaker-test.c | 14 ++++++++++++++
Jaroslav Kysela bce19f
 1 file changed, 14 insertions(+)
Jaroslav Kysela bce19f
Jaroslav Kysela bce19f
diff --git a/speaker-test/speaker-test.c b/speaker-test/speaker-test.c
Jaroslav Kysela bce19f
index 65ab523..4804bcf 100644
Jaroslav Kysela bce19f
--- a/speaker-test/speaker-test.c
Jaroslav Kysela bce19f
+++ b/speaker-test/speaker-test.c
Jaroslav Kysela bce19f
@@ -283,6 +283,8 @@ static const int	supported_formats[] = {
Jaroslav Kysela bce19f
   SND_PCM_FORMAT_S16_LE,
Jaroslav Kysela bce19f
   SND_PCM_FORMAT_S16_BE,
Jaroslav Kysela bce19f
   SND_PCM_FORMAT_FLOAT_LE,
Jaroslav Kysela bce19f
+  SND_PCM_FORMAT_S24_3LE,
Jaroslav Kysela bce19f
+  SND_PCM_FORMAT_S24_3BE,
Jaroslav Kysela bce19f
   SND_PCM_FORMAT_S32_LE,
Jaroslav Kysela bce19f
   SND_PCM_FORMAT_S32_BE,
Jaroslav Kysela bce19f
   -1
Jaroslav Kysela bce19f
@@ -325,6 +327,18 @@ static void do_generate(uint8_t *frames, int channel, int count,
Jaroslav Kysela bce19f
       case SND_PCM_FORMAT_FLOAT_LE:
Jaroslav Kysela bce19f
 	*samp_f++ = res.f;
Jaroslav Kysela bce19f
         break;
Jaroslav Kysela bce19f
+      case SND_PCM_FORMAT_S24_3LE:
Jaroslav Kysela bce19f
+        res.i >>= 8;
Jaroslav Kysela bce19f
+        *samp8++ = LE_INT(res.i);
Jaroslav Kysela bce19f
+        *samp8++ = LE_INT(res.i) >> 8;
Jaroslav Kysela bce19f
+        *samp8++ = LE_INT(res.i) >> 16;
Jaroslav Kysela bce19f
+        break;
Jaroslav Kysela bce19f
+      case SND_PCM_FORMAT_S24_3BE:
Jaroslav Kysela bce19f
+        res.i >>= 8;
Jaroslav Kysela bce19f
+        *samp8++ = BE_INT(res.i);
Jaroslav Kysela bce19f
+        *samp8++ = BE_INT(res.i) >> 8;
Jaroslav Kysela bce19f
+        *samp8++ = BE_INT(res.i) >> 16;
Jaroslav Kysela bce19f
+        break;
Jaroslav Kysela bce19f
       case SND_PCM_FORMAT_S32_LE:
Jaroslav Kysela bce19f
 	*samp32++ = LE_INT(res.i);
Jaroslav Kysela bce19f
         break;
Jaroslav Kysela bce19f
-- 
Jaroslav Kysela bce19f
2.13.6
Jaroslav Kysela bce19f
Jaroslav Kysela bce19f
Jaroslav Kysela bce19f
From 98ff61743188101920cbf0b1b2e3cd6d015e3c83 Mon Sep 17 00:00:00 2001
Jaroslav Kysela bce19f
From: Julian Scheel <julian@jusst.de>
Jaroslav Kysela bce19f
Date: Wed, 23 May 2018 15:42:21 +0200
Jaroslav Kysela bce19f
Subject: [PATCH 3/6] speaker-test: Remove unused variable
Jaroslav Kysela bce19f
Jaroslav Kysela bce19f
Signed-off-by: Julian Scheel <julian@jusst.de>
Jaroslav Kysela bce19f
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Jaroslav Kysela bce19f
---
Jaroslav Kysela bce19f
 speaker-test/speaker-test.c | 1 -
Jaroslav Kysela bce19f
 1 file changed, 1 deletion(-)
Jaroslav Kysela bce19f
Jaroslav Kysela bce19f
diff --git a/speaker-test/speaker-test.c b/speaker-test/speaker-test.c
Jaroslav Kysela bce19f
index 4804bcf..0cdecb3 100644
Jaroslav Kysela bce19f
--- a/speaker-test/speaker-test.c
Jaroslav Kysela bce19f
+++ b/speaker-test/speaker-test.c
Jaroslav Kysela bce19f
@@ -300,7 +300,6 @@ static void do_generate(uint8_t *frames, int channel, int count,
Jaroslav Kysela bce19f
 {
Jaroslav Kysela bce19f
   value_t res;
Jaroslav Kysela bce19f
   int    chn;
Jaroslav Kysela bce19f
-  int32_t  ires;
Jaroslav Kysela bce19f
   int8_t *samp8 = (int8_t*) frames;
Jaroslav Kysela bce19f
   int16_t *samp16 = (int16_t*) frames;
Jaroslav Kysela bce19f
   int32_t *samp32 = (int32_t*) frames;
Jaroslav Kysela bce19f
-- 
Jaroslav Kysela bce19f
2.13.6
Jaroslav Kysela bce19f
Jaroslav Kysela bce19f
Jaroslav Kysela bce19f
From a3d81b6beab1ad33ea02f7d3c19f894490a661b9 Mon Sep 17 00:00:00 2001
Jaroslav Kysela bce19f
From: Julian Scheel <julian@jusst.de>
Jaroslav Kysela bce19f
Date: Thu, 7 Jun 2018 11:10:55 +0200
Jaroslav Kysela bce19f
Subject: [PATCH 4/6] speaker-test: Allow sampling rates up to 768000
Jaroslav Kysela bce19f
Jaroslav Kysela bce19f
There are audio devices around that support up to 768kHz playback, allow
Jaroslav Kysela bce19f
testing them by increasing the maximum supported sampling rate.
Jaroslav Kysela bce19f
Jaroslav Kysela bce19f
Signed-off-by: Julian Scheel <julian@jusst.de>
Jaroslav Kysela bce19f
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Jaroslav Kysela bce19f
---
Jaroslav Kysela bce19f
 speaker-test/speaker-test.c | 2 +-
Jaroslav Kysela bce19f
 1 file changed, 1 insertion(+), 1 deletion(-)
Jaroslav Kysela bce19f
Jaroslav Kysela bce19f
diff --git a/speaker-test/speaker-test.c b/speaker-test/speaker-test.c
Jaroslav Kysela bce19f
index 0cdecb3..773af0a 100644
Jaroslav Kysela bce19f
--- a/speaker-test/speaker-test.c
Jaroslav Kysela bce19f
+++ b/speaker-test/speaker-test.c
Jaroslav Kysela bce19f
@@ -1034,7 +1034,7 @@ int main(int argc, char *argv[]) {
Jaroslav Kysela bce19f
     case 'r':
Jaroslav Kysela bce19f
       rate = atoi(optarg);
Jaroslav Kysela bce19f
       rate = rate < 4000 ? 4000 : rate;
Jaroslav Kysela bce19f
-      rate = rate > 384000 ? 384000 : rate;
Jaroslav Kysela bce19f
+      rate = rate > 768000 ? 768000 : rate;
Jaroslav Kysela bce19f
       break;
Jaroslav Kysela bce19f
     case 'c':
Jaroslav Kysela bce19f
       channels = atoi(optarg);
Jaroslav Kysela bce19f
-- 
Jaroslav Kysela bce19f
2.13.6
Jaroslav Kysela bce19f
Jaroslav Kysela bce19f
Jaroslav Kysela bce19f
From f6b59282f7c3bddc6aa4aca93e8e19163955675b Mon Sep 17 00:00:00 2001
Jaroslav Kysela bce19f
From: Jonathan Liu <net147@gmail.com>
Jaroslav Kysela bce19f
Date: Sun, 5 Aug 2018 13:59:35 +1000
Jaroslav Kysela bce19f
Subject: [PATCH 5/6] alsabat: Allow custom sample format for round trip
Jaroslav Kysela bce19f
 latency test
Jaroslav Kysela bce19f
Jaroslav Kysela bce19f
Setting the format to BAT_PCM_FORMAT_S16_LE in the round trip latency
Jaroslav Kysela bce19f
test initialization is redundant as it is already set by default to
Jaroslav Kysela bce19f
BAT_PCM_FORMAT_S16_LE unless a sample format is specified on the command
Jaroslav Kysela bce19f
line.
Jaroslav Kysela bce19f
Jaroslav Kysela bce19f
Signed-off-by: Jonathan Liu <net147@gmail.com>
Jaroslav Kysela bce19f
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Jaroslav Kysela bce19f
---
Jaroslav Kysela bce19f
 bat/latencytest.c | 1 -
Jaroslav Kysela bce19f
 1 file changed, 1 deletion(-)
Jaroslav Kysela bce19f
Jaroslav Kysela bce19f
diff --git a/bat/latencytest.c b/bat/latencytest.c
Jaroslav Kysela bce19f
index fae191c..ec3abe2 100644
Jaroslav Kysela bce19f
--- a/bat/latencytest.c
Jaroslav Kysela bce19f
+++ b/bat/latencytest.c
Jaroslav Kysela bce19f
@@ -178,7 +178,6 @@ void roundtrip_latency_init(struct bat *bat)
Jaroslav Kysela bce19f
 	bat->latency.is_playing = false;
Jaroslav Kysela bce19f
 	bat->latency.error = 0;
Jaroslav Kysela bce19f
 	bat->latency.xrun_error = false;
Jaroslav Kysela bce19f
-	bat->format = BAT_PCM_FORMAT_S16_LE;
Jaroslav Kysela bce19f
 	bat->frames = LATENCY_TEST_TIME_LIMIT * bat->rate;
Jaroslav Kysela bce19f
 	bat->periods_played = 0;
Jaroslav Kysela bce19f
 }
Jaroslav Kysela bce19f
-- 
Jaroslav Kysela bce19f
2.13.6
Jaroslav Kysela bce19f
Jaroslav Kysela bce19f
Jaroslav Kysela bce19f
From 25bea6baf7097dc0a701b27587be88b0b54a529c Mon Sep 17 00:00:00 2001
Jaroslav Kysela bce19f
From: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela bce19f
Date: Fri, 7 Sep 2018 10:53:19 +0200
Jaroslav Kysela bce19f
Subject: [PATCH 6/6] alsaucm: add alsa-ucm udev rules for PAZ00 (Toshiba
Jaroslav Kysela bce19f
 AC100/Dynabook AZ).
Jaroslav Kysela bce19f
Jaroslav Kysela bce19f
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela bce19f
---
Jaroslav Kysela bce19f
 .gitignore                   |  1 +
Jaroslav Kysela bce19f
 alsaucm/89-alsa-ucm.rules.in |  8 ++++++++
Jaroslav Kysela bce19f
 alsaucm/Makefile.am          | 15 ++++++++++++++-
Jaroslav Kysela bce19f
 3 files changed, 23 insertions(+), 1 deletion(-)
Jaroslav Kysela bce19f
 create mode 100644 alsaucm/89-alsa-ucm.rules.in
Jaroslav Kysela bce19f
Jaroslav Kysela bce19f
diff --git a/alsaucm/89-alsa-ucm.rules.in b/alsaucm/89-alsa-ucm.rules.in
Jaroslav Kysela bce19f
new file mode 100644
Jaroslav Kysela bce19f
index 0000000..52a7616
Jaroslav Kysela bce19f
--- /dev/null
Jaroslav Kysela bce19f
+++ b/alsaucm/89-alsa-ucm.rules.in
Jaroslav Kysela bce19f
@@ -0,0 +1,8 @@
Jaroslav Kysela bce19f
+SUBSYSTEM!="sound", GOTO="ucm_end"
Jaroslav Kysela bce19f
+ACTION!="change", GOTO="ucm_end"
Jaroslav Kysela bce19f
+KERNEL!="card*", GOTO="ucm_end"
Jaroslav Kysela bce19f
+
Jaroslav Kysela bce19f
+ATTRS{id}=="PAZ00", RUN+="@bindir@/alsaucm -c PAZ00 set _verb HiFi"
Jaroslav Kysela bce19f
+ATTRS{id}=="PAZ00", RUN+="@bindir@/alsaucm -c PAZ00 set _verb Record"
Jaroslav Kysela bce19f
+
Jaroslav Kysela bce19f
+LABEL="ucm_end"
Jaroslav Kysela bce19f
diff --git a/alsaucm/Makefile.am b/alsaucm/Makefile.am
Jaroslav Kysela bce19f
index ee0391e..651f678 100644
Jaroslav Kysela bce19f
--- a/alsaucm/Makefile.am
Jaroslav Kysela bce19f
+++ b/alsaucm/Makefile.am
Jaroslav Kysela bce19f
@@ -15,4 +15,17 @@ alsaucm_LDADD = -lasound
Jaroslav Kysela bce19f
 %.1: %.rst
Jaroslav Kysela bce19f
 	rst2man $< > $@
Jaroslav Kysela bce19f
 
Jaroslav Kysela bce19f
-EXTRA_DIST = alsaucm.rst
Jaroslav Kysela bce19f
+udevrules_DATA = \
Jaroslav Kysela bce19f
+	89-alsa-ucm.rules
Jaroslav Kysela bce19f
+
Jaroslav Kysela bce19f
+edit = \
Jaroslav Kysela bce19f
+	$(SED) -r -e 's,@bindir\@,$(bindir),g' \
Jaroslav Kysela bce19f
+		  -e 's,@mydatadir\@,$(mydatadir),g' \
Jaroslav Kysela bce19f
+							< $< > $@ || rm $@
Jaroslav Kysela bce19f
+
Jaroslav Kysela bce19f
+89-alsa-ucm.rules: 89-alsa-ucm.rules.in
Jaroslav Kysela bce19f
+	$(edit)
Jaroslav Kysela bce19f
+
Jaroslav Kysela bce19f
+EXTRA_DIST = alsaucm.rst 89-alsa-ucm.rules.in
Jaroslav Kysela bce19f
+
Jaroslav Kysela bce19f
+CLEANFILES = 89-alsa-ucm.rules
Jaroslav Kysela bce19f
-- 
Jaroslav Kysela bce19f
2.13.6
Jaroslav Kysela bce19f