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