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