forked from pool/alsa-utils
Accepting request 1143684 from home:tiwai:branches:multimedia:libs
- Update to alsa-utils 1.2.11: * alsactl buffer overflow fix * alsatplg updates, NHLT ACPI parser updates * use smaller periods for speaker-test * add bandwidth-limited pink noise for speaker-test * aplay updates, including subformat extensions * compile warning fixes For details, see: https://www.alsa-project.org/wiki/Changes_v1.2.10_v1.2.11#alsa-utils - Drop obsoleted patches: 0001-axfer-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch 0002-amidi-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch 0003-alsaloop-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch 0004-bat-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch 0005-seq-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch 0006-alsaucm-use-ATTRIBUTE_UNUSED-instead-remove-argument.patch 0007-topology-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch 0008-topology-include-locale.h.patch 0009-nhlt-dmic-info.c-include-sys-types.h.patch 0010-topology-pre-processor-Add-support-for-enum-controls.patch 0011-configure.ac-fix-UMP-support-detection.patch 0012-bat-really-skip-analysis-of-the-first-period-and-upd.patch 0013-topology-add-include-for-ENABLE_NLS-on-musl.patch 0014-nhlt-use-stdint.h-types.patch 0015-Revert-nhlt-dmic-info.c-include-sys-types.h.patch 0016-aplay-use-stdint.h-types-instead-u_int-u_short-u_cha.patch 0017-alsa-restore.rules-use-devnode-instead-number-atribu.patch 0018-nhlt-Revert-SSP_ANALOG-device_type-field.patch 0019-alsactl-fix-potential-buffer-overwrite.patch 0020-aplay-fix-buffer-overflow-and-tainted-format-string.patch OBS-URL: https://build.opensuse.org/request/show/1143684 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/alsa-utils?expand=0&rev=212
This commit is contained in:
parent
c349a7f6d8
commit
3b72cd4617
@ -1,229 +0,0 @@
|
||||
From a90faa2dd644af585d6a00f0aaf297c15ea0aa7b Mon Sep 17 00:00:00 2001
|
||||
From: Jaroslav Kysela <perex@perex.cz>
|
||||
Date: Mon, 4 Sep 2023 16:33:47 +0200
|
||||
Subject: [PATCH] axfer: use ATTRIBUTE_UNUSED instead remove argument name
|
||||
|
||||
We need to support older compilers than GCC 11.
|
||||
|
||||
Link: https://github.com/alsa-project/alsa-utils/issues/233
|
||||
Fixes: ad5a1c0 ("axfer: fix the verbose compilation warnings for latest gcc")
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
axfer/container-raw.c | 14 +++++++-------
|
||||
axfer/mapper-single.c | 6 +++---
|
||||
axfer/subcmd-list.c | 2 +-
|
||||
axfer/subcmd-transfer.c | 4 ++--
|
||||
axfer/waiter-poll.c | 4 ++--
|
||||
axfer/waiter-select.c | 4 ++--
|
||||
axfer/waiter.h | 1 +
|
||||
axfer/xfer-libasound-irq-rw.c | 2 +-
|
||||
axfer/xfer-libasound.c | 4 ++--
|
||||
axfer/xfer-options.c | 3 ++-
|
||||
10 files changed, 23 insertions(+), 21 deletions(-)
|
||||
|
||||
diff --git a/axfer/container-raw.c b/axfer/container-raw.c
|
||||
index 071f94cb244a..18860455c2eb 100644
|
||||
--- a/axfer/container-raw.c
|
||||
+++ b/axfer/container-raw.c
|
||||
@@ -13,10 +13,10 @@
|
||||
#include <sys/stat.h>
|
||||
#include <unistd.h>
|
||||
|
||||
-static int raw_builder_pre_process(struct container_context *,
|
||||
- snd_pcm_format_t *,
|
||||
- unsigned int *,
|
||||
- unsigned int *,
|
||||
+static int raw_builder_pre_process(struct container_context *cntr ATTRIBUTE_UNUSED,
|
||||
+ snd_pcm_format_t *format ATTRIBUTE_UNUSED,
|
||||
+ unsigned int *samples_per_frame ATTRIBUTE_UNUSED,
|
||||
+ unsigned int *frames_per_second ATTRIBUTE_UNUSED,
|
||||
uint64_t *byte_count)
|
||||
{
|
||||
*byte_count = UINT64_MAX;
|
||||
@@ -25,9 +25,9 @@ static int raw_builder_pre_process(struct container_context *,
|
||||
}
|
||||
|
||||
static int raw_parser_pre_process(struct container_context *cntr,
|
||||
- snd_pcm_format_t *,
|
||||
- unsigned int *,
|
||||
- unsigned int *,
|
||||
+ snd_pcm_format_t *format ATTRIBUTE_UNUSED,
|
||||
+ unsigned int *samples_per_frame ATTRIBUTE_UNUSED,
|
||||
+ unsigned int *frames_per_second ATTRIBUTE_UNUSED,
|
||||
uint64_t *byte_count)
|
||||
{
|
||||
struct stat buf = {0};
|
||||
diff --git a/axfer/mapper-single.c b/axfer/mapper-single.c
|
||||
index 13e7fc5cfd42..f669f7fed549 100644
|
||||
--- a/axfer/mapper-single.c
|
||||
+++ b/axfer/mapper-single.c
|
||||
@@ -62,7 +62,7 @@ static void align_from_vector(void *frame_buf, unsigned int frame_count,
|
||||
|
||||
static int single_pre_process(struct mapper_context *mapper,
|
||||
struct container_context *cntrs,
|
||||
- unsigned int)
|
||||
+ unsigned int cntr_count ATTRIBUTE_UNUSED)
|
||||
{
|
||||
struct single_state *state = mapper->private_data;
|
||||
unsigned int bytes_per_buffer;
|
||||
@@ -110,7 +110,7 @@ static int single_muxer_process_frames(struct mapper_context *mapper,
|
||||
void *frame_buf,
|
||||
unsigned int *frame_count,
|
||||
struct container_context *cntrs,
|
||||
- unsigned int)
|
||||
+ unsigned int cntr_count ATTRIBUTE_UNUSED)
|
||||
{
|
||||
struct single_state *state = mapper->private_data;
|
||||
void *src;
|
||||
@@ -141,7 +141,7 @@ static int single_demuxer_process_frames(struct mapper_context *mapper,
|
||||
void *frame_buf,
|
||||
unsigned int *frame_count,
|
||||
struct container_context *cntrs,
|
||||
- unsigned int)
|
||||
+ unsigned int cntr_count ATTRIBUTE_UNUSED)
|
||||
{
|
||||
struct single_state *state = mapper->private_data;
|
||||
void *dst;
|
||||
diff --git a/axfer/subcmd-list.c b/axfer/subcmd-list.c
|
||||
index f9c8e0f931e1..187e1d7ce477 100644
|
||||
--- a/axfer/subcmd-list.c
|
||||
+++ b/axfer/subcmd-list.c
|
||||
@@ -19,7 +19,7 @@ enum list_op {
|
||||
};
|
||||
|
||||
static int dump_device(snd_ctl_t *handle, const char *id, const char *name,
|
||||
- snd_pcm_stream_t, snd_pcm_info_t *info)
|
||||
+ snd_pcm_stream_t stream ATTRIBUTE_UNUSED, snd_pcm_info_t *info)
|
||||
{
|
||||
unsigned int i, count;
|
||||
int err;
|
||||
diff --git a/axfer/subcmd-transfer.c b/axfer/subcmd-transfer.c
|
||||
index b39fde86ac82..8d63043d15a5 100644
|
||||
--- a/axfer/subcmd-transfer.c
|
||||
+++ b/axfer/subcmd-transfer.c
|
||||
@@ -40,7 +40,7 @@ static void handle_unix_signal_for_finish(int sig)
|
||||
ctx_ptr->interrupted = true;
|
||||
}
|
||||
|
||||
-static void handle_unix_signal_for_suspend(int)
|
||||
+static void handle_unix_signal_for_suspend(int sig ATTRIBUTE_UNUSED)
|
||||
{
|
||||
sigset_t curr, prev;
|
||||
struct sigaction sa = {0};
|
||||
@@ -439,7 +439,7 @@ static int context_process_frames(struct context *ctx,
|
||||
}
|
||||
|
||||
static void context_post_process(struct context *ctx,
|
||||
- uint64_t)
|
||||
+ uint64_t accumulated_frame_count ATTRIBUTE_UNUSED)
|
||||
{
|
||||
uint64_t total_frame_count;
|
||||
unsigned int i;
|
||||
diff --git a/axfer/waiter-poll.c b/axfer/waiter-poll.c
|
||||
index 31fab88717a9..b81300cd6e93 100644
|
||||
--- a/axfer/waiter-poll.c
|
||||
+++ b/axfer/waiter-poll.c
|
||||
@@ -13,7 +13,7 @@
|
||||
#include <errno.h>
|
||||
#include <poll.h>
|
||||
|
||||
-static int poll_prepare(struct waiter_context *)
|
||||
+static int poll_prepare(struct waiter_context *waiter ATTRIBUTE_UNUSED)
|
||||
{
|
||||
// Nothing to do because an instance of waiter has required data.
|
||||
return 0;
|
||||
@@ -30,7 +30,7 @@ static int poll_wait_event(struct waiter_context *waiter, int timeout_msec)
|
||||
return err;
|
||||
}
|
||||
|
||||
-static void poll_release(struct waiter_context *)
|
||||
+static void poll_release(struct waiter_context *waiter ATTRIBUTE_UNUSED)
|
||||
{
|
||||
// Nothing to do because an instance of waiter has required data.
|
||||
return;
|
||||
diff --git a/axfer/waiter-select.c b/axfer/waiter-select.c
|
||||
index 164c9c8a1a27..fe19776bc1f3 100644
|
||||
--- a/axfer/waiter-select.c
|
||||
+++ b/axfer/waiter-select.c
|
||||
@@ -34,7 +34,7 @@ struct select_state {
|
||||
fd_set rfds_ex;
|
||||
};
|
||||
|
||||
-static int select_prepare(struct waiter_context *)
|
||||
+static int select_prepare(struct waiter_context *waiter ATTRIBUTE_UNUSED)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
@@ -94,7 +94,7 @@ static int select_wait_event(struct waiter_context *waiter, int timeout_msec)
|
||||
return err;
|
||||
}
|
||||
|
||||
-static void select_release(struct waiter_context *)
|
||||
+static void select_release(struct waiter_context *waiter ATTRIBUTE_UNUSED)
|
||||
{
|
||||
return;
|
||||
}
|
||||
diff --git a/axfer/waiter.h b/axfer/waiter.h
|
||||
index db18e33e337f..0f4e9b9f0548 100644
|
||||
--- a/axfer/waiter.h
|
||||
+++ b/axfer/waiter.h
|
||||
@@ -9,6 +9,7 @@
|
||||
#ifndef __ALSA_UTILS_AXFER_WAITER__H_
|
||||
#define __ALSA_UTILS_AXFER_WAITER__H_
|
||||
|
||||
+#include <alsa/global.h>
|
||||
#include <poll.h>
|
||||
|
||||
enum waiter_type {
|
||||
diff --git a/axfer/xfer-libasound-irq-rw.c b/axfer/xfer-libasound-irq-rw.c
|
||||
index b7f0645e885a..45fb6d5ee358 100644
|
||||
--- a/axfer/xfer-libasound-irq-rw.c
|
||||
+++ b/axfer/xfer-libasound-irq-rw.c
|
||||
@@ -313,7 +313,7 @@ error:
|
||||
}
|
||||
|
||||
static int w_process_frames_nonblocking(struct libasound_state *state,
|
||||
- snd_pcm_state_t,
|
||||
+ snd_pcm_state_t pcm_state ATTRIBUTE_UNUSED,
|
||||
unsigned int *frame_count,
|
||||
struct mapper_context *mapper,
|
||||
struct container_context *cntrs)
|
||||
diff --git a/axfer/xfer-libasound.c b/axfer/xfer-libasound.c
|
||||
index 9713533897a2..36ee08d7054b 100644
|
||||
--- a/axfer/xfer-libasound.c
|
||||
+++ b/axfer/xfer-libasound.c
|
||||
@@ -60,7 +60,7 @@ static const struct option l_opts[] = {
|
||||
};
|
||||
|
||||
static int xfer_libasound_init(struct xfer_context *xfer,
|
||||
- snd_pcm_stream_t)
|
||||
+ snd_pcm_stream_t stream ATTRIBUTE_UNUSED)
|
||||
{
|
||||
struct libasound_state *state = xfer->private_data;
|
||||
int err;
|
||||
@@ -887,7 +887,7 @@ static void xfer_libasound_destroy(struct xfer_context *xfer)
|
||||
state->log = NULL;
|
||||
}
|
||||
|
||||
-static void xfer_libasound_help(struct xfer_context *)
|
||||
+static void xfer_libasound_help(struct xfer_context *xfer ATTRIBUTE_UNUSED)
|
||||
{
|
||||
printf(
|
||||
" [BASICS]\n"
|
||||
diff --git a/axfer/xfer-options.c b/axfer/xfer-options.c
|
||||
index 974570c817fe..e716dede765c 100644
|
||||
--- a/axfer/xfer-options.c
|
||||
+++ b/axfer/xfer-options.c
|
||||
@@ -447,7 +447,8 @@ static int generate_path_with_suffix(struct xfer_context *xfer,
|
||||
|
||||
static int generate_path_without_suffix(struct xfer_context *xfer,
|
||||
const char *template,
|
||||
- unsigned int index, const char *)
|
||||
+ unsigned int index,
|
||||
+ const char *suffix ATTRIBUTE_UNUSED)
|
||||
{
|
||||
static const char *const single_format = "%s";
|
||||
static const char *const multiple_format = "%s-%i";
|
||||
--
|
||||
2.35.3
|
||||
|
@ -1,30 +0,0 @@
|
||||
From 2db896afd475b0b3ad07e97ba74ec9680b4f7f6d Mon Sep 17 00:00:00 2001
|
||||
From: Jaroslav Kysela <perex@perex.cz>
|
||||
Date: Mon, 4 Sep 2023 16:37:24 +0200
|
||||
Subject: [PATCH] amidi: use ATTRIBUTE_UNUSED instead remove argument name
|
||||
|
||||
We need to support older compilers than GCC 11.
|
||||
|
||||
Link: https://github.com/alsa-project/alsa-utils/issues/233
|
||||
Fixes: 1843540 ("amidi: fix the verbose compilation warnings for latest gcc")
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
amidi/amidi.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/amidi/amidi.c b/amidi/amidi.c
|
||||
index f930ca8ef30b..75fb8c0a42a3 100644
|
||||
--- a/amidi/amidi.c
|
||||
+++ b/amidi/amidi.c
|
||||
@@ -446,7 +446,7 @@ static void print_byte(unsigned char byte, struct timespec *ts)
|
||||
printf("%02X", byte);
|
||||
}
|
||||
|
||||
-static void sig_handler(int)
|
||||
+static void sig_handler(int sig ATTRIBUTE_UNUSED)
|
||||
{
|
||||
stop = 1;
|
||||
}
|
||||
--
|
||||
2.35.3
|
||||
|
@ -1,53 +0,0 @@
|
||||
From 7552aef6e08b5b1fd8c1704e21cb9f6f15017bfa Mon Sep 17 00:00:00 2001
|
||||
From: Jaroslav Kysela <perex@perex.cz>
|
||||
Date: Mon, 4 Sep 2023 16:45:09 +0200
|
||||
Subject: [PATCH] alsaloop: use ATTRIBUTE_UNUSED instead remove argument name
|
||||
|
||||
We need to support older compilers than GCC 11.
|
||||
|
||||
Link: https://github.com/alsa-project/alsa-utils/issues/233
|
||||
Fixes: d609a58 ("alsaloop: fix the verbose compilation warnings for latest gcc")
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
alsaloop/alsaloop.c | 2 +-
|
||||
alsaloop/pcmjob.c | 4 ++--
|
||||
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/alsaloop/alsaloop.c b/alsaloop/alsaloop.c
|
||||
index b10733e0b300..51fb64626a90 100644
|
||||
--- a/alsaloop/alsaloop.c
|
||||
+++ b/alsaloop/alsaloop.c
|
||||
@@ -821,7 +821,7 @@ static void send_to_all(int sig)
|
||||
}
|
||||
}
|
||||
|
||||
-static void signal_handler(int)
|
||||
+static void signal_handler(int sig ATTRIBUTE_UNUSED)
|
||||
{
|
||||
quit = 1;
|
||||
send_to_all(SIGUSR2);
|
||||
diff --git a/alsaloop/pcmjob.c b/alsaloop/pcmjob.c
|
||||
index be7197122ed9..ffb439b45e66 100644
|
||||
--- a/alsaloop/pcmjob.c
|
||||
+++ b/alsaloop/pcmjob.c
|
||||
@@ -625,7 +625,7 @@ static void buf_add_src(struct loopback *loop)
|
||||
}
|
||||
}
|
||||
#else
|
||||
-static void buf_add_src(struct loopback *)
|
||||
+static void buf_add_src(struct loopback *loop ATTRIBUTE_UNUSED)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
@@ -1794,7 +1794,7 @@ static int ctl_event_check(snd_ctl_elem_value_t *val, snd_ctl_event_t *ev)
|
||||
}
|
||||
|
||||
static int handle_ctl_events(struct loopback_handle *lhandle,
|
||||
- unsigned short)
|
||||
+ unsigned short events ATTRIBUTE_UNUSED)
|
||||
{
|
||||
struct loopback *loop = lhandle->loopback;
|
||||
snd_ctl_event_t *ev;
|
||||
--
|
||||
2.35.3
|
||||
|
@ -1,63 +0,0 @@
|
||||
From 94eeb5a40f77e92624eb32d2e9c50b1cd9e4f837 Mon Sep 17 00:00:00 2001
|
||||
From: Jaroslav Kysela <perex@perex.cz>
|
||||
Date: Mon, 4 Sep 2023 16:49:03 +0200
|
||||
Subject: [PATCH] bat: use ATTRIBUTE_UNUSED instead remove argument name
|
||||
|
||||
We need to support older compilers than GCC 11.
|
||||
|
||||
Link: https://github.com/alsa-project/alsa-utils/issues/233
|
||||
Fixes: b366875 ("bat: fix the verbose compilation warnings for latest gcc")
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
bat/bat.c | 3 ++-
|
||||
bat/common.c | 3 ++-
|
||||
bat/common.h | 5 +++++
|
||||
3 files changed, 9 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/bat/bat.c b/bat/bat.c
|
||||
index e88c65f72f49..ea04ed9c8813 100644
|
||||
--- a/bat/bat.c
|
||||
+++ b/bat/bat.c
|
||||
@@ -158,7 +158,8 @@ static void get_format(struct bat *bat, char *optarg)
|
||||
}
|
||||
}
|
||||
|
||||
-static inline int thread_wait_completion(struct bat *, pthread_t id, int **val)
|
||||
+static inline int thread_wait_completion(struct bat *bat ATTRIBUTE_UNUSED,
|
||||
+ pthread_t id, int **val)
|
||||
{
|
||||
int err;
|
||||
|
||||
diff --git a/bat/common.c b/bat/common.c
|
||||
index 9ff940572029..470a7e6ffc15 100644
|
||||
--- a/bat/common.c
|
||||
+++ b/bat/common.c
|
||||
@@ -47,7 +47,8 @@ static int update_fmt_to_bat(struct bat *bat, struct chunk_fmt *fmt)
|
||||
}
|
||||
|
||||
/* calculate frames and update to bat */
|
||||
-static int update_frames_to_bat(struct bat *bat, struct wav_chunk_header *header, FILE *)
|
||||
+static int update_frames_to_bat(struct bat *bat, struct wav_chunk_header *header,
|
||||
+ FILE *file ATTRIBUTE_UNUSED)
|
||||
{
|
||||
/* The number of analyzed captured frames is arbitrarily set to half of
|
||||
the number of frames of the wav file or the number of frames of the
|
||||
diff --git a/bat/common.h b/bat/common.h
|
||||
index a9bae5d2b741..bb51b0d452e2 100644
|
||||
--- a/bat/common.h
|
||||
+++ b/bat/common.h
|
||||
@@ -13,6 +13,11 @@
|
||||
*
|
||||
*/
|
||||
|
||||
+#ifndef ATTRIBUTE_UNUSED
|
||||
+/** do not print warning (gcc) when function parameter is not used */
|
||||
+#define ATTRIBUTE_UNUSED __attribute__ ((__unused__))
|
||||
+#endif
|
||||
+
|
||||
#define TEMP_RECORD_FILE_NAME "/tmp/bat.wav.XXXXXX"
|
||||
#define DEFAULT_DEV_NAME "default"
|
||||
|
||||
--
|
||||
2.35.3
|
||||
|
@ -1,89 +0,0 @@
|
||||
From 66112d60e4ce68720022eaf26080c0f1a2caf81f Mon Sep 17 00:00:00 2001
|
||||
From: Jaroslav Kysela <perex@perex.cz>
|
||||
Date: Mon, 4 Sep 2023 16:52:46 +0200
|
||||
Subject: [PATCH] seq: use ATTRIBUTE_UNUSED instead remove argument name
|
||||
|
||||
We need to support older compilers than GCC 11.
|
||||
|
||||
Link: https://github.com/alsa-project/alsa-utils/issues/233
|
||||
Fixes: 181e190 ("aplaymidi: fix the verbose compilation warnings for latest gcc")
|
||||
Fixes: a03377a ("aseqnet: fix the verbose compilation warnings for latest gcc")
|
||||
Fixes: 429c32a ("aseqdump: fix the verbose compilation warnings for latest gcc")
|
||||
Fixes: 0b48dd6 ("aconnect: fix the verbose compilation warnings for latest gcc")
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
seq/aconnect/aconnect.c | 9 ++++++---
|
||||
seq/aplaymidi/arecordmidi.c | 2 +-
|
||||
seq/aseqdump/aseqdump.c | 2 +-
|
||||
seq/aseqnet/aseqnet.c | 2 +-
|
||||
4 files changed, 9 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/seq/aconnect/aconnect.c b/seq/aconnect/aconnect.c
|
||||
index 3a10de9d95af..7096febfe1c1 100644
|
||||
--- a/seq/aconnect/aconnect.c
|
||||
+++ b/seq/aconnect/aconnect.c
|
||||
@@ -193,7 +193,8 @@ static void do_search_port(snd_seq_t *seq, int perm, action_func_t do_action)
|
||||
}
|
||||
|
||||
|
||||
-static void print_port(snd_seq_t *, snd_seq_client_info_t *cinfo,
|
||||
+static void print_port(snd_seq_t *seq ATTRIBUTE_UNUSED,
|
||||
+ snd_seq_client_info_t *cinfo,
|
||||
snd_seq_port_info_t *pinfo, int count)
|
||||
{
|
||||
if (! count) {
|
||||
@@ -247,8 +248,10 @@ static void print_port_and_subs(snd_seq_t *seq, snd_seq_client_info_t *cinfo,
|
||||
/*
|
||||
* remove all (exported) connections
|
||||
*/
|
||||
-static void remove_connection(snd_seq_t *seq, snd_seq_client_info_t *,
|
||||
- snd_seq_port_info_t *pinfo, int)
|
||||
+static void remove_connection(snd_seq_t *seq,
|
||||
+ snd_seq_client_info_t *info ATTRIBUTE_UNUSED,
|
||||
+ snd_seq_port_info_t *pinfo,
|
||||
+ int count ATTRIBUTE_UNUSED)
|
||||
{
|
||||
snd_seq_query_subscribe_t *query;
|
||||
snd_seq_port_info_t *port;
|
||||
diff --git a/seq/aplaymidi/arecordmidi.c b/seq/aplaymidi/arecordmidi.c
|
||||
index ce714728b8a2..a4c1181d3d31 100644
|
||||
--- a/seq/aplaymidi/arecordmidi.c
|
||||
+++ b/seq/aplaymidi/arecordmidi.c
|
||||
@@ -719,7 +719,7 @@ static void version(void)
|
||||
fputs("arecordmidi version " SND_UTIL_VERSION_STR "\n", stderr);
|
||||
}
|
||||
|
||||
-static void sighandler(int)
|
||||
+static void sighandler(int sig ATTRIBUTE_UNUSED)
|
||||
{
|
||||
stop = 1;
|
||||
}
|
||||
diff --git a/seq/aseqdump/aseqdump.c b/seq/aseqdump/aseqdump.c
|
||||
index 8455ecba3d85..af4ca216ad65 100644
|
||||
--- a/seq/aseqdump/aseqdump.c
|
||||
+++ b/seq/aseqdump/aseqdump.c
|
||||
@@ -676,7 +676,7 @@ static void version(void)
|
||||
puts("aseqdump version " SND_UTIL_VERSION_STR);
|
||||
}
|
||||
|
||||
-static void sighandler(int)
|
||||
+static void sighandler(int sig ATTRIBUTE_UNUSED)
|
||||
{
|
||||
stop = 1;
|
||||
}
|
||||
diff --git a/seq/aseqnet/aseqnet.c b/seq/aseqnet/aseqnet.c
|
||||
index f40de7d4e044..aa70b501db8e 100644
|
||||
--- a/seq/aseqnet/aseqnet.c
|
||||
+++ b/seq/aseqnet/aseqnet.c
|
||||
@@ -334,7 +334,7 @@ static void get_net_addr(struct addrinfo *rp, char *buf, size_t buflen)
|
||||
/*
|
||||
* signal handler
|
||||
*/
|
||||
-static void sigterm_exit(int)
|
||||
+static void sigterm_exit(int sig ATTRIBUTE_UNUSED)
|
||||
{
|
||||
close_files();
|
||||
exit(1);
|
||||
--
|
||||
2.35.3
|
||||
|
@ -1,105 +0,0 @@
|
||||
From 9e5e9a6d70de63bea01f0669b01319952f2cfdea Mon Sep 17 00:00:00 2001
|
||||
From: Jaroslav Kysela <perex@perex.cz>
|
||||
Date: Mon, 4 Sep 2023 16:57:47 +0200
|
||||
Subject: [PATCH] alsaucm: use ATTRIBUTE_UNUSED instead remove argument name
|
||||
|
||||
We need to support older compilers than GCC 11.
|
||||
|
||||
Link: https://github.com/alsa-project/alsa-utils/issues/233
|
||||
Fixes: d7bbc26 ("alsaucm: fix the verbose compilation warnings for latest gcc")
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
alsaucm/dump.c | 22 ++++++++++++----------
|
||||
1 file changed, 12 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/alsaucm/dump.c b/alsaucm/dump.c
|
||||
index 102ac4d2c4b5..a5c57f21d33b 100644
|
||||
--- a/alsaucm/dump.c
|
||||
+++ b/alsaucm/dump.c
|
||||
@@ -93,7 +93,8 @@ static char *tesc(const char *s, char *buf, size_t buf_len)
|
||||
|
||||
#define ESC(s, esc) tesc((s), (esc), sizeof(esc))
|
||||
|
||||
-static int text_verb_start(struct renderer *, const char *verb, const char *comment)
|
||||
+static int text_verb_start(struct renderer *r ATTRIBUTE_UNUSED,
|
||||
+ const char *verb, const char *comment)
|
||||
{
|
||||
char buf1[128], buf2[128];
|
||||
printf("Verb.%s {\n", ESC(verb, buf1));
|
||||
@@ -102,13 +103,13 @@ static int text_verb_start(struct renderer *, const char *verb, const char *comm
|
||||
return 0;
|
||||
}
|
||||
|
||||
-static int text_verb_end(struct renderer *)
|
||||
+static int text_verb_end(struct renderer *r ATTRIBUTE_UNUSED)
|
||||
{
|
||||
printf("}\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
-static int text_2nd_level_begin(struct renderer *,
|
||||
+static int text_2nd_level_begin(struct renderer *r ATTRIBUTE_UNUSED,
|
||||
const char *key,
|
||||
const char *val,
|
||||
const char *comment)
|
||||
@@ -120,19 +121,19 @@ static int text_2nd_level_begin(struct renderer *,
|
||||
return 0;
|
||||
}
|
||||
|
||||
-static int text_2nd_level_end(struct renderer *)
|
||||
+static int text_2nd_level_end(struct renderer *r ATTRIBUTE_UNUSED)
|
||||
{
|
||||
printf("\t}\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
-static int text_2nd_level(struct renderer *, const char *txt)
|
||||
+static int text_2nd_level(struct renderer *r ATTRIBUTE_UNUSED, const char *txt)
|
||||
{
|
||||
printf("\t\t%s", txt);
|
||||
return 0;
|
||||
}
|
||||
|
||||
-static int text_3rd_level(struct renderer *, const char *txt)
|
||||
+static int text_3rd_level(struct renderer *r ATTRIBUTE_UNUSED, const char *txt)
|
||||
{
|
||||
printf("\t\t\t%s", txt);
|
||||
return 0;
|
||||
@@ -266,7 +267,7 @@ static void json_block(struct renderer *r, int level, int last)
|
||||
j->block[level] = last ? 0 : 1;
|
||||
}
|
||||
|
||||
-static int json_init(struct renderer *)
|
||||
+static int json_init(struct renderer *r ATTRIBUTE_UNUSED)
|
||||
{
|
||||
printf("{\n \"Verbs\": {");
|
||||
return 0;
|
||||
@@ -325,13 +326,13 @@ static int json_2nd_level_end(struct renderer *r)
|
||||
return 0;
|
||||
}
|
||||
|
||||
-static int json_2nd_level(struct renderer *, const char *txt)
|
||||
+static int json_2nd_level(struct renderer *r ATTRIBUTE_UNUSED, const char *txt)
|
||||
{
|
||||
printf(" %s", txt);
|
||||
return 0;
|
||||
}
|
||||
|
||||
-static int json_3rd_level(struct renderer *, const char *txt)
|
||||
+static int json_3rd_level(struct renderer *r ATTRIBUTE_UNUSED, const char *txt)
|
||||
{
|
||||
printf(" %s", txt);
|
||||
return 0;
|
||||
@@ -360,7 +361,8 @@ static int json_supcon_start(struct renderer *r, const char *key)
|
||||
return 0;
|
||||
}
|
||||
|
||||
-static int json_supcon_value(struct renderer *r, const char *value, int)
|
||||
+static int json_supcon_value(struct renderer *r, const char *value,
|
||||
+ int last ATTRIBUTE_UNUSED)
|
||||
{
|
||||
char buf[256];
|
||||
JESC(value, buf);
|
||||
--
|
||||
2.35.3
|
||||
|
@ -1,308 +0,0 @@
|
||||
From dfe1c7143ab6ea01789e276b1ba361a00e545997 Mon Sep 17 00:00:00 2001
|
||||
From: Jaroslav Kysela <perex@perex.cz>
|
||||
Date: Mon, 4 Sep 2023 17:11:05 +0200
|
||||
Subject: [PATCH] topology: use ATTRIBUTE_UNUSED instead remove argument name
|
||||
|
||||
We need to support older compilers than GCC 11.
|
||||
|
||||
Link: https://github.com/alsa-project/alsa-utils/issues/233
|
||||
Fixes: 153d185 ("topology: fix the verbose compilation warnings for latest gcc")
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
topology/nhlt/intel/dmic-nhlt.c | 3 ++-
|
||||
topology/nhlt/intel/dmic/dmic-debug.c | 7 ++++---
|
||||
topology/nhlt/intel/ssp/ssp-debug.c | 5 +++--
|
||||
topology/nhlt/intel/ssp/ssp-process.c | 4 +++-
|
||||
topology/nhlt/nhlt-processor.c | 7 +++++--
|
||||
topology/pre-process-class.c | 10 +++++-----
|
||||
topology/pre-process-object.c | 21 +++++++++++----------
|
||||
topology/pre-processor.c | 10 ++++++----
|
||||
8 files changed, 39 insertions(+), 28 deletions(-)
|
||||
|
||||
diff --git a/topology/nhlt/intel/dmic-nhlt.c b/topology/nhlt/intel/dmic-nhlt.c
|
||||
index 70a22e3e288a..de659cfdbd1f 100644
|
||||
--- a/topology/nhlt/intel/dmic-nhlt.c
|
||||
+++ b/topology/nhlt/intel/dmic-nhlt.c
|
||||
@@ -10,6 +10,7 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
+#include <alsa/global.h>
|
||||
#include <alsa/input.h>
|
||||
#include <alsa/output.h>
|
||||
#include <alsa/conf.h>
|
||||
@@ -155,7 +156,7 @@ static int set_vendor_mic_data(struct intel_nhlt_params *nhlt, snd_config_t *cfg
|
||||
horizontal_angle_end);
|
||||
}
|
||||
|
||||
-static int set_bytes_data(struct intel_nhlt_params *, snd_config_t *cfg)
|
||||
+static int set_bytes_data(struct intel_nhlt_params *nhlt ATTRIBUTE_UNUSED, snd_config_t *cfg)
|
||||
{
|
||||
snd_config_iterator_t i, next;
|
||||
snd_config_t *n;
|
||||
diff --git a/topology/nhlt/intel/dmic/dmic-debug.c b/topology/nhlt/intel/dmic/dmic-debug.c
|
||||
index f99d308c0419..a977c93f2a2d 100644
|
||||
--- a/topology/nhlt/intel/dmic/dmic-debug.c
|
||||
+++ b/topology/nhlt/intel/dmic/dmic-debug.c
|
||||
@@ -8,6 +8,7 @@
|
||||
#include "aconfig.h"
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
+#include <alsa/global.h>
|
||||
#include "dmic-debug.h"
|
||||
|
||||
#ifdef NHLT_DEBUG
|
||||
@@ -181,7 +182,7 @@ void dmic_print_internal(struct intel_dmic_params *dmic)
|
||||
}
|
||||
|
||||
#else /* NHLT_DEBUG */
|
||||
-void dmic_print_bytes_as_hex(uint8_t *, size_t) {}
|
||||
-void dmic_print_integers_as_hex(uint32_t *, size_t) {}
|
||||
-void dmic_print_internal(struct intel_dmic_params *) {}
|
||||
+void dmic_print_bytes_as_hex(uint8_t *src ATTRIBUTE_UNUSED, size_t size ATTRIBUTE_UNUSED) {}
|
||||
+void dmic_print_integers_as_hex(uint32_t *src ATTRIBUTE_UNUSED, size_t size ATTRIBUTE_UNUSED) {}
|
||||
+void dmic_print_internal(struct intel_dmic_params *dmic ATTRIBUTE_UNUSED) {}
|
||||
#endif
|
||||
diff --git a/topology/nhlt/intel/ssp/ssp-debug.c b/topology/nhlt/intel/ssp/ssp-debug.c
|
||||
index 8c6467556e72..2d2f6b0fc5ab 100644
|
||||
--- a/topology/nhlt/intel/ssp/ssp-debug.c
|
||||
+++ b/topology/nhlt/intel/ssp/ssp-debug.c
|
||||
@@ -7,6 +7,7 @@
|
||||
#include "aconfig.h"
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
+#include <alsa/global.h>
|
||||
#include "ssp-debug.h"
|
||||
#include "../intel-nhlt.h"
|
||||
|
||||
@@ -252,6 +253,6 @@ void ssp_print_internal(struct intel_ssp_params *ssp)
|
||||
}
|
||||
|
||||
#else /* NHLT_DEBUG */
|
||||
-void ssp_print_internal(struct intel_ssp_params *) {}
|
||||
-void ssp_print_calculated(struct intel_ssp_params *) {}
|
||||
+void ssp_print_internal(struct intel_ssp_params *ssp ATTRIBUTE_UNUSED) {}
|
||||
+void ssp_print_calculated(struct intel_ssp_params *ssp ATTRIBUTE_UNUSED) {}
|
||||
#endif
|
||||
diff --git a/topology/nhlt/intel/ssp/ssp-process.c b/topology/nhlt/intel/ssp/ssp-process.c
|
||||
index 9cda5c3500d9..17b88d2b712b 100644
|
||||
--- a/topology/nhlt/intel/ssp/ssp-process.c
|
||||
+++ b/topology/nhlt/intel/ssp/ssp-process.c
|
||||
@@ -14,6 +14,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <stdbool.h>
|
||||
+#include <alsa/global.h>
|
||||
#include <alsa/input.h>
|
||||
#include <alsa/output.h>
|
||||
#include <alsa/conf.h>
|
||||
@@ -952,7 +953,8 @@ int ssp_set_params(struct intel_nhlt_params *nhlt, const char *dir, int dai_inde
|
||||
return 0;
|
||||
}
|
||||
|
||||
-int ssp_hw_set_params(struct intel_nhlt_params *nhlt, const char *format, const char *,
|
||||
+int ssp_hw_set_params(struct intel_nhlt_params *nhlt, const char *format,
|
||||
+ const char *mclk ATTRIBUTE_UNUSED,
|
||||
const char *bclk, const char *bclk_invert, const char *fsync,
|
||||
const char *fsync_invert, int mclk_freq, int bclk_freq, int fsync_freq,
|
||||
int tdm_slots, int tdm_slot_width, int tx_slots, int rx_slots)
|
||||
diff --git a/topology/nhlt/nhlt-processor.c b/topology/nhlt/nhlt-processor.c
|
||||
index 567fa5cc2498..ca539c3de5bb 100644
|
||||
--- a/topology/nhlt/nhlt-processor.c
|
||||
+++ b/topology/nhlt/nhlt-processor.c
|
||||
@@ -11,6 +11,7 @@
|
||||
#include <string.h>
|
||||
#include <stdbool.h>
|
||||
#include <inttypes.h>
|
||||
+#include <alsa/global.h>
|
||||
#include <alsa/input.h>
|
||||
#include <alsa/output.h>
|
||||
#include <alsa/conf.h>
|
||||
@@ -87,7 +88,8 @@ static void debug_print_nhlt(struct nhlt *blob, struct endpoint_descriptor **eps
|
||||
fprintf(stdout, "\n");
|
||||
}
|
||||
#else
|
||||
-static void debug_print_nhlt(struct nhlt *, struct endpoint_descriptor **) {}
|
||||
+static void debug_print_nhlt(struct nhlt *blob ATTRIBUTE_UNUSED,
|
||||
+ struct endpoint_descriptor **eps ATTRIBUTE_UNUSED) {}
|
||||
#endif
|
||||
|
||||
static int print_as_hex_bytes(uint8_t *manifest_buffer, uint32_t manifest_size,
|
||||
@@ -313,7 +315,8 @@ static int nhlt_get_flat_buffer(struct nhlt *blob, struct endpoint_descriptor **
|
||||
}
|
||||
|
||||
/* called at the end of topology pre-processing, create flat buffer from variable size nhlt */
|
||||
-static int nhlt_create(struct intel_nhlt_params *nhlt, snd_config_t *input, snd_config_t *,
|
||||
+static int nhlt_create(struct intel_nhlt_params *nhlt, snd_config_t *input,
|
||||
+ snd_config_t *output ATTRIBUTE_UNUSED,
|
||||
uint8_t **nhlt_buffer, uint32_t *nhlt_size)
|
||||
{
|
||||
struct endpoint_descriptor *eps[MAX_ENDPOINT_COUNT];
|
||||
diff --git a/topology/pre-process-class.c b/topology/pre-process-class.c
|
||||
index d883d053fcb6..bedcebe6c410 100644
|
||||
--- a/topology/pre-process-class.c
|
||||
+++ b/topology/pre-process-class.c
|
||||
@@ -127,7 +127,7 @@ snd_config_t *tplg_class_lookup(struct tplg_pre_processor *tplg_pp, snd_config_t
|
||||
}
|
||||
|
||||
/* find the attribute config by name in the class definition */
|
||||
-snd_config_t *tplg_class_find_attribute_by_name(struct tplg_pre_processor *,
|
||||
+snd_config_t *tplg_class_find_attribute_by_name(struct tplg_pre_processor *tplg_p ATTRIBUTE_UNUSED,
|
||||
snd_config_t *class, const char *name)
|
||||
{
|
||||
snd_config_t *attr = NULL;
|
||||
@@ -152,7 +152,7 @@ snd_config_t *tplg_class_find_attribute_by_name(struct tplg_pre_processor *,
|
||||
}
|
||||
|
||||
/* get the name of the attribute that must have a unique value in the object instance */
|
||||
-const char *tplg_class_get_unique_attribute_name(struct tplg_pre_processor *,
|
||||
+const char *tplg_class_get_unique_attribute_name(struct tplg_pre_processor *tplg_pp ATTRIBUTE_UNUSED,
|
||||
snd_config_t *class)
|
||||
{
|
||||
snd_config_t *unique;
|
||||
@@ -177,7 +177,7 @@ const char *tplg_class_get_unique_attribute_name(struct tplg_pre_processor *,
|
||||
}
|
||||
|
||||
/* get attribute type from the definition */
|
||||
-snd_config_type_t tplg_class_get_attribute_type(struct tplg_pre_processor *,
|
||||
+snd_config_type_t tplg_class_get_attribute_type(struct tplg_pre_processor *tplg_pp ATTRIBUTE_UNUSED,
|
||||
snd_config_t *attr)
|
||||
{
|
||||
snd_config_t *type;
|
||||
@@ -208,7 +208,7 @@ snd_config_type_t tplg_class_get_attribute_type(struct tplg_pre_processor *,
|
||||
}
|
||||
|
||||
/* get token_ref for attribute with name attr_name in the class */
|
||||
-const char *tplg_class_get_attribute_token_ref(struct tplg_pre_processor *,
|
||||
+const char *tplg_class_get_attribute_token_ref(struct tplg_pre_processor *tplg_pp ATTRIBUTE_UNUSED,
|
||||
snd_config_t *class, const char *attr_name)
|
||||
{
|
||||
snd_config_t *attributes, *attr, *token_ref;
|
||||
@@ -235,7 +235,7 @@ const char *tplg_class_get_attribute_token_ref(struct tplg_pre_processor *,
|
||||
}
|
||||
|
||||
/* convert a valid attribute string value to the corresponding tuple value */
|
||||
-long tplg_class_attribute_valid_tuple_value(struct tplg_pre_processor *,
|
||||
+long tplg_class_attribute_valid_tuple_value(struct tplg_pre_processor *tplg_pp ATTRIBUTE_UNUSED,
|
||||
snd_config_t *class, snd_config_t *attr)
|
||||
{
|
||||
|
||||
diff --git a/topology/pre-process-object.c b/topology/pre-process-object.c
|
||||
index 48555e7ff7e2..61cc85fbc43d 100644
|
||||
--- a/topology/pre-process-object.c
|
||||
+++ b/topology/pre-process-object.c
|
||||
@@ -31,7 +31,8 @@
|
||||
|
||||
/* Parse VendorToken object, create the "SectionVendorToken" and save it */
|
||||
int tplg_build_vendor_token_object(struct tplg_pre_processor *tplg_pp,
|
||||
- snd_config_t *obj_cfg, snd_config_t *)
|
||||
+ snd_config_t *obj_cfg,
|
||||
+ snd_config_t *parent ATTRIBUTE_UNUSED)
|
||||
{
|
||||
snd_config_iterator_t i, next;
|
||||
snd_config_t *vtop, *n, *obj;
|
||||
@@ -196,7 +197,7 @@ int tplg_build_data_object(struct tplg_pre_processor *tplg_pp, snd_config_t *obj
|
||||
return tplg_parent_update(tplg_pp, parent, "data", name);
|
||||
}
|
||||
|
||||
-static int tplg_create_config_template(struct tplg_pre_processor *,
|
||||
+static int tplg_create_config_template(struct tplg_pre_processor *tplg_pp ATTRIBUTE_UNUSED,
|
||||
snd_config_t **template,
|
||||
const struct config_template_items *items)
|
||||
{
|
||||
@@ -499,7 +500,7 @@ min_max_check:
|
||||
}
|
||||
|
||||
/* get object's name attribute value */
|
||||
-const char *tplg_object_get_name(struct tplg_pre_processor *,
|
||||
+const char *tplg_object_get_name(struct tplg_pre_processor *tplg_pp ATTRIBUTE_UNUSED,
|
||||
snd_config_t *object)
|
||||
{
|
||||
snd_config_t *cfg;
|
||||
@@ -518,7 +519,7 @@ const char *tplg_object_get_name(struct tplg_pre_processor *,
|
||||
}
|
||||
|
||||
/* look up the instance of object in a config */
|
||||
-static snd_config_t *tplg_object_lookup_in_config(struct tplg_pre_processor *,
|
||||
+static snd_config_t *tplg_object_lookup_in_config(struct tplg_pre_processor *tplg_pp ATTRIBUTE_UNUSED,
|
||||
snd_config_t *class, const char *type,
|
||||
const char *class_name, const char *id)
|
||||
{
|
||||
@@ -977,7 +978,7 @@ template:
|
||||
}
|
||||
|
||||
static int tplg_build_generic_object(struct tplg_pre_processor *tplg_pp, snd_config_t *obj_cfg,
|
||||
- snd_config_t *)
|
||||
+ snd_config_t *parent ATTRIBUTE_UNUSED)
|
||||
{
|
||||
snd_config_t *wtop;
|
||||
const char *name;
|
||||
@@ -1090,7 +1091,7 @@ const struct build_function_map object_build_map[] = {
|
||||
NULL, &pcm_caps_config},
|
||||
};
|
||||
|
||||
-static const struct build_function_map *tplg_object_get_map(struct tplg_pre_processor *,
|
||||
+static const struct build_function_map *tplg_object_get_map(struct tplg_pre_processor *tplg_pp ATTRIBUTE_UNUSED,
|
||||
snd_config_t *obj)
|
||||
{
|
||||
snd_config_iterator_t first;
|
||||
@@ -1145,7 +1146,7 @@ snd_config_t *tplg_object_get_section(struct tplg_pre_processor *tplg_pp, snd_co
|
||||
}
|
||||
|
||||
/* return 1 if attribute not found in search_config, 0 on success and negative value on error */
|
||||
-static int tplg_object_copy_and_add_param(struct tplg_pre_processor *,
|
||||
+static int tplg_object_copy_and_add_param(struct tplg_pre_processor *tplg_pp ATTRIBUTE_UNUSED,
|
||||
snd_config_t *obj,
|
||||
snd_config_t *attr_cfg,
|
||||
snd_config_t *search_config)
|
||||
@@ -1351,8 +1352,8 @@ static int tplg_object_pre_process_children(struct tplg_pre_processor *tplg_pp,
|
||||
return 0;
|
||||
}
|
||||
|
||||
-static int tplg_construct_object_name(struct tplg_pre_processor *, snd_config_t *obj,
|
||||
- snd_config_t *class_cfg)
|
||||
+static int tplg_construct_object_name(struct tplg_pre_processor *tplg_pp ATTRIBUTE_UNUSED,
|
||||
+ snd_config_t *obj, snd_config_t *class_cfg)
|
||||
{
|
||||
snd_config_iterator_t i, next;
|
||||
snd_config_t *args, *n;
|
||||
@@ -1547,7 +1548,7 @@ static int tplg_object_set_unique_attribute(struct tplg_pre_processor *tplg_pp,
|
||||
* Helper function to get object instance config which is 2 nodes down from class_type config.
|
||||
* ex: Get the pointer to the config node with ID "0" from the input config Widget.pga.0 {}
|
||||
*/
|
||||
-snd_config_t *tplg_object_get_instance_config(struct tplg_pre_processor *,
|
||||
+snd_config_t *tplg_object_get_instance_config(struct tplg_pre_processor *tplg_pp ATTRIBUTE_UNUSED,
|
||||
snd_config_t *class_type)
|
||||
{
|
||||
snd_config_iterator_t first;
|
||||
diff --git a/topology/pre-processor.c b/topology/pre-processor.c
|
||||
index 3903dee556b8..01f8a5de513e 100644
|
||||
--- a/topology/pre-processor.c
|
||||
+++ b/topology/pre-processor.c
|
||||
@@ -231,8 +231,9 @@ void tplg_pp_config_debug(struct tplg_pre_processor *tplg_pp, snd_config_t *cfg)
|
||||
snd_config_save(cfg, tplg_pp->dbg_output);
|
||||
}
|
||||
#else
|
||||
-void tplg_pp_debug(char *, ...) {}
|
||||
-void tplg_pp_config_debug(struct tplg_pre_processor *, snd_config_t *){}
|
||||
+void tplg_pp_debug(char *fmt ATTRIBUTE_UNUSED, ...) {}
|
||||
+void tplg_pp_config_debug(struct tplg_pre_processor *tplg_pp ATTRIBUTE_UNUSED,
|
||||
+ snd_config_t *cfg ATTRIBUTE_UNUSED) {}
|
||||
#endif
|
||||
|
||||
static int pre_process_config(struct tplg_pre_processor *tplg_pp, snd_config_t *cfg)
|
||||
@@ -640,8 +641,9 @@ static int pre_process_includes_all(struct tplg_pre_processor *tplg_pp, snd_conf
|
||||
}
|
||||
|
||||
/* duplicate the existing objects in src into dest and update with new attribute */
|
||||
-static int pre_process_add_objects(struct tplg_pre_processor *, int *object_count,
|
||||
- snd_config_t *src, snd_config_t *dest, snd_config_t *attr_cfg)
|
||||
+static int pre_process_add_objects(struct tplg_pre_processor *tplg_pp ATTRIBUTE_UNUSED,
|
||||
+ int *object_count, snd_config_t *src,
|
||||
+ snd_config_t *dest, snd_config_t *attr_cfg)
|
||||
{
|
||||
snd_config_iterator_t i, next;
|
||||
int ret;
|
||||
--
|
||||
2.35.3
|
||||
|
@ -1,29 +0,0 @@
|
||||
From 8c229270f6bae83b705a03714c46067a7aa57b02 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Opdenacker <michael.opdenacker@bootlin.com>
|
||||
Date: Tue, 19 Sep 2023 13:14:29 +0200
|
||||
Subject: [PATCH] topology: include locale.h
|
||||
|
||||
This solves an issue compiling with the musl libc.
|
||||
|
||||
Fixes: https://github.com/alsa-project/alsa-utils/issues/239
|
||||
Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
topology/topology.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/topology/topology.c b/topology/topology.c
|
||||
index 1840ffe65cba..5d03a8b133b8 100644
|
||||
--- a/topology/topology.c
|
||||
+++ b/topology/topology.c
|
||||
@@ -32,6 +32,7 @@
|
||||
#include <sys/stat.h>
|
||||
#include <getopt.h>
|
||||
#include <assert.h>
|
||||
+#include <locale.h>
|
||||
|
||||
#include <alsa/asoundlib.h>
|
||||
#include <alsa/topology.h>
|
||||
--
|
||||
2.35.3
|
||||
|
@ -1,29 +0,0 @@
|
||||
From 0925ad7f09b2dc77015784f9ac2f5e34dd0dd5c3 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Opdenacker <michael.opdenacker@bootlin.com>
|
||||
Date: Tue, 19 Sep 2023 13:14:30 +0200
|
||||
Subject: [PATCH] nhlt-dmic-info.c: include sys/types.h
|
||||
|
||||
This fixes an issue compiling with the musl libc.
|
||||
|
||||
Fixes: https://github.com/alsa-project/alsa-utils/issues/238
|
||||
Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
nhlt/nhlt-dmic-info.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/nhlt/nhlt-dmic-info.c b/nhlt/nhlt-dmic-info.c
|
||||
index 3f6c64d992b9..331555a82677 100644
|
||||
--- a/nhlt/nhlt-dmic-info.c
|
||||
+++ b/nhlt/nhlt-dmic-info.c
|
||||
@@ -33,6 +33,7 @@
|
||||
#include <fcntl.h>
|
||||
#include <getopt.h>
|
||||
#include <sys/stat.h>
|
||||
+#include <sys/types.h>
|
||||
#include <arpa/inet.h>
|
||||
|
||||
int debug = 0;
|
||||
--
|
||||
2.35.3
|
||||
|
@ -1,124 +0,0 @@
|
||||
From 68dd54784a0b2287015433a62600b28bbff49399 Mon Sep 17 00:00:00 2001
|
||||
From: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
|
||||
Date: Mon, 11 Sep 2023 08:18:15 -0700
|
||||
Subject: [PATCH] topology: pre-processor: Add support for enum controls
|
||||
|
||||
Add support for adding enum controls in the topology pre-processor.
|
||||
|
||||
Closes: https://github.com/alsa-project/alsa-utils/pull/236
|
||||
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
topology/pre-process-dapm.c | 26 ++++++++++++++++++++++++++
|
||||
topology/pre-process-object.c | 14 +++++++++++++-
|
||||
topology/pre-processor.h | 4 ++++
|
||||
3 files changed, 43 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/topology/pre-process-dapm.c b/topology/pre-process-dapm.c
|
||||
index 9355a861757d..78944a6d9801 100644
|
||||
--- a/topology/pre-process-dapm.c
|
||||
+++ b/topology/pre-process-dapm.c
|
||||
@@ -70,6 +70,26 @@ int tplg_build_channel_object(struct tplg_pre_processor *tplg_pp, snd_config_t *
|
||||
return tplg_build_base_object(tplg_pp, obj_cfg, parent, false);
|
||||
}
|
||||
|
||||
+int tplg_build_text_object(struct tplg_pre_processor *tplg_pp, snd_config_t *obj_cfg,
|
||||
+ snd_config_t *parent)
|
||||
+{
|
||||
+ snd_config_t *cfg;
|
||||
+ const char *name;
|
||||
+ int ret;
|
||||
+
|
||||
+ cfg = tplg_object_get_instance_config(tplg_pp, obj_cfg);
|
||||
+
|
||||
+ name = tplg_object_get_name(tplg_pp, cfg);
|
||||
+ if (!name)
|
||||
+ return -EINVAL;
|
||||
+
|
||||
+ ret = tplg_build_object_from_template(tplg_pp, obj_cfg, &cfg, NULL, false);
|
||||
+ if (ret < 0)
|
||||
+ return ret;
|
||||
+
|
||||
+ return tplg_parent_update(tplg_pp, parent, "texts", name);
|
||||
+}
|
||||
+
|
||||
int tplg_build_tlv_object(struct tplg_pre_processor *tplg_pp, snd_config_t *obj_cfg,
|
||||
snd_config_t *parent)
|
||||
{
|
||||
@@ -131,6 +151,12 @@ int tplg_build_bytes_control(struct tplg_pre_processor *tplg_pp, snd_config_t *o
|
||||
return tplg_build_control(tplg_pp, obj_cfg, parent, "bytes");
|
||||
}
|
||||
|
||||
+int tplg_build_enum_control(struct tplg_pre_processor *tplg_pp, snd_config_t *obj_cfg,
|
||||
+ snd_config_t *parent)
|
||||
+{
|
||||
+ return tplg_build_control(tplg_pp, obj_cfg, parent, "enum");
|
||||
+}
|
||||
+
|
||||
/*
|
||||
* Widget names for pipeline endpoints can be of the following type:
|
||||
* "class.<constructor args separated by .> ex: pga.0.1, buffer.1.1 etc
|
||||
diff --git a/topology/pre-process-object.c b/topology/pre-process-object.c
|
||||
index 61cc85fbc43d..34b92033435c 100644
|
||||
--- a/topology/pre-process-object.c
|
||||
+++ b/topology/pre-process-object.c
|
||||
@@ -117,7 +117,7 @@ int tplg_parent_update(struct tplg_pre_processor *tplg_pp, snd_config_t *parent,
|
||||
return ret;
|
||||
|
||||
/* get section config */
|
||||
- if (!strcmp(section_name, "tlv")) {
|
||||
+ if (!strcmp(section_name, "tlv") || !strcmp(section_name, "texts")) {
|
||||
/* set tlv name if config exists already */
|
||||
ret = snd_config_search(cfg, section_name, &item_config);
|
||||
if (ret < 0) {
|
||||
@@ -1038,6 +1038,15 @@ const struct config_template_items bytes_control_config = {
|
||||
.compound_config_ids = {"access"}
|
||||
};
|
||||
|
||||
+const struct config_template_items enum_control_config = {
|
||||
+ .int_config_ids = {"index"},
|
||||
+ .compound_config_ids = {"access"}
|
||||
+};
|
||||
+
|
||||
+const struct config_template_items text_config = {
|
||||
+ .compound_config_ids = {"values"}
|
||||
+};
|
||||
+
|
||||
const struct config_template_items scale_config = {
|
||||
.int_config_ids = {"min", "step", "mute"},
|
||||
};
|
||||
@@ -1073,6 +1082,7 @@ const struct build_function_map object_build_map[] = {
|
||||
{"Base", "ops", "ops" ,&tplg_build_ops_object, NULL, &ops_config},
|
||||
{"Base", "extops", "extops" ,&tplg_build_ops_object, NULL, &ops_config},
|
||||
{"Base", "channel", "channel", &tplg_build_channel_object, NULL, &channel_config},
|
||||
+ {"Base", "text", "SectionText", &tplg_build_text_object, NULL, &text_config},
|
||||
{"Base", "VendorToken", "SectionVendorTokens", &tplg_build_vendor_token_object,
|
||||
NULL, NULL},
|
||||
{"Base", "hw_config", "SectionHWConfig", &tplg_build_hw_cfg_object, NULL,
|
||||
@@ -1085,6 +1095,8 @@ const struct build_function_map object_build_map[] = {
|
||||
&mixer_control_config},
|
||||
{"Control", "bytes", "SectionControlBytes", &tplg_build_bytes_control, NULL,
|
||||
&bytes_control_config},
|
||||
+ {"Control", "enum", "SectionControlEnum", &tplg_build_enum_control, NULL,
|
||||
+ &enum_control_config},
|
||||
{"Dai", "", "SectionBE", &tplg_build_generic_object, NULL, &be_dai_config},
|
||||
{"PCM", "pcm", "SectionPCM", &tplg_build_generic_object, NULL, &pcm_config},
|
||||
{"PCM", "pcm_caps", "SectionPCMCapabilities", &tplg_build_pcm_caps_object,
|
||||
diff --git a/topology/pre-processor.h b/topology/pre-processor.h
|
||||
index 878653d4c849..3a8a4bc3b1a8 100644
|
||||
--- a/topology/pre-processor.h
|
||||
+++ b/topology/pre-processor.h
|
||||
@@ -70,6 +70,10 @@ int tplg_build_mixer_control(struct tplg_pre_processor *tplg_pp, snd_config_t *o
|
||||
snd_config_t *parent);
|
||||
int tplg_build_bytes_control(struct tplg_pre_processor *tplg_pp, snd_config_t *obj_cfg,
|
||||
snd_config_t *parent);
|
||||
+int tplg_build_enum_control(struct tplg_pre_processor *tplg_pp, snd_config_t *obj_cfg,
|
||||
+ snd_config_t *parent);
|
||||
+int tplg_build_text_object(struct tplg_pre_processor *tplg_pp, snd_config_t *obj_cfg,
|
||||
+ snd_config_t *parent);
|
||||
int tplg_build_dapm_route_object(struct tplg_pre_processor *tplg_pp, snd_config_t *obj_cfg,
|
||||
snd_config_t *parent);
|
||||
int tplg_build_hw_cfg_object(struct tplg_pre_processor *tplg_pp,
|
||||
--
|
||||
2.35.3
|
||||
|
@ -1,38 +0,0 @@
|
||||
From 31e91f911e9132171a87fb7966c3f4701ff9717c Mon Sep 17 00:00:00 2001
|
||||
From: Bernd Kuhls <bernd@kuhls.net>
|
||||
Date: Fri, 13 Oct 2023 20:32:32 +0200
|
||||
Subject: [PATCH] configure.ac: fix UMP support detection
|
||||
|
||||
https://github.com/alsa-project/alsa-utils/commit/b399fb85a919636b7da34e8bcf17f484dd9046f7
|
||||
added usage of alsa/ump_msg.h without checking whether alsa-lib was
|
||||
compiled with rawmidi support:
|
||||
https://github.com/alsa-project/alsa-lib/blob/master/include/Makefile.am#L37
|
||||
|
||||
Fixes a build error when alsa-lib was compiled with --disable-rawmidi
|
||||
|
||||
aplaymidi.c:34:10: fatal error: alsa/ump_msg.h: No such file or directory
|
||||
34 | #include <alsa/ump_msg.h>
|
||||
|
||||
Closes: https://github.com/alsa-project/alsa-utils/pull/240
|
||||
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
configure.ac | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index beb496393df5..42177416dafe 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -55,7 +55,7 @@ if test "$HAVE_SEQ_CLIENT_INFO_GET_PID" = "yes" ; then
|
||||
AC_DEFINE([HAVE_SEQ_CLIENT_INFO_GET_PID], 1, [alsa-lib supports snd_seq_client_info_get_pid])
|
||||
fi
|
||||
AC_CHECK_LIB([asound], [snd_seq_client_info_get_midi_version], [HAVE_SEQ_CLIENT_INFO_GET_MIDI_VERSION="yes"])
|
||||
-if test "$HAVE_SEQ_CLIENT_INFO_GET_MIDI_VERSION" = "yes" ; then
|
||||
+if test "$HAVE_SEQ_CLIENT_INFO_GET_MIDI_VERSION" = "yes" -a "$have_rawmidi" = "yes"; then
|
||||
AC_DEFINE([HAVE_SEQ_CLIENT_INFO_GET_MIDI_VERSION], 1, [alsa-lib supports snd_seq_client_info_get_midi_version])
|
||||
fi
|
||||
AC_CHECK_LIB([atopology], [snd_tplg_save], [have_topology="yes"], [have_topology="no"])
|
||||
--
|
||||
2.35.3
|
||||
|
@ -1,44 +0,0 @@
|
||||
From 039e4cad48a01437d195914b57b5da83ebc582c3 Mon Sep 17 00:00:00 2001
|
||||
From: Delio Brignoli <dbrignoli@audioscience.com>
|
||||
Date: Mon, 18 Sep 2023 09:33:37 +0100
|
||||
Subject: [PATCH] bat: really skip analysis of the first period and update
|
||||
related comment
|
||||
|
||||
Prior to this change bat/analyze.c would skip the last period of the recording, contrary to
|
||||
what the comment in the code which stated the first period was meant to be skipped.
|
||||
|
||||
The comment has been updated to state that both the first and last period are skipped and the code
|
||||
has been updated to match.
|
||||
|
||||
Closes: https://github.com/alsa-project/alsa-utils/pull/237
|
||||
Signed-off-by: Delio Brignoli <dbrignoli@audioscience.com>
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
bat/analyze.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/bat/analyze.c b/bat/analyze.c
|
||||
index 686788000f99..b8d02706fe66 100644
|
||||
--- a/bat/analyze.c
|
||||
+++ b/bat/analyze.c
|
||||
@@ -299,7 +299,7 @@ static int calculate_noise(struct bat *bat, float *src, int channel)
|
||||
/* each section has 2 sine periods, the first one for locating
|
||||
* and the second one for noise calculating */
|
||||
int nsamples_per_section = nsamples * 2;
|
||||
- /* all sine periods will be calculated except the first one */
|
||||
+ /* all sine periods will be calculated except the first and last one */
|
||||
int nsection = bat->frames / nsamples - 1;
|
||||
|
||||
fprintf(bat->log, _("samples per period: %d\n"), nsamples);
|
||||
@@ -331,7 +331,7 @@ static int calculate_noise(struct bat *bat, float *src, int channel)
|
||||
/* calculate average noise level */
|
||||
sum_snr_pc = 0.0;
|
||||
cnt_clean = cnt_noise = 0;
|
||||
- for (i = 0, offset = 0; i < nsection; i++) {
|
||||
+ for (i = 1, offset = nsamples; i < nsection; i++) {
|
||||
na.snr_db = SNR_DB_INVALID;
|
||||
|
||||
err = calculate_noise_one_period(bat, &na, src + offset,
|
||||
--
|
||||
2.35.3
|
||||
|
@ -1,39 +0,0 @@
|
||||
From d272c5d935b2ff8acc00f16317f1f960b02ed3a1 Mon Sep 17 00:00:00 2001
|
||||
From: Sam James <sam@gentoo.org>
|
||||
Date: Thu, 7 Sep 2023 21:23:51 +0100
|
||||
Subject: [PATCH] topology: add include for ENABLE_NLS on musl
|
||||
|
||||
Needed for setlocale().
|
||||
|
||||
(After rebasing to pick up 8c229270f6bae83b705a03714c46067a7aa57b02, just
|
||||
move it to be guarded as the include now exists.)
|
||||
|
||||
Closes: https://github.com/alsa-project/alsa-utils/pull/234
|
||||
Signed-off-by: Sam James <sam@gentoo.org>
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
topology/topology.c | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/topology/topology.c b/topology/topology.c
|
||||
index 5d03a8b133b8..98b000aa5031 100644
|
||||
--- a/topology/topology.c
|
||||
+++ b/topology/topology.c
|
||||
@@ -32,11 +32,13 @@
|
||||
#include <sys/stat.h>
|
||||
#include <getopt.h>
|
||||
#include <assert.h>
|
||||
-#include <locale.h>
|
||||
|
||||
#include <alsa/asoundlib.h>
|
||||
#include <alsa/topology.h>
|
||||
#include "gettext.h"
|
||||
+#ifdef ENABLE_NLS
|
||||
+#include <locale.h>
|
||||
+#endif
|
||||
#include "version.h"
|
||||
#include "topology.h"
|
||||
|
||||
--
|
||||
2.35.3
|
||||
|
@ -1,109 +0,0 @@
|
||||
From c08d580b281bd5965585bf09b45ba3a582202931 Mon Sep 17 00:00:00 2001
|
||||
From: Sam James <sam@gentoo.org>
|
||||
Date: Thu, 7 Sep 2023 21:24:16 +0100
|
||||
Subject: [PATCH] nhlt: use stdint.h types
|
||||
|
||||
u_int_* aren't standard, but uint* are. Use those instead for musl compat.
|
||||
|
||||
Closes: https://github.com/alsa-project/alsa-utils/pull/234
|
||||
Bug: https://bugs.gentoo.org/913758
|
||||
Signed-off-by: Sam James <sam@gentoo.org>
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
nhlt/nhlt-dmic-info.c | 28 ++++++++++++++--------------
|
||||
1 file changed, 14 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/nhlt/nhlt-dmic-info.c b/nhlt/nhlt-dmic-info.c
|
||||
index 331555a82677..eadf21a11bbc 100644
|
||||
--- a/nhlt/nhlt-dmic-info.c
|
||||
+++ b/nhlt/nhlt-dmic-info.c
|
||||
@@ -46,7 +46,7 @@ int debug = 0;
|
||||
#define NHLT_EP_HDR_SIZE (4 + 1 + 1 + 2 + 2 + 2 + 4 + 1 + 1 + 1)
|
||||
#define VENDOR_MIC_CFG_SIZE (1 + 1 + 2 + 2 + 2 + 1 + 1 + 2 + 2 + 2 + 2 + 2 + 2)
|
||||
|
||||
-static const char *microphone_type(u_int8_t type)
|
||||
+static const char *microphone_type(uint8_t type)
|
||||
{
|
||||
switch (type) {
|
||||
case 0: return "omnidirectional";
|
||||
@@ -60,7 +60,7 @@ static const char *microphone_type(u_int8_t type)
|
||||
return "unknown";
|
||||
}
|
||||
|
||||
-static const char *microphone_location(u_int8_t location)
|
||||
+static const char *microphone_location(uint8_t location)
|
||||
{
|
||||
switch (location) {
|
||||
case 0: return "laptop-top-panel";
|
||||
@@ -74,21 +74,21 @@ static const char *microphone_location(u_int8_t location)
|
||||
}
|
||||
|
||||
|
||||
-static inline u_int8_t get_u8(u_int8_t *base, u_int32_t off)
|
||||
+static inline uint8_t get_u8(uint8_t *base, uint32_t off)
|
||||
{
|
||||
return *(base + off);
|
||||
}
|
||||
|
||||
-static inline int32_t get_s16le(u_int8_t *base, u_int32_t off)
|
||||
+static inline int32_t get_s16le(uint8_t *base, uint32_t off)
|
||||
{
|
||||
- u_int32_t v = *(base + off + 0) |
|
||||
+ uint32_t v = *(base + off + 0) |
|
||||
(*(base + off + 1) << 8);
|
||||
if (v & 0x8000)
|
||||
return -((int32_t)0x10000 - (int32_t)v);
|
||||
return v;
|
||||
}
|
||||
|
||||
-static inline u_int32_t get_u32le(u_int8_t *base, u_int32_t off)
|
||||
+static inline uint32_t get_u32le(uint8_t *base, uint32_t off)
|
||||
{
|
||||
return *(base + off + 0) |
|
||||
(*(base + off + 1) << 8) |
|
||||
@@ -138,10 +138,10 @@ static int nhlt_dmic_config(FILE *out, uint8_t *dmic, uint8_t mic)
|
||||
return 0;
|
||||
}
|
||||
|
||||
-static int nhlt_dmic_ep_to_json(FILE *out, uint8_t *ep, u_int32_t ep_size)
|
||||
+static int nhlt_dmic_ep_to_json(FILE *out, uint8_t *ep, uint32_t ep_size)
|
||||
{
|
||||
- u_int32_t off, specific_cfg_size;
|
||||
- u_int8_t config_type, array_type, mic, num_mics;
|
||||
+ uint32_t off, specific_cfg_size;
|
||||
+ uint8_t config_type, array_type, mic, num_mics;
|
||||
int res;
|
||||
|
||||
off = NHLT_EP_HDR_SIZE;
|
||||
@@ -182,15 +182,15 @@ oob:
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
-static int nhlt_table_to_json(FILE *out, u_int8_t *nhlt, u_int32_t size)
|
||||
+static int nhlt_table_to_json(FILE *out, uint8_t *nhlt, uint32_t size)
|
||||
{
|
||||
- u_int32_t _size, off, ep_size;
|
||||
- u_int8_t sum = 0, ep, ep_count, link_type, dmics = 0;
|
||||
+ uint32_t _size, off, ep_size;
|
||||
+ uint8_t sum = 0, ep, ep_count, link_type, dmics = 0;
|
||||
int res;
|
||||
|
||||
_size = get_u32le(nhlt, 4);
|
||||
if (_size != size) {
|
||||
- fprintf(stderr, "Table size mismatch (%08x != %08x)\n", _size, (u_int32_t)size);
|
||||
+ fprintf(stderr, "Table size mismatch (%08x != %08x)\n", _size, (uint32_t)size);
|
||||
return -EINVAL;
|
||||
}
|
||||
for (off = 0; off < size; off++)
|
||||
@@ -232,7 +232,7 @@ oob:
|
||||
static int nhlt_to_json(FILE *out, const char *nhlt_file)
|
||||
{
|
||||
struct stat st;
|
||||
- u_int8_t *buf;
|
||||
+ uint8_t *buf;
|
||||
int _errno, fd, res;
|
||||
size_t pos, size;
|
||||
ssize_t ret;
|
||||
--
|
||||
2.35.3
|
||||
|
@ -1,32 +0,0 @@
|
||||
From 5ae01fcf270864d379eefd81f1abc5b71907a72b Mon Sep 17 00:00:00 2001
|
||||
From: Sam James <sam@gentoo.org>
|
||||
Date: Sat, 30 Sep 2023 10:09:46 +0100
|
||||
Subject: [PATCH] Revert "nhlt-dmic-info.c: include sys/types.h"
|
||||
|
||||
This reverts commit 0925ad7f09b2dc77015784f9ac2f5e34dd0dd5c3.
|
||||
|
||||
This isn't necessary now that we use standard types (sys/types.h just
|
||||
defines some compatibility typedefs).
|
||||
|
||||
Closes: https://github.com/alsa-project/alsa-utils/pull/234
|
||||
Signed-off-by: Sam James <sam@gentoo.org>
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
nhlt/nhlt-dmic-info.c | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/nhlt/nhlt-dmic-info.c b/nhlt/nhlt-dmic-info.c
|
||||
index eadf21a11bbc..f1b085742510 100644
|
||||
--- a/nhlt/nhlt-dmic-info.c
|
||||
+++ b/nhlt/nhlt-dmic-info.c
|
||||
@@ -33,7 +33,6 @@
|
||||
#include <fcntl.h>
|
||||
#include <getopt.h>
|
||||
#include <sys/stat.h>
|
||||
-#include <sys/types.h>
|
||||
#include <arpa/inet.h>
|
||||
|
||||
int debug = 0;
|
||||
--
|
||||
2.35.3
|
||||
|
@ -1,451 +0,0 @@
|
||||
From 37447085c6fc975d191ecb508931a67bce79233d Mon Sep 17 00:00:00 2001
|
||||
From: Jaroslav Kysela <perex@perex.cz>
|
||||
Date: Tue, 17 Oct 2023 13:44:03 +0200
|
||||
Subject: [PATCH] aplay: use stdint.h types instead u_int/u_short/u_char
|
||||
|
||||
Closes: https://github.com/alsa-project/alsa-utils/pull/234
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
aplay/aplay.c | 92 ++++++++++++++++++++++++-------------------------
|
||||
aplay/formats.h | 70 ++++++++++++++++++-------------------
|
||||
2 files changed, 81 insertions(+), 81 deletions(-)
|
||||
|
||||
diff --git a/aplay/aplay.c b/aplay/aplay.c
|
||||
index f180d42b5516..9cf36dee2d9d 100644
|
||||
--- a/aplay/aplay.c
|
||||
+++ b/aplay/aplay.c
|
||||
@@ -29,6 +29,7 @@
|
||||
#define _GNU_SOURCE
|
||||
#include "aconfig.h"
|
||||
#include <stdio.h>
|
||||
+#include <stdint.h>
|
||||
#if HAVE_MALLOC_H
|
||||
#include <malloc.h>
|
||||
#endif
|
||||
@@ -50,7 +51,6 @@
|
||||
#include <sys/uio.h>
|
||||
#include <sys/time.h>
|
||||
#include <sys/stat.h>
|
||||
-#include <sys/types.h>
|
||||
#include <endian.h>
|
||||
#include "gettext.h"
|
||||
#include "formats.h"
|
||||
@@ -114,7 +114,7 @@ static int mmap_flag = 0;
|
||||
static int interleaved = 1;
|
||||
static int nonblock = 0;
|
||||
static volatile sig_atomic_t in_aborting = 0;
|
||||
-static u_char *audiobuf = NULL;
|
||||
+static uint8_t *audiobuf = NULL;
|
||||
static snd_pcm_uframes_t chunk_size = 0;
|
||||
static unsigned period_time = 0;
|
||||
static unsigned buffer_time = 0;
|
||||
@@ -859,7 +859,7 @@ int main(int argc, char *argv[])
|
||||
chunk_size = 1024;
|
||||
hwparams = rhwparams;
|
||||
|
||||
- audiobuf = (u_char *)malloc(1024);
|
||||
+ audiobuf = (uint8_t *)malloc(1024);
|
||||
if (audiobuf == NULL) {
|
||||
error(_("not enough memory"));
|
||||
return 1;
|
||||
@@ -970,7 +970,7 @@ static int test_vocfile(void *buffer)
|
||||
* helper for test_wavefile
|
||||
*/
|
||||
|
||||
-static size_t test_wavefile_read(int fd, u_char *buffer, size_t *size, size_t reqsize, int line)
|
||||
+static size_t test_wavefile_read(int fd, uint8_t *buffer, size_t *size, size_t reqsize, int line)
|
||||
{
|
||||
if (*size >= reqsize)
|
||||
return *size;
|
||||
@@ -995,17 +995,17 @@ static size_t test_wavefile_read(int fd, u_char *buffer, size_t *size, size_t re
|
||||
* == 0 if not
|
||||
* Value returned is bytes to be discarded.
|
||||
*/
|
||||
-static ssize_t test_wavefile(int fd, u_char *_buffer, size_t size)
|
||||
+static ssize_t test_wavefile(int fd, uint8_t *_buffer, size_t size)
|
||||
{
|
||||
WaveHeader *h = (WaveHeader *)_buffer;
|
||||
- u_char *buffer = NULL;
|
||||
+ uint8_t *buffer = NULL;
|
||||
size_t blimit = 0;
|
||||
WaveFmtBody *f;
|
||||
WaveChunkHeader *c;
|
||||
- u_int type, len;
|
||||
+ uint32_t type, len;
|
||||
unsigned short format, channels;
|
||||
int big_endian, native_format;
|
||||
- u_char vbps = 0;
|
||||
+ uint8_t vbps = 0;
|
||||
|
||||
if (size < sizeof(WaveHeader))
|
||||
return -1;
|
||||
@@ -1044,7 +1044,7 @@ static ssize_t test_wavefile(int fd, u_char *_buffer, size_t size)
|
||||
|
||||
if (len < sizeof(WaveFmtBody)) {
|
||||
error(_("unknown length of 'fmt ' chunk (read %u, should be %u at least)"),
|
||||
- len, (u_int)sizeof(WaveFmtBody));
|
||||
+ len, (uint32_t)sizeof(WaveFmtBody));
|
||||
prg_exit(EXIT_FAILURE);
|
||||
}
|
||||
check_wavefile_space(buffer, len, blimit);
|
||||
@@ -1055,7 +1055,7 @@ static ssize_t test_wavefile(int fd, u_char *_buffer, size_t size)
|
||||
WaveFmtExtensibleBody *fe = (WaveFmtExtensibleBody*)buffer;
|
||||
if (len < sizeof(WaveFmtExtensibleBody)) {
|
||||
error(_("unknown length of extensible 'fmt ' chunk (read %u, should be %u at least)"),
|
||||
- len, (u_int)sizeof(WaveFmtExtensibleBody));
|
||||
+ len, (unsigned int)sizeof(WaveFmtExtensibleBody));
|
||||
prg_exit(EXIT_FAILURE);
|
||||
}
|
||||
if (memcmp(fe->guid_tag, WAV_GUID_TAG, 14) != 0) {
|
||||
@@ -1167,7 +1167,7 @@ static ssize_t test_wavefile(int fd, u_char *_buffer, size_t size)
|
||||
size -= len;
|
||||
|
||||
while (1) {
|
||||
- u_int type, len;
|
||||
+ uint32_t type, len;
|
||||
|
||||
check_wavefile_space(buffer, sizeof(WaveChunkHeader), blimit);
|
||||
test_wavefile_read(fd, buffer, &size, sizeof(WaveChunkHeader), __LINE__);
|
||||
@@ -1809,7 +1809,7 @@ static void print_vu_meter(signed int *perc, signed int *maxperc)
|
||||
}
|
||||
|
||||
/* peak handler */
|
||||
-static void compute_max_peak(u_char *data, size_t samples)
|
||||
+static void compute_max_peak(uint8_t *data, size_t samples)
|
||||
{
|
||||
signed int val, max, perc[2], max_peak[2];
|
||||
static int run = 0;
|
||||
@@ -2054,9 +2054,9 @@ static void do_test_position(void)
|
||||
/*
|
||||
*/
|
||||
#ifdef CONFIG_SUPPORT_CHMAP
|
||||
-static u_char *remap_data(u_char *data, size_t count)
|
||||
+static uint8_t *remap_data(uint8_t *data, size_t count)
|
||||
{
|
||||
- static u_char *tmp, *src, *dst;
|
||||
+ static uint8_t *tmp, *src, *dst;
|
||||
static size_t tmp_size;
|
||||
size_t sample_bytes = bits_per_sample / 8;
|
||||
size_t step = bits_per_frame / 8;
|
||||
@@ -2090,9 +2090,9 @@ static u_char *remap_data(u_char *data, size_t count)
|
||||
return tmp;
|
||||
}
|
||||
|
||||
-static u_char **remap_datav(u_char **data, size_t count ATTRIBUTE_UNUSED)
|
||||
+static uint8_t **remap_datav(uint8_t **data, size_t count ATTRIBUTE_UNUSED)
|
||||
{
|
||||
- static u_char **tmp;
|
||||
+ static uint8_t **tmp;
|
||||
unsigned int ch;
|
||||
|
||||
if (!hw_map)
|
||||
@@ -2118,7 +2118,7 @@ static u_char **remap_datav(u_char **data, size_t count ATTRIBUTE_UNUSED)
|
||||
* write function
|
||||
*/
|
||||
|
||||
-static ssize_t pcm_write(u_char *data, size_t count)
|
||||
+static ssize_t pcm_write(uint8_t *data, size_t count)
|
||||
{
|
||||
ssize_t r;
|
||||
ssize_t result = 0;
|
||||
@@ -2157,7 +2157,7 @@ static ssize_t pcm_write(u_char *data, size_t count)
|
||||
return result;
|
||||
}
|
||||
|
||||
-static ssize_t pcm_writev(u_char **data, unsigned int channels, size_t count)
|
||||
+static ssize_t pcm_writev(uint8_t **data, unsigned int channels, size_t count)
|
||||
{
|
||||
ssize_t r;
|
||||
size_t result = 0;
|
||||
@@ -2210,7 +2210,7 @@ static ssize_t pcm_writev(u_char **data, unsigned int channels, size_t count)
|
||||
* read function
|
||||
*/
|
||||
|
||||
-static ssize_t pcm_read(u_char *data, size_t rcount)
|
||||
+static ssize_t pcm_read(uint8_t *data, size_t rcount)
|
||||
{
|
||||
ssize_t r;
|
||||
size_t result = 0;
|
||||
@@ -2252,7 +2252,7 @@ abort:
|
||||
return result > rcount ? rcount : result;
|
||||
}
|
||||
|
||||
-static ssize_t pcm_readv(u_char **data, unsigned int channels, size_t rcount)
|
||||
+static ssize_t pcm_readv(uint8_t **data, unsigned int channels, size_t rcount)
|
||||
{
|
||||
ssize_t r;
|
||||
size_t result = 0;
|
||||
@@ -2304,7 +2304,7 @@ abort:
|
||||
* ok, let's play a .voc file
|
||||
*/
|
||||
|
||||
-static ssize_t voc_pcm_write(u_char *data, size_t count)
|
||||
+static ssize_t voc_pcm_write(uint8_t *data, size_t count)
|
||||
{
|
||||
ssize_t result = count, r;
|
||||
size_t size;
|
||||
@@ -2329,9 +2329,9 @@ static ssize_t voc_pcm_write(u_char *data, size_t count)
|
||||
static void voc_write_silence(unsigned x)
|
||||
{
|
||||
unsigned l;
|
||||
- u_char *buf;
|
||||
+ uint8_t *buf;
|
||||
|
||||
- buf = (u_char *) malloc(chunk_bytes);
|
||||
+ buf = (uint8_t *) malloc(chunk_bytes);
|
||||
if (buf == NULL) {
|
||||
error(_("can't allocate buffer for silence"));
|
||||
return; /* not fatal error */
|
||||
@@ -2372,15 +2372,15 @@ static void voc_play(int fd, int ofs, char *name)
|
||||
VocVoiceData *vd;
|
||||
VocExtBlock *eb;
|
||||
size_t nextblock, in_buffer;
|
||||
- u_char *data, *buf;
|
||||
+ uint8_t *data, *buf;
|
||||
char was_extended = 0, output = 0;
|
||||
- u_short *sp, repeat = 0;
|
||||
+ uint16_t *sp, repeat = 0;
|
||||
off_t filepos = 0;
|
||||
|
||||
#define COUNT(x) nextblock -= x; in_buffer -= x; data += x
|
||||
#define COUNT1(x) in_buffer -= x; data += x
|
||||
|
||||
- data = buf = (u_char *)malloc(64 * 1024);
|
||||
+ data = buf = (uint8_t *)malloc(64 * 1024);
|
||||
buffer_pos = 0;
|
||||
if (data == NULL) {
|
||||
error(_("malloc error"));
|
||||
@@ -2472,8 +2472,8 @@ static void voc_play(int fd, int ofs, char *name)
|
||||
#endif
|
||||
break;
|
||||
case 3: /* a silence block, no data, only a count */
|
||||
- sp = (u_short *) data;
|
||||
- COUNT1(sizeof(u_short));
|
||||
+ sp = (uint16_t *) data;
|
||||
+ COUNT1(sizeof(uint16_t));
|
||||
hwparams.rate = (int) (*data);
|
||||
COUNT1(1);
|
||||
hwparams.rate = 1000000 / (256 - hwparams.rate);
|
||||
@@ -2488,8 +2488,8 @@ static void voc_play(int fd, int ofs, char *name)
|
||||
voc_write_silence(*sp);
|
||||
break;
|
||||
case 4: /* a marker for syncronisation, no effect */
|
||||
- sp = (u_short *) data;
|
||||
- COUNT1(sizeof(u_short));
|
||||
+ sp = (uint16_t *) data;
|
||||
+ COUNT1(sizeof(uint16_t));
|
||||
#if 0
|
||||
d_printf("Marker %d\n", *sp);
|
||||
#endif
|
||||
@@ -2503,8 +2503,8 @@ static void voc_play(int fd, int ofs, char *name)
|
||||
case 6: /* repeat marker, says repeatcount */
|
||||
/* my specs don't say it: maybe this can be recursive, but
|
||||
I don't think somebody use it */
|
||||
- repeat = *(u_short *) data;
|
||||
- COUNT1(sizeof(u_short));
|
||||
+ repeat = *(uint16_t *) data;
|
||||
+ COUNT1(sizeof(uint16_t));
|
||||
#if 0
|
||||
d_printf("Repeat loop %d times\n", repeat);
|
||||
#endif
|
||||
@@ -2649,14 +2649,14 @@ static void begin_voc(int fd, size_t cnt)
|
||||
}
|
||||
bt.type = 1;
|
||||
cnt += sizeof(VocVoiceData); /* Channel_data block follows */
|
||||
- bt.datalen = (u_char) (cnt & 0xFF);
|
||||
- bt.datalen_m = (u_char) ((cnt & 0xFF00) >> 8);
|
||||
- bt.datalen_h = (u_char) ((cnt & 0xFF0000) >> 16);
|
||||
+ bt.datalen = (uint8_t) (cnt & 0xFF);
|
||||
+ bt.datalen_m = (uint8_t) ((cnt & 0xFF00) >> 8);
|
||||
+ bt.datalen_h = (uint8_t) ((cnt & 0xFF0000) >> 16);
|
||||
if (xwrite(fd, &bt, sizeof(VocBlockType)) != sizeof(VocBlockType)) {
|
||||
error(_("write error"));
|
||||
prg_exit(EXIT_FAILURE);
|
||||
}
|
||||
- vd.tc = (u_char) (256 - (1000000 / hwparams.rate));
|
||||
+ vd.tc = (uint8_t) (256 - (1000000 / hwparams.rate));
|
||||
vd.pack = 0;
|
||||
if (xwrite(fd, &vd, sizeof(VocVoiceData)) != sizeof(VocVoiceData)) {
|
||||
error(_("write error"));
|
||||
@@ -2671,8 +2671,8 @@ static void begin_wave(int fd, size_t cnt)
|
||||
WaveFmtBody f;
|
||||
WaveChunkHeader cf, cd;
|
||||
int bits;
|
||||
- u_int tmp;
|
||||
- u_short tmp2;
|
||||
+ uint32_t tmp;
|
||||
+ uint16_t tmp2;
|
||||
|
||||
/* WAVE cannot handle greater than 32bit (signed?) int */
|
||||
if (cnt == (size_t)-2)
|
||||
@@ -2715,11 +2715,11 @@ static void begin_wave(int fd, size_t cnt)
|
||||
#if 0
|
||||
tmp2 = (samplesize == 8) ? 1 : 2;
|
||||
f.byte_p_spl = LE_SHORT(tmp2);
|
||||
- tmp = dsp_speed * hwparams.channels * (u_int) tmp2;
|
||||
+ tmp = dsp_speed * hwparams.channels * (uint32_t) tmp2;
|
||||
#else
|
||||
tmp2 = hwparams.channels * snd_pcm_format_physical_width(hwparams.format) / 8;
|
||||
f.byte_p_spl = LE_SHORT(tmp2);
|
||||
- tmp = (u_int) tmp2 * hwparams.rate;
|
||||
+ tmp = (uint32_t) tmp2 * hwparams.rate;
|
||||
#endif
|
||||
f.byte_p_sec = LE_INT(tmp);
|
||||
f.bit_p_spl = LE_SHORT(bits);
|
||||
@@ -2786,9 +2786,9 @@ static void end_voc(int fd)
|
||||
cnt += sizeof(VocVoiceData); /* Channel_data block follows */
|
||||
if (cnt > 0x00ffffff)
|
||||
cnt = 0x00ffffff;
|
||||
- bt.datalen = (u_char) (cnt & 0xFF);
|
||||
- bt.datalen_m = (u_char) ((cnt & 0xFF00) >> 8);
|
||||
- bt.datalen_h = (u_char) ((cnt & 0xFF0000) >> 16);
|
||||
+ bt.datalen = (uint8_t) (cnt & 0xFF);
|
||||
+ bt.datalen_m = (uint8_t) ((cnt & 0xFF00) >> 8);
|
||||
+ bt.datalen_h = (uint8_t) ((cnt & 0xFF0000) >> 16);
|
||||
if (lseek(fd, length_seek, SEEK_SET) == length_seek)
|
||||
xwrite(fd, &bt, sizeof(VocBlockType));
|
||||
}
|
||||
@@ -2798,7 +2798,7 @@ static void end_wave(int fd)
|
||||
WaveChunkHeader cd;
|
||||
off_t length_seek;
|
||||
off_t filelen;
|
||||
- u_int rifflen;
|
||||
+ uint32_t rifflen;
|
||||
|
||||
length_seek = sizeof(WaveHeader) +
|
||||
sizeof(WaveChunkHeader) +
|
||||
@@ -3339,7 +3339,7 @@ static void playbackv_go(int* fds, unsigned int channels, size_t loaded, off_t c
|
||||
size_t vsize;
|
||||
|
||||
unsigned int channel;
|
||||
- u_char *bufs[channels];
|
||||
+ uint8_t *bufs[channels];
|
||||
|
||||
header(rtype, names[0]);
|
||||
set_params();
|
||||
@@ -3393,7 +3393,7 @@ static void capturev_go(int* fds, unsigned int channels, off_t count, int rtype,
|
||||
ssize_t r;
|
||||
unsigned int channel;
|
||||
size_t vsize;
|
||||
- u_char *bufs[channels];
|
||||
+ uint8_t *bufs[channels];
|
||||
|
||||
header(rtype, names[0]);
|
||||
set_params();
|
||||
diff --git a/aplay/formats.h b/aplay/formats.h
|
||||
index 093ab809382e..d82505e4626f 100644
|
||||
--- a/aplay/formats.h
|
||||
+++ b/aplay/formats.h
|
||||
@@ -17,28 +17,28 @@
|
||||
((u_long)(bp->datalen_h) << 16) )
|
||||
|
||||
typedef struct voc_header {
|
||||
- u_char magic[20]; /* must be MAGIC_STRING */
|
||||
- u_short headerlen; /* Headerlength, should be 0x1A */
|
||||
- u_short version; /* VOC-file version */
|
||||
- u_short coded_ver; /* 0x1233-version */
|
||||
+ uint8_t magic[20]; /* must be MAGIC_STRING */
|
||||
+ uint16_t headerlen; /* Headerlength, should be 0x1A */
|
||||
+ uint16_t version; /* VOC-file version */
|
||||
+ uint16_t coded_ver; /* 0x1233-version */
|
||||
} VocHeader;
|
||||
|
||||
typedef struct voc_blocktype {
|
||||
- u_char type;
|
||||
- u_char datalen; /* low-byte */
|
||||
- u_char datalen_m; /* medium-byte */
|
||||
- u_char datalen_h; /* high-byte */
|
||||
+ uint8_t type;
|
||||
+ uint8_t datalen; /* low-byte */
|
||||
+ uint8_t datalen_m; /* medium-byte */
|
||||
+ uint8_t datalen_h; /* high-byte */
|
||||
} VocBlockType;
|
||||
|
||||
typedef struct voc_voice_data {
|
||||
- u_char tc;
|
||||
- u_char pack;
|
||||
+ uint8_t tc;
|
||||
+ uint8_t pack;
|
||||
} VocVoiceData;
|
||||
|
||||
typedef struct voc_ext_block {
|
||||
- u_short tc;
|
||||
- u_char pack;
|
||||
- u_char mode;
|
||||
+ uint16_t tc;
|
||||
+ uint8_t pack;
|
||||
+ uint8_t mode;
|
||||
} VocExtBlock;
|
||||
|
||||
/* Definitions for Microsoft WAVE format */
|
||||
@@ -85,32 +85,32 @@ typedef struct voc_ext_block {
|
||||
it works on all WAVE-file I have
|
||||
*/
|
||||
typedef struct {
|
||||
- u_int magic; /* 'RIFF' */
|
||||
- u_int length; /* filelen */
|
||||
- u_int type; /* 'WAVE' */
|
||||
+ uint32_t magic; /* 'RIFF' */
|
||||
+ uint32_t length; /* filelen */
|
||||
+ uint32_t type; /* 'WAVE' */
|
||||
} WaveHeader;
|
||||
|
||||
typedef struct {
|
||||
- u_short format; /* see WAV_FMT_* */
|
||||
- u_short channels;
|
||||
- u_int sample_fq; /* frequence of sample */
|
||||
- u_int byte_p_sec;
|
||||
- u_short byte_p_spl; /* samplesize; 1 or 2 bytes */
|
||||
- u_short bit_p_spl; /* 8, 12 or 16 bit */
|
||||
+ uint16_t format; /* see WAV_FMT_* */
|
||||
+ uint16_t channels;
|
||||
+ uint32_t sample_fq; /* frequence of sample */
|
||||
+ uint32_t byte_p_sec;
|
||||
+ uint16_t byte_p_spl; /* samplesize; 1 or 2 bytes */
|
||||
+ uint16_t bit_p_spl; /* 8, 12 or 16 bit */
|
||||
} WaveFmtBody;
|
||||
|
||||
typedef struct {
|
||||
WaveFmtBody format;
|
||||
- u_short ext_size;
|
||||
- u_short bit_p_spl;
|
||||
- u_int channel_mask;
|
||||
- u_short guid_format; /* WAV_FMT_* */
|
||||
- u_char guid_tag[14]; /* WAV_GUID_TAG */
|
||||
+ uint16_t ext_size;
|
||||
+ uint16_t bit_p_spl;
|
||||
+ uint32_t channel_mask;
|
||||
+ uint16_t guid_format; /* WAV_FMT_* */
|
||||
+ uint8_t guid_tag[14]; /* WAV_GUID_TAG */
|
||||
} WaveFmtExtensibleBody;
|
||||
|
||||
typedef struct {
|
||||
- u_int type; /* 'data' */
|
||||
- u_int length; /* samplecount */
|
||||
+ uint32_t type; /* 'data' */
|
||||
+ uint32_t length; /* samplecount */
|
||||
} WaveChunkHeader;
|
||||
|
||||
/* Definitions for Sparc .au header */
|
||||
@@ -122,12 +122,12 @@ typedef struct {
|
||||
#define AU_FMT_LIN16 3
|
||||
|
||||
typedef struct au_header {
|
||||
- u_int magic; /* '.snd' */
|
||||
- u_int hdr_size; /* size of header (min 24) */
|
||||
- u_int data_size; /* size of data */
|
||||
- u_int encoding; /* see to AU_FMT_XXXX */
|
||||
- u_int sample_rate; /* sample rate */
|
||||
- u_int channels; /* number of channels (voices) */
|
||||
+ uint32_t magic; /* '.snd' */
|
||||
+ uint32_t hdr_size; /* size of header (min 24) */
|
||||
+ uint32_t data_size; /* size of data */
|
||||
+ uint32_t encoding; /* see to AU_FMT_XXXX */
|
||||
+ uint32_t sample_rate; /* sample rate */
|
||||
+ uint32_t channels; /* number of channels (voices) */
|
||||
} AuHeader;
|
||||
|
||||
#endif /* FORMATS */
|
||||
--
|
||||
2.35.3
|
||||
|
@ -1,28 +0,0 @@
|
||||
From b5591747fd432d6289c9594a481982a77d357ed5 Mon Sep 17 00:00:00 2001
|
||||
From: Jaroslav Kysela <perex@perex.cz>
|
||||
Date: Wed, 15 Nov 2023 15:02:31 +0100
|
||||
Subject: [PATCH] alsa-restore.rules: use devnode instead number atribute
|
||||
|
||||
Fixes: https://github.com/alsa-project/alsa-utils/issues/244
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
alsactl/90-alsa-restore.rules.in | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/alsactl/90-alsa-restore.rules.in b/alsactl/90-alsa-restore.rules.in
|
||||
index c0c1b232bb38..1a411c994870 100644
|
||||
--- a/alsactl/90-alsa-restore.rules.in
|
||||
+++ b/alsactl/90-alsa-restore.rules.in
|
||||
@@ -2,7 +2,7 @@ ACTION=="add", SUBSYSTEM=="sound", KERNEL=="controlC*", KERNELS!="card*", TEST==
|
||||
GOTO="alsa_restore_end"
|
||||
|
||||
LABEL="alsa_restore_go"
|
||||
-TEST!="@daemonswitch@", RUN+="@sbindir@/alsactl restore $attr{device/number}"
|
||||
-TEST=="@daemonswitch@", RUN+="@sbindir@/alsactl nrestore $attr{device/number}"
|
||||
+TEST!="@daemonswitch@", RUN+="@sbindir@/alsactl restore $devnode"
|
||||
+TEST=="@daemonswitch@", RUN+="@sbindir@/alsactl nrestore $devnode"
|
||||
|
||||
LABEL="alsa_restore_end"
|
||||
--
|
||||
2.35.3
|
||||
|
@ -1,43 +0,0 @@
|
||||
From 8f3d84ba19a45411f08bae13ee4dcd8329aa9438 Mon Sep 17 00:00:00 2001
|
||||
From: Andy Ross <andyross@google.com>
|
||||
Date: Thu, 7 Dec 2023 09:17:57 -0800
|
||||
Subject: [PATCH] nhlt: Revert SSP_ANALOG device_type field
|
||||
|
||||
This partially reverts commit 3a47ef2487ed ("topology: nhlt: intel:
|
||||
support more device types and directions"), which changed the default
|
||||
device_type in the endpoint descriptor from zero to SSP_ANALOG.
|
||||
|
||||
This change breaks the Linux kernel NHLT parser (which AFAICT doesn't
|
||||
recognize SSP_ANALOG at all), producing errors like:
|
||||
|
||||
[56458.583812] sof-audio-pci-intel-mtl 0000:00:1f.3: no matching blob for sample rate: 48000 sample width: 32 channels: 2
|
||||
[56458.583833] sof-audio-pci-intel-mtl 0000:00:1f.3: failed to prepare widget dai-copier.SSP.SSP0-Codec.playback
|
||||
[56458.583840] sof-audio-pci-intel-mtl 0000:00:1f.3: Failed to prepare connected widgets
|
||||
[56458.583847] sof-audio-pci-intel-mtl 0000:00:1f.3: error: failed widget list set up for pcm 1 dir 0
|
||||
[56458.583853] sof-audio-pci-intel-mtl 0000:00:1f.3: ASoC: error at snd_soc_pcm_component_hw_params on 0000:00:1f.3: -22
|
||||
|
||||
Revert for compatibility.
|
||||
|
||||
Fixes: https://github.com/alsa-project/alsa-utils/pull/248
|
||||
Signed-off-by: Andy Ross <andyross@google.com>
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
topology/nhlt/intel/ssp/ssp-process.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/topology/nhlt/intel/ssp/ssp-process.c b/topology/nhlt/intel/ssp/ssp-process.c
|
||||
index 17b88d2b712b..d8fbba43f4c7 100644
|
||||
--- a/topology/nhlt/intel/ssp/ssp-process.c
|
||||
+++ b/topology/nhlt/intel/ssp/ssp-process.c
|
||||
@@ -783,7 +783,7 @@ int ssp_get_params(struct intel_nhlt_params *nhlt, int dai_index, uint32_t *virt
|
||||
if (ssp->ssp_prm[dai_index].quirks & SSP_INTEL_QUIRK_BT_SIDEBAND)
|
||||
*device_type = NHLT_DEVICE_TYPE_SSP_BT_SIDEBAND;
|
||||
else
|
||||
- *device_type = NHLT_DEVICE_TYPE_SSP_ANALOG;
|
||||
+ *device_type = 0;
|
||||
if (ssp->ssp_prm[dai_index].quirks & SSP_INTEL_QUIRK_RENDER_FEEDBACK) {
|
||||
if (*direction == NHLT_ENDPOINT_DIRECTION_RENDER)
|
||||
*direction = NHLT_ENDPOINT_DIRECTION_RENDER_WITH_LOOPBACK;
|
||||
--
|
||||
2.35.3
|
||||
|
@ -1,31 +0,0 @@
|
||||
From 004d085c675c56f866f008dbf712ee7503de5b27 Mon Sep 17 00:00:00 2001
|
||||
From: Mingjie Shen <shen497@purdue.edu>
|
||||
Date: Wed, 6 Dec 2023 16:49:26 -0500
|
||||
Subject: [PATCH] alsactl: fix potential buffer overwrite
|
||||
|
||||
The 'call to sprintf' operation on line 413 requires 21 bytes
|
||||
but the destination is only 16 bytes.
|
||||
|
||||
Fixes: https://github.com/alsa-project/alsa-utils/pull/247
|
||||
Signed-off-by: Mingjie Shen <shen497@purdue.edu>
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
alsactl/alsactl.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/alsactl/alsactl.c b/alsactl/alsactl.c
|
||||
index a854c0bdc16f..8ad991a0f36b 100644
|
||||
--- a/alsactl/alsactl.c
|
||||
+++ b/alsactl/alsactl.c
|
||||
@@ -242,7 +242,7 @@ int main(int argc, char *argv[])
|
||||
char *cfgfile = SYS_ASOUNDRC;
|
||||
char *initfile = DATADIR "/init/00main";
|
||||
char *pidfile = SYS_PIDFILE;
|
||||
- char *cardname, ncardname[16];
|
||||
+ char *cardname, ncardname[21];
|
||||
char *cmd;
|
||||
char *const *extra_args;
|
||||
const char *const *tmp;
|
||||
--
|
||||
2.35.3
|
||||
|
@ -1,70 +0,0 @@
|
||||
From 4ce6a0a4af518700c3e44257af5f44ff24d58fc9 Mon Sep 17 00:00:00 2001
|
||||
From: Mingjie Shen <shen497@purdue.edu>
|
||||
Date: Wed, 6 Dec 2023 16:09:58 -0500
|
||||
Subject: [PATCH] aplay: fix buffer overflow and tainted format string
|
||||
|
||||
Prior this commit, memcpy from names[0] to format[] will overwrite if
|
||||
strlen(names[0]) is greater than 1024. Also, the length of malloc()ed
|
||||
names[channel] is insufficient, leading to another buffer overwriting
|
||||
when calling sprintf(). Moreover, the format string of sprintf()
|
||||
can be controlled by user input. An attacker can exploit this weakness
|
||||
to crash the program, disclose information or even execute arbitrary
|
||||
code.
|
||||
|
||||
Fix by allocating enough space for arrays and using constant expressions
|
||||
as the format strings.
|
||||
|
||||
Fixes: https://github.com/alsa-project/alsa-utils/pull/246/
|
||||
Signed-off-by: Mingjie Shen <shen497@purdue.edu>
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
aplay/aplay.c | 20 ++++++++++----------
|
||||
1 file changed, 10 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/aplay/aplay.c b/aplay/aplay.c
|
||||
index 9cf36dee2d9d..f1c27b6c4929 100644
|
||||
--- a/aplay/aplay.c
|
||||
+++ b/aplay/aplay.c
|
||||
@@ -3436,14 +3436,14 @@ static void playbackv(char **names, unsigned int count)
|
||||
|
||||
if (count == 1 && channels > 1) {
|
||||
size_t len = strlen(names[0]);
|
||||
- char format[1024];
|
||||
- memcpy(format, names[0], len);
|
||||
- strcpy(format + len, ".%d");
|
||||
- len += 4;
|
||||
+ char buf[len + 1];
|
||||
+ strcpy(buf, names[0]);
|
||||
+ /* 1 for "." + 3 for channel (<= 256) + 1 for null terminator */
|
||||
+ len += 5;
|
||||
names = malloc(sizeof(*names) * channels);
|
||||
for (channel = 0; channel < channels; ++channel) {
|
||||
names[channel] = malloc(len);
|
||||
- sprintf(names[channel], format, channel);
|
||||
+ snprintf(names[channel], len, "%s.%d", buf, channel);
|
||||
}
|
||||
alloced = 1;
|
||||
} else if (count != channels) {
|
||||
@@ -3489,14 +3489,14 @@ static void capturev(char **names, unsigned int count)
|
||||
|
||||
if (count == 1) {
|
||||
size_t len = strlen(names[0]);
|
||||
- char format[1024];
|
||||
- memcpy(format, names[0], len);
|
||||
- strcpy(format + len, ".%d");
|
||||
- len += 4;
|
||||
+ char buf[len + 1];
|
||||
+ strcpy(buf, names[0]);
|
||||
+ /* 1 for "." + 3 for channel (<= 256) + 1 for null terminator */
|
||||
+ len += 5;
|
||||
names = malloc(sizeof(*names) * channels);
|
||||
for (channel = 0; channel < channels; ++channel) {
|
||||
names[channel] = malloc(len);
|
||||
- sprintf(names[channel], format, channel);
|
||||
+ snprintf(names[channel], len, "%s.%d", buf, channel);
|
||||
}
|
||||
alloced = 1;
|
||||
} else if (count != channels) {
|
||||
--
|
||||
2.35.3
|
||||
|
@ -1,102 +0,0 @@
|
||||
From edff9652c050935ad7a0131b5585b4dad5e42296 Mon Sep 17 00:00:00 2001
|
||||
From: Tianyi Liu <i.pear@outlook.com>
|
||||
Date: Tue, 21 Nov 2023 23:19:35 +0800
|
||||
Subject: [PATCH] misc: fix incorrect usages of `strerror`
|
||||
|
||||
`strerror` takes the `errno` directly as its argument,
|
||||
negating it will result in an "Unknown error".
|
||||
|
||||
This fixes such usages across multiple modules.
|
||||
|
||||
Fixes: https://github.com/alsa-project/alsa-utils/pull/245
|
||||
Signed-off-by: Tianyi Liu <i.pear@outlook.com>
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
alsaucm/usecase.c | 2 +-
|
||||
nhlt/nhlt-dmic-info.c | 2 +-
|
||||
topology/topology.c | 12 ++++++------
|
||||
3 files changed, 8 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/alsaucm/usecase.c b/alsaucm/usecase.c
|
||||
index a5c815591dca..0aea84c6cd1e 100644
|
||||
--- a/alsaucm/usecase.c
|
||||
+++ b/alsaucm/usecase.c
|
||||
@@ -510,7 +510,7 @@ int main(int argc, char *argv[])
|
||||
in = fopen(context->batch, "r");
|
||||
if (in == NULL) {
|
||||
fprintf(stderr, "%s: error failed to open file '%s': %s\n",
|
||||
- command, context->batch, strerror(-errno));
|
||||
+ command, context->batch, strerror(errno));
|
||||
my_exit(context, EXIT_FAILURE);
|
||||
}
|
||||
}
|
||||
diff --git a/nhlt/nhlt-dmic-info.c b/nhlt/nhlt-dmic-info.c
|
||||
index f1b085742510..f08dc85d02eb 100644
|
||||
--- a/nhlt/nhlt-dmic-info.c
|
||||
+++ b/nhlt/nhlt-dmic-info.c
|
||||
@@ -404,7 +404,7 @@ int main(int argc, char *argv[])
|
||||
output = fopen(output_file, "w+");
|
||||
if (output == NULL) {
|
||||
fprintf(stderr, "Unable to create output file \"%s\": %s\n",
|
||||
- output_file, strerror(-errno));
|
||||
+ output_file, strerror(errno));
|
||||
res = EXIT_FAILURE;
|
||||
goto out;
|
||||
}
|
||||
diff --git a/topology/topology.c b/topology/topology.c
|
||||
index 98b000aa5031..9752f8889367 100644
|
||||
--- a/topology/topology.c
|
||||
+++ b/topology/topology.c
|
||||
@@ -96,7 +96,7 @@ static int load(const char *source_file, void **dst, size_t *dst_size)
|
||||
fd = open(source_file, O_RDONLY);
|
||||
if (fd < 0) {
|
||||
fprintf(stderr, _("Unable to open input file '%s': %s\n"),
|
||||
- source_file, strerror(-errno));
|
||||
+ source_file, strerror(errno));
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
@@ -120,7 +120,7 @@ static int load(const char *source_file, void **dst, size_t *dst_size)
|
||||
buf = buf2;
|
||||
}
|
||||
if (r < 0) {
|
||||
- fprintf(stderr, _("Read error: %s\n"), strerror(-errno));
|
||||
+ fprintf(stderr, _("Read error: %s\n"), strerror(errno));
|
||||
goto _err;
|
||||
}
|
||||
|
||||
@@ -177,7 +177,7 @@ static int save(const char *output_file, void *buf, size_t size)
|
||||
fd = open(fname, O_RDWR | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH);
|
||||
if (fd < 0) {
|
||||
fprintf(stderr, _("Unable to open output file '%s': %s\n"),
|
||||
- fname, strerror(-errno));
|
||||
+ fname, strerror(errno));
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
@@ -194,11 +194,11 @@ static int save(const char *output_file, void *buf, size_t size)
|
||||
}
|
||||
|
||||
if (r < 0) {
|
||||
- fprintf(stderr, _("Write error: %s\n"), strerror(-errno));
|
||||
+ fprintf(stderr, _("Write error: %s\n"), strerror(errno));
|
||||
if (fd != fileno(stdout)) {
|
||||
if (fname && remove(fname))
|
||||
fprintf(stderr, _("Unable to remove file %s: %s\n"),
|
||||
- fname, strerror(-errno));
|
||||
+ fname, strerror(errno));
|
||||
close(fd);
|
||||
}
|
||||
return 1;
|
||||
@@ -209,7 +209,7 @@ static int save(const char *output_file, void *buf, size_t size)
|
||||
|
||||
if (fname && rename(fname, output_file)) {
|
||||
fprintf(stderr, _("Unable to rename file '%s' to '%s': %s\n"),
|
||||
- fname, output_file, strerror(-errno));
|
||||
+ fname, output_file, strerror(errno));
|
||||
return 1;
|
||||
}
|
||||
|
||||
--
|
||||
2.35.3
|
||||
|
@ -1,97 +0,0 @@
|
||||
From d55cd9fcd9e96e96b27bea778c70dd4459e6d2a3 Mon Sep 17 00:00:00 2001
|
||||
From: Cezary Rojewski <cezary.rojewski@intel.com>
|
||||
Date: Fri, 4 Aug 2023 10:26:50 +0200
|
||||
Subject: [PATCH] aplay: Add option for specifying subformat
|
||||
|
||||
Make subformat first-class citizen by allowing users to specify it just
|
||||
like it is the case for the format. Default to SND_PCM_SUBFORMAT_STD so
|
||||
they are no surprises.
|
||||
|
||||
Closes: https://github.com/alsa-project/alsa-utils/pull/228
|
||||
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
aplay/aplay.c | 18 ++++++++++++++++++
|
||||
1 file changed, 18 insertions(+)
|
||||
|
||||
diff --git a/aplay/aplay.c b/aplay/aplay.c
|
||||
index f1c27b6c4929..03443df52d33 100644
|
||||
--- a/aplay/aplay.c
|
||||
+++ b/aplay/aplay.c
|
||||
@@ -101,6 +101,7 @@ static char *command;
|
||||
static snd_pcm_t *handle;
|
||||
static struct {
|
||||
snd_pcm_format_t format;
|
||||
+ snd_pcm_subformat_t subformat;
|
||||
unsigned int channels;
|
||||
unsigned int rate;
|
||||
} hwparams, rhwparams;
|
||||
@@ -216,6 +217,7 @@ _("Usage: %s [OPTION]... [FILE]...\n"
|
||||
"-t, --file-type TYPE file type (voc, wav, raw or au)\n"
|
||||
"-c, --channels=# channels\n"
|
||||
"-f, --format=FORMAT sample format (case insensitive)\n"
|
||||
+" --subformat=SUBFORMAT sample subformat (case insensitive)\n"
|
||||
"-r, --rate=# sample rate\n"
|
||||
"-d, --duration=# interrupt after # seconds\n"
|
||||
"-s, --samples=# interrupt after # samples per channel\n"
|
||||
@@ -434,6 +436,7 @@ enum {
|
||||
OPT_USE_STRFTIME,
|
||||
OPT_DUMP_HWPARAMS,
|
||||
OPT_FATAL_ERRORS,
|
||||
+ OPT_SUBFORMAT,
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -491,6 +494,7 @@ int main(int argc, char *argv[])
|
||||
{"file-type", 1, 0, 't'},
|
||||
{"channels", 1, 0, 'c'},
|
||||
{"format", 1, 0, 'f'},
|
||||
+ {"subformat", 1, 0, OPT_SUBFORMAT},
|
||||
{"rate", 1, 0, 'r'},
|
||||
{"duration", 1, 0 ,'d'},
|
||||
{"samples", 1, 0, 's'},
|
||||
@@ -566,6 +570,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
chunk_size = -1;
|
||||
rhwparams.format = DEFAULT_FORMAT;
|
||||
+ rhwparams.subformat = SND_PCM_SUBFORMAT_STD;
|
||||
rhwparams.rate = DEFAULT_SPEED;
|
||||
rhwparams.channels = 1;
|
||||
|
||||
@@ -635,6 +640,13 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
}
|
||||
break;
|
||||
+ case OPT_SUBFORMAT:
|
||||
+ rhwparams.subformat = snd_pcm_subformat_value(optarg);
|
||||
+ if (rhwparams.subformat == SND_PCM_SUBFORMAT_UNKNOWN) {
|
||||
+ error(_("wrong extended subformat '%s'"), optarg);
|
||||
+ prg_exit(EXIT_FAILURE);
|
||||
+ }
|
||||
+ break;
|
||||
case 'r':
|
||||
tmp = parse_long(optarg, &err);
|
||||
if (err < 0) {
|
||||
@@ -1372,6 +1384,11 @@ static void set_params(void)
|
||||
show_available_sample_formats(params);
|
||||
prg_exit(EXIT_FAILURE);
|
||||
}
|
||||
+ err = snd_pcm_hw_params_set_subformat(handle, params, hwparams.subformat);
|
||||
+ if (err < 0) {
|
||||
+ error(_("Sample subformat not available"));
|
||||
+ prg_exit(EXIT_FAILURE);
|
||||
+ }
|
||||
err = snd_pcm_hw_params_set_channels(handle, params, hwparams.channels);
|
||||
if (err < 0) {
|
||||
error(_("Channels count non available"));
|
||||
@@ -2404,6 +2421,7 @@ static void voc_play(int fd, int ofs, char *name)
|
||||
}
|
||||
}
|
||||
hwparams.format = DEFAULT_FORMAT;
|
||||
+ hwparams.subformat = SND_PCM_SUBFORMAT_STD;
|
||||
hwparams.channels = 1;
|
||||
hwparams.rate = DEFAULT_SPEED;
|
||||
set_params();
|
||||
--
|
||||
2.35.3
|
||||
|
@ -1,30 +0,0 @@
|
||||
From 8e6351f19d803e969c5d2fc874033f3cf68b89c4 Mon Sep 17 00:00:00 2001
|
||||
From: Jaroslav Kysela <perex@perex.cz>
|
||||
Date: Tue, 12 Dec 2023 13:47:03 +0100
|
||||
Subject: [PATCH] aplay: allow to compile with older alsa-lib (subformat)
|
||||
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
aplay/aplay.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/aplay/aplay.c b/aplay/aplay.c
|
||||
index 03443df52d33..fc4bac697226 100644
|
||||
--- a/aplay/aplay.c
|
||||
+++ b/aplay/aplay.c
|
||||
@@ -641,8 +641,12 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
break;
|
||||
case OPT_SUBFORMAT:
|
||||
+#if SND_LIB_VER(1, 2, 10) < SND_LIB_VERSION
|
||||
rhwparams.subformat = snd_pcm_subformat_value(optarg);
|
||||
if (rhwparams.subformat == SND_PCM_SUBFORMAT_UNKNOWN) {
|
||||
+#else
|
||||
+ if (strcasecmp(optarg, "std") != 0 && strcasecmp(optarg, "standard") != 0) {
|
||||
+#endif
|
||||
error(_("wrong extended subformat '%s'"), optarg);
|
||||
prg_exit(EXIT_FAILURE);
|
||||
}
|
||||
--
|
||||
2.35.3
|
||||
|
@ -1,50 +0,0 @@
|
||||
From 6e9be2a3f356d79da3b71c9244d4c809baf38e52 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
|
||||
Date: Fri, 27 Oct 2023 15:05:06 -0500
|
||||
Subject: [PATCH] aplay: log pcm status before reporting a fatal error
|
||||
|
||||
When the --fatal-errors happen, nothing is provided to the user even
|
||||
when the '-v' verbose option is specified. This patch adds the fatal
|
||||
error exit after dumping the logs. No functionality change, just
|
||||
better information on what just happened.
|
||||
|
||||
Closes: https://github.com/alsa-project/alsa-utils/pull/242
|
||||
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
aplay/aplay.c | 12 ++++++------
|
||||
1 file changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/aplay/aplay.c b/aplay/aplay.c
|
||||
index fc4bac697226..ed58a1ec8c7f 100644
|
||||
--- a/aplay/aplay.c
|
||||
+++ b/aplay/aplay.c
|
||||
@@ -1677,12 +1677,6 @@ static void xrun(void)
|
||||
prg_exit(EXIT_FAILURE);
|
||||
}
|
||||
if (snd_pcm_status_get_state(status) == SND_PCM_STATE_XRUN) {
|
||||
- if (fatal_errors) {
|
||||
- error(_("fatal %s: %s"),
|
||||
- stream == SND_PCM_STREAM_PLAYBACK ? _("underrun") : _("overrun"),
|
||||
- snd_strerror(res));
|
||||
- prg_exit(EXIT_FAILURE);
|
||||
- }
|
||||
if (monotonic) {
|
||||
#ifdef HAVE_CLOCK_GETTIME
|
||||
struct timespec now, diff, tstamp;
|
||||
@@ -1708,6 +1702,12 @@ static void xrun(void)
|
||||
fprintf(stderr, _("Status:\n"));
|
||||
snd_pcm_status_dump(status, log);
|
||||
}
|
||||
+ if (fatal_errors) {
|
||||
+ error(_("fatal %s: %s"),
|
||||
+ stream == SND_PCM_STREAM_PLAYBACK ? _("underrun") : _("overrun"),
|
||||
+ snd_strerror(res));
|
||||
+ prg_exit(EXIT_FAILURE);
|
||||
+ }
|
||||
if ((res = snd_pcm_prepare(handle))<0) {
|
||||
error(_("xrun: prepare error: %s"), snd_strerror(res));
|
||||
prg_exit(EXIT_FAILURE);
|
||||
--
|
||||
2.35.3
|
||||
|
@ -1,65 +0,0 @@
|
||||
From 35f45c50eeb779724f882c4e98a279934e1e3140 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
|
||||
Date: Fri, 27 Oct 2023 15:09:56 -0500
|
||||
Subject: [PATCH] aplay: enable timestamps by default
|
||||
|
||||
When the '-v' or '--test-position' options are used, the 'tstamp' is
|
||||
shown as zero. Unconditionally enable the timestamps and choose the
|
||||
timestamp time based on the 'monotonic' variable.
|
||||
|
||||
Example log:
|
||||
|
||||
Status(R/W) (standalone avail=36 delay=924):
|
||||
state : RUNNING
|
||||
trigger_time: 2045.504937
|
||||
tstamp : 2190.754602
|
||||
delay : 924
|
||||
avail : 36
|
||||
avail_max : 444
|
||||
Status(R/W) (standalone avail=44 delay=912):
|
||||
state : RUNNING
|
||||
trigger_time: 2045.504937
|
||||
tstamp : 2190.754852
|
||||
delay : 912
|
||||
avail : 48
|
||||
avail_max : 48
|
||||
underrun!!! (at least 471.161 ms long)
|
||||
Status:
|
||||
state : XRUN
|
||||
trigger_time: 2190.786234
|
||||
tstamp : 2191.257392
|
||||
delay : 0
|
||||
avail : 1412
|
||||
avail_max : 1412
|
||||
aplay: xrun:1690: fatal underrun: Success
|
||||
|
||||
Closes: https://github.com/alsa-project/alsa-utils/pull/242
|
||||
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
aplay/aplay.c | 9 +++++++++
|
||||
1 file changed, 9 insertions(+)
|
||||
|
||||
diff --git a/aplay/aplay.c b/aplay/aplay.c
|
||||
index ed58a1ec8c7f..2a75de72523d 100644
|
||||
--- a/aplay/aplay.c
|
||||
+++ b/aplay/aplay.c
|
||||
@@ -1494,6 +1494,15 @@ static void set_params(void)
|
||||
err = snd_pcm_sw_params_set_stop_threshold(handle, swparams, stop_threshold);
|
||||
assert(err >= 0);
|
||||
|
||||
+ err = snd_pcm_sw_params_set_tstamp_mode(handle, swparams, SND_PCM_TSTAMP_ENABLE);
|
||||
+ assert(err >= 0);
|
||||
+
|
||||
+ if (monotonic)
|
||||
+ err = snd_pcm_sw_params_set_tstamp_type(handle, swparams, SND_PCM_TSTAMP_TYPE_MONOTONIC);
|
||||
+ else
|
||||
+ err = snd_pcm_sw_params_set_tstamp_type(handle, swparams, SND_PCM_TSTAMP_TYPE_GETTIMEOFDAY);
|
||||
+ assert(err >= 0);
|
||||
+
|
||||
if (snd_pcm_sw_params(handle, swparams) < 0) {
|
||||
error(_("unable to install sw params:"));
|
||||
snd_pcm_sw_params_dump(swparams, log);
|
||||
--
|
||||
2.35.3
|
||||
|
@ -1,43 +0,0 @@
|
||||
From 827905c002dad40a7821a55b570aeaf55b4f1614 Mon Sep 17 00:00:00 2001
|
||||
From: Jaroslav Kysela <perex@perex.cz>
|
||||
Date: Tue, 12 Dec 2023 15:07:06 +0100
|
||||
Subject: [PATCH] aplay: status dumps are called only in verbose mode
|
||||
|
||||
Do not enable timestamps for the normal operation.
|
||||
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
aplay/aplay.c | 16 +++++++++-------
|
||||
1 file changed, 9 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/aplay/aplay.c b/aplay/aplay.c
|
||||
index 2a75de72523d..6c5a07eff7d4 100644
|
||||
--- a/aplay/aplay.c
|
||||
+++ b/aplay/aplay.c
|
||||
@@ -1494,14 +1494,16 @@ static void set_params(void)
|
||||
err = snd_pcm_sw_params_set_stop_threshold(handle, swparams, stop_threshold);
|
||||
assert(err >= 0);
|
||||
|
||||
- err = snd_pcm_sw_params_set_tstamp_mode(handle, swparams, SND_PCM_TSTAMP_ENABLE);
|
||||
- assert(err >= 0);
|
||||
+ if (verbose) {
|
||||
+ err = snd_pcm_sw_params_set_tstamp_mode(handle, swparams, SND_PCM_TSTAMP_ENABLE);
|
||||
+ assert(err >= 0);
|
||||
|
||||
- if (monotonic)
|
||||
- err = snd_pcm_sw_params_set_tstamp_type(handle, swparams, SND_PCM_TSTAMP_TYPE_MONOTONIC);
|
||||
- else
|
||||
- err = snd_pcm_sw_params_set_tstamp_type(handle, swparams, SND_PCM_TSTAMP_TYPE_GETTIMEOFDAY);
|
||||
- assert(err >= 0);
|
||||
+ if (monotonic)
|
||||
+ err = snd_pcm_sw_params_set_tstamp_type(handle, swparams, SND_PCM_TSTAMP_TYPE_MONOTONIC);
|
||||
+ else
|
||||
+ err = snd_pcm_sw_params_set_tstamp_type(handle, swparams, SND_PCM_TSTAMP_TYPE_GETTIMEOFDAY);
|
||||
+ assert(err >= 0);
|
||||
+ }
|
||||
|
||||
if (snd_pcm_sw_params(handle, swparams) < 0) {
|
||||
error(_("unable to install sw params:"));
|
||||
--
|
||||
2.35.3
|
||||
|
@ -1,35 +0,0 @@
|
||||
From 4cb3e3a7b5b2347e87747a5544c1f4db62a7be53 Mon Sep 17 00:00:00 2001
|
||||
From: "John K. Luebs" <john@luebs.org>
|
||||
Date: Sun, 7 Jan 2024 13:33:33 -0600
|
||||
Subject: [PATCH] aplaymidi: Set event completely for tempo event
|
||||
|
||||
After UMP support was added in b399fb8 ev.type setting was inadvertently
|
||||
dropped in the code path handling tempo meta event.
|
||||
This is causing tempo meta events to not be handled at all.
|
||||
Moreover, snd_seq_ev_set_fixed is also missing so MIDI files with
|
||||
variable events such as SYSEX before the tempo meta event usually are
|
||||
causing a segfault.
|
||||
|
||||
Fixes: b399fb85a919 ("aplaymidi: Add UMP support")
|
||||
Closes: https://github.com/alsa-project/alsa-utils/issues/241
|
||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||
---
|
||||
seq/aplaymidi/aplaymidi.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/seq/aplaymidi/aplaymidi.c b/seq/aplaymidi/aplaymidi.c
|
||||
index a7293d31fb31..66038e278d4a 100644
|
||||
--- a/seq/aplaymidi/aplaymidi.c
|
||||
+++ b/seq/aplaymidi/aplaymidi.c
|
||||
@@ -819,6 +819,8 @@ static void play_midi(void)
|
||||
ev.time.tick = event->tick;
|
||||
ev.dest = ports[event->port];
|
||||
if (event->type == SND_SEQ_EVENT_TEMPO) {
|
||||
+ snd_seq_ev_set_fixed(&ev);
|
||||
+ ev.type = event->type;
|
||||
ev.dest.client = SND_SEQ_CLIENT_SYSTEM;
|
||||
ev.dest.port = SND_SEQ_PORT_SYSTEM_TIMER;
|
||||
ev.data.queue.queue = queue;
|
||||
--
|
||||
2.35.3
|
||||
|
BIN
alsa-utils-1.2.10.tar.bz2
(Stored with Git LFS)
BIN
alsa-utils-1.2.10.tar.bz2
(Stored with Git LFS)
Binary file not shown.
@ -1,16 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQIzBAABCAAdFiEE8E31BzesGohMSz1xg4BZbablnJEFAmTyDK4ACgkQg4BZbabl
|
||||
nJEUHg//SeLBeNwQTaOiPBcsDEa35WNSTpcXhpf+E4btdNaWlKnxD3sdXn2IdyP5
|
||||
kos7wbNLm+NGWuLoskAAx0wNjuXlXJAcAja7QH7Wyc1RXhSJZElP0IXQfXu86nDL
|
||||
DxsZmuCsxx6Ojm4olQ7SChKTnqwQcVDosHNLO03UzePFEIXn/F0kkt8JGAGn1sQ9
|
||||
oh9M/aKdvbaMOpBRrwZ4oLHnq+hhTFqxGG2kZmKiDG5fDc8DJeSH8ItkeB7CvSsz
|
||||
4nDE/4IUyTc7Hz27/BDQBEXD7hF4dgLiWsbbUhobspql+snK+ZjIQbDv1M/xwDN7
|
||||
wAwTB2gXBmw/htKukHllgfuUy1SR7e7imKVHsx+3M7pNRqwkNpcCdabwDYkJi8qJ
|
||||
zulZRneIp0H75pLVw+fd1diLEpfw7hFZF3hpQKZ/RvElQz/b6SGjZDAFFL9mW7/M
|
||||
zCNNcUm5hZNtf1LC2N/FHOhtwyvv9XAXOsf+2t1AmiQafPx29r+csgzHK3EoMsY5
|
||||
2xcjRkioNVHJGDNWGbh73YH1LiwFPdQPfFukLmFSfFKoXmkr4d17xHV5VMFx4ZB5
|
||||
cjUzN3F6XOn91Fqo2zFKp+oNQXsLWJlYqebolInInyH5eTzGv6kAgoQCebqzQdG6
|
||||
9aAuOTkv82Qxw3QpnxGwLTo8kiV0hQdokb61maTFGuW9Dz27wOU=
|
||||
=7Rxf
|
||||
-----END PGP SIGNATURE-----
|
3
alsa-utils-1.2.11.tar.bz2
Normal file
3
alsa-utils-1.2.11.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:9ac6ca3a883f151e568dcf979b8d2e5cbecc51b819bb0e6bb8a2e9b34cc428a7
|
||||
size 1627148
|
16
alsa-utils-1.2.11.tar.bz2.sig
Normal file
16
alsa-utils-1.2.11.tar.bz2.sig
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQIzBAABCAAdFiEE8E31BzesGohMSz1xg4BZbablnJEFAmW30X8ACgkQg4BZbabl
|
||||
nJFIUQ//ReAXGP3NpqM6rfUzmDcPb5cD5c3ojgeCAqNd0Hro/3DT8PDD6Sw8CqpU
|
||||
LNjge7XafVOsTtEr1GO7uubSYN8U9iUF6hd5aghmZtRS1BzZfVa7qzPpKSqvFoj0
|
||||
ZfmSMLqdihnkRM+F19WjRSS1yWO5vHMul/pQsCgyrz8/fjbSL1gTwIcYgx/oOgS3
|
||||
01rrt4+vbvpgvxcwbvHrDa9WQJBmz08aylpw0trKvq1W5o/NURIBxvA3IlxotnZP
|
||||
8t+3kkUjLDYmKfef9vUnnaI+kWDvnSrZeqCGIRNtFhcqv47F8wuIPNdXzrwwjapI
|
||||
MG9HVNROt2M6cJWEwMbhebrfeeOX7kvmSYITm8Uq41phBJ4XJ1diVNkK+6ij4FgP
|
||||
y966gtWHdsX6LEzuAAhZBSsF3ZWGnE8n2OQyLzfUh2q/a+rEH06JSZye9NXGL+hg
|
||||
VpwR+fgtSy/cPXcMGZA8iuqJbXt9jAl0Nk0HO2e/12RnaJx/WcE+sHm8scKe058F
|
||||
JsGhiGywjlwT0JYRcvfxuxwBqNu/lds/Ny78iBKEL+gPGMedc79h/EjLl2duD/qF
|
||||
kTd4YX57C4HHKmwUEd5gzWcNe7pO1Zja/70NjbjK2LdPYCIYGlLDYDPINlLXxiEl
|
||||
QAEpcrYHKByzWluy6dWCM4hV/tSu6e2vURvWjSntfHWZA9PVSsI=
|
||||
=FcCr
|
||||
-----END PGP SIGNATURE-----
|
@ -1,3 +1,44 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Feb 2 14:55:32 UTC 2024 - Takashi Iwai <tiwai@suse.com>
|
||||
|
||||
- Update to alsa-utils 1.2.11:
|
||||
* alsactl buffer overflow fix
|
||||
* alsatplg updates, NHLT ACPI parser updates
|
||||
* use smaller periods for speaker-test
|
||||
* add bandwidth-limited pink noise for speaker-test
|
||||
* aplay updates, including subformat extensions
|
||||
* compile warning fixes
|
||||
For details, see:
|
||||
https://www.alsa-project.org/wiki/Changes_v1.2.10_v1.2.11#alsa-utils
|
||||
- Drop obsoleted patches:
|
||||
0001-axfer-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
|
||||
0002-amidi-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
|
||||
0003-alsaloop-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch
|
||||
0004-bat-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
|
||||
0005-seq-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
|
||||
0006-alsaucm-use-ATTRIBUTE_UNUSED-instead-remove-argument.patch
|
||||
0007-topology-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch
|
||||
0008-topology-include-locale.h.patch
|
||||
0009-nhlt-dmic-info.c-include-sys-types.h.patch
|
||||
0010-topology-pre-processor-Add-support-for-enum-controls.patch
|
||||
0011-configure.ac-fix-UMP-support-detection.patch
|
||||
0012-bat-really-skip-analysis-of-the-first-period-and-upd.patch
|
||||
0013-topology-add-include-for-ENABLE_NLS-on-musl.patch
|
||||
0014-nhlt-use-stdint.h-types.patch
|
||||
0015-Revert-nhlt-dmic-info.c-include-sys-types.h.patch
|
||||
0016-aplay-use-stdint.h-types-instead-u_int-u_short-u_cha.patch
|
||||
0017-alsa-restore.rules-use-devnode-instead-number-atribu.patch
|
||||
0018-nhlt-Revert-SSP_ANALOG-device_type-field.patch
|
||||
0019-alsactl-fix-potential-buffer-overwrite.patch
|
||||
0020-aplay-fix-buffer-overflow-and-tainted-format-string.patch
|
||||
0021-misc-fix-incorrect-usages-of-strerror.patch
|
||||
0022-aplay-Add-option-for-specifying-subformat.patch
|
||||
0023-aplay-allow-to-compile-with-older-alsa-lib-subformat.patch
|
||||
0024-aplay-log-pcm-status-before-reporting-a-fatal-error.patch
|
||||
0025-aplay-enable-timestamps-by-default.patch
|
||||
0026-aplay-status-dumps-are-called-only-in-verbose-mode.patch
|
||||
0027-aplaymidi-Set-event-completely-for-tempo-event.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jan 8 09:12:41 UTC 2024 - Takashi Iwai <tiwai@suse.com>
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
#
|
||||
|
||||
|
||||
%define do_autoreconf 1
|
||||
%define do_autoreconf 0
|
||||
%define _udevdir %(pkg-config --variable=udevdir udev)
|
||||
%ifarch %ix86 x86_64 %arm aarch64 ppc64le riscv64
|
||||
%define enable_topology 1
|
||||
@ -25,7 +25,7 @@
|
||||
%endif
|
||||
|
||||
Name: alsa-utils
|
||||
Version: 1.2.10
|
||||
Version: 1.2.11
|
||||
Release: 0
|
||||
Summary: Advanced Linux Sound Architecture Utilities
|
||||
License: GPL-2.0-or-later
|
||||
@ -39,33 +39,7 @@ Source5: load-sound-modules.sh
|
||||
# from https://www.alsa-project.org/files/pub/gpg-release-key-v1.txt
|
||||
Source6: alsa-utils.keyring
|
||||
# upstream fixes
|
||||
Patch1: 0001-axfer-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
|
||||
Patch2: 0002-amidi-use-ATTRIBUTE_UNUSED-instead-remove-argument-n.patch
|
||||
Patch3: 0003-alsaloop-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch
|
||||
Patch4: 0004-bat-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
|
||||
Patch5: 0005-seq-use-ATTRIBUTE_UNUSED-instead-remove-argument-nam.patch
|
||||
Patch6: 0006-alsaucm-use-ATTRIBUTE_UNUSED-instead-remove-argument.patch
|
||||
Patch7: 0007-topology-use-ATTRIBUTE_UNUSED-instead-remove-argumen.patch
|
||||
Patch8: 0008-topology-include-locale.h.patch
|
||||
Patch9: 0009-nhlt-dmic-info.c-include-sys-types.h.patch
|
||||
Patch10: 0010-topology-pre-processor-Add-support-for-enum-controls.patch
|
||||
Patch11: 0011-configure.ac-fix-UMP-support-detection.patch
|
||||
Patch12: 0012-bat-really-skip-analysis-of-the-first-period-and-upd.patch
|
||||
Patch13: 0013-topology-add-include-for-ENABLE_NLS-on-musl.patch
|
||||
Patch14: 0014-nhlt-use-stdint.h-types.patch
|
||||
Patch15: 0015-Revert-nhlt-dmic-info.c-include-sys-types.h.patch
|
||||
Patch16: 0016-aplay-use-stdint.h-types-instead-u_int-u_short-u_cha.patch
|
||||
Patch17: 0017-alsa-restore.rules-use-devnode-instead-number-atribu.patch
|
||||
Patch18: 0018-nhlt-Revert-SSP_ANALOG-device_type-field.patch
|
||||
Patch19: 0019-alsactl-fix-potential-buffer-overwrite.patch
|
||||
Patch20: 0020-aplay-fix-buffer-overflow-and-tainted-format-string.patch
|
||||
Patch21: 0021-misc-fix-incorrect-usages-of-strerror.patch
|
||||
Patch22: 0022-aplay-Add-option-for-specifying-subformat.patch
|
||||
Patch23: 0023-aplay-allow-to-compile-with-older-alsa-lib-subformat.patch
|
||||
Patch24: 0024-aplay-log-pcm-status-before-reporting-a-fatal-error.patch
|
||||
Patch25: 0025-aplay-enable-timestamps-by-default.patch
|
||||
Patch26: 0026-aplay-status-dumps-are-called-only-in-verbose-mode.patch
|
||||
Patch27: 0027-aplaymidi-Set-event-completely-for-tempo-event.patch
|
||||
# downstream fixes
|
||||
Patch100: alsa-info-no-update-for-distro-script.patch
|
||||
Patch101: alsa-utils-configure-version-revert.patch
|
||||
BuildRequires: alsa-devel
|
||||
@ -110,33 +84,6 @@ and test audio before and after PM state changes.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
%patch7 -p1
|
||||
%patch8 -p1
|
||||
%patch9 -p1
|
||||
%patch10 -p1
|
||||
%patch11 -p1
|
||||
%patch12 -p1
|
||||
%patch13 -p1
|
||||
%patch14 -p1
|
||||
%patch15 -p1
|
||||
%patch16 -p1
|
||||
%patch17 -p1
|
||||
%patch18 -p1
|
||||
%patch19 -p1
|
||||
%patch20 -p1
|
||||
%patch21 -p1
|
||||
%patch22 -p1
|
||||
%patch23 -p1
|
||||
%patch24 -p1
|
||||
%patch25 -p1
|
||||
%patch26 -p1
|
||||
%patch27 -p1
|
||||
%patch100 -p1
|
||||
%if 0%{?do_autoreconf}
|
||||
%patch101 -p1
|
||||
|
Loading…
Reference in New Issue
Block a user