diff --git a/0001-pcm-direct-Add-generic-hw_ptr_alignment-function-for.patch b/0001-pcm-direct-Add-generic-hw_ptr_alignment-function-for.patch new file mode 100644 index 0000000..0b13840 --- /dev/null +++ b/0001-pcm-direct-Add-generic-hw_ptr_alignment-function-for.patch @@ -0,0 +1,137 @@ +From 63ba5243ab7a33b77be5b65c0a8a2a0d5e26983f Mon Sep 17 00:00:00 2001 +From: Vanitha Channaiah +Date: Wed, 15 May 2019 11:56:32 +0530 +Subject: [PATCH 01/25] pcm: direct: Add generic hw_ptr_alignment function for + dmix, dshare and dsnoop + +Move the code snd_pcm_direct_reset_slave_ptr() from pcm_dmix.c +to pcm_direct.c and its header so that the helper function can be +re-used by other direct-pcm plugins. +There is no change in the behavior or the functionality. + +Signed-off-by: Vanitha Channaiah +Signed-off-by: Takashi Iwai +--- + src/pcm/pcm_direct.c | 19 +++++++++++++++++++ + src/pcm/pcm_direct.h | 8 ++++++++ + src/pcm/pcm_dmix.c | 25 ++----------------------- + 3 files changed, 29 insertions(+), 23 deletions(-) + +diff --git a/src/pcm/pcm_direct.c b/src/pcm/pcm_direct.c +index 666a8ce5b130..411a035b32ed 100644 +--- a/src/pcm/pcm_direct.c ++++ b/src/pcm/pcm_direct.c +@@ -2040,3 +2040,22 @@ int snd_pcm_direct_parse_open_conf(snd_config_t *root, snd_config_t *conf, + + return 0; + } ++ ++void snd_pcm_direct_reset_slave_ptr(snd_pcm_t *pcm, snd_pcm_direct_t *dmix) ++{ ++ dmix->slave_appl_ptr = dmix->slave_hw_ptr = *dmix->spcm->hw.ptr; ++ ++ if (dmix->hw_ptr_alignment == SND_PCM_HW_PTR_ALIGNMENT_ROUNDUP || ++ (dmix->hw_ptr_alignment == SND_PCM_HW_PTR_ALIGNMENT_AUTO && ++ pcm->buffer_size <= pcm->period_size * 2)) ++ dmix->slave_appl_ptr = ++ ((dmix->slave_appl_ptr + dmix->slave_period_size - 1) / ++ dmix->slave_period_size) * dmix->slave_period_size; ++ else if (dmix->hw_ptr_alignment == SND_PCM_HW_PTR_ALIGNMENT_ROUNDDOWN || ++ (dmix->hw_ptr_alignment == SND_PCM_HW_PTR_ALIGNMENT_AUTO && ++ (dmix->slave_period_size * SEC_TO_MS) / ++ pcm->rate < LOW_LATENCY_PERIOD_TIME)) ++ dmix->slave_appl_ptr = dmix->slave_hw_ptr = ++ ((dmix->slave_hw_ptr / dmix->slave_period_size) * ++ dmix->slave_period_size); ++} +diff --git a/src/pcm/pcm_direct.h b/src/pcm/pcm_direct.h +index da5e280e711d..a71aab13afa9 100644 +--- a/src/pcm/pcm_direct.h ++++ b/src/pcm/pcm_direct.h +@@ -24,6 +24,11 @@ + + #define DIRECT_IPC_SEMS 1 + #define DIRECT_IPC_SEM_CLIENT 0 ++/* Seconds representing in Milli seconds */ ++#define SEC_TO_MS 1000 ++/* slave_period time for low latency requirements in ms */ ++#define LOW_LATENCY_PERIOD_TIME 10 ++ + + typedef void (mix_areas_t)(unsigned int size, + volatile void *dst, void *src, +@@ -257,6 +262,8 @@ struct snd_pcm_direct { + snd1_pcm_direct_get_chmap + #define snd_pcm_direct_set_chmap \ + snd1_pcm_direct_set_chmap ++#define snd_pcm_direct_reset_slave_ptr \ ++ snd1_pcm_direct_reset_slave_ptr + + int snd_pcm_direct_semaphore_create_or_connect(snd_pcm_direct_t *dmix); + +@@ -341,6 +348,7 @@ int snd_pcm_direct_slave_recover(snd_pcm_direct_t *direct); + int snd_pcm_direct_client_chk_xrun(snd_pcm_direct_t *direct, snd_pcm_t *pcm); + int snd_timer_async(snd_timer_t *timer, int sig, pid_t pid); + struct timespec snd_pcm_hw_fast_tstamp(snd_pcm_t *pcm); ++void snd_pcm_direct_reset_slave_ptr(snd_pcm_t *pcm, snd_pcm_direct_t *dmix); + + struct snd_pcm_direct_open_conf { + key_t ipc_key; +diff --git a/src/pcm/pcm_dmix.c b/src/pcm/pcm_dmix.c +index c5592cdba3c4..dcde40d9976e 100644 +--- a/src/pcm/pcm_dmix.c ++++ b/src/pcm/pcm_dmix.c +@@ -55,9 +55,6 @@ const char *_snd_module_pcm_dmix = ""; + #define STATE_RUN_PENDING 1024 + #endif + +-#define SEC_TO_MS 1000 /* Seconds representing in Milli seconds */ +-#define LOW_LATENCY_PERIOD_TIME 10 /* slave_period time for low latency requirements in ms */ +- + /* + * + */ +@@ -560,30 +557,12 @@ static int snd_pcm_dmix_hwsync(snd_pcm_t *pcm) + } + } + +-static void reset_slave_ptr(snd_pcm_t *pcm, snd_pcm_direct_t *dmix) +-{ +- dmix->slave_appl_ptr = dmix->slave_hw_ptr = *dmix->spcm->hw.ptr; +- +- if (dmix->hw_ptr_alignment == SND_PCM_HW_PTR_ALIGNMENT_ROUNDUP || +- (dmix->hw_ptr_alignment == SND_PCM_HW_PTR_ALIGNMENT_AUTO && +- pcm->buffer_size <= pcm->period_size * 2)) +- dmix->slave_appl_ptr = +- ((dmix->slave_appl_ptr + dmix->slave_period_size - 1) +- / dmix->slave_period_size) * dmix->slave_period_size; +- else if (dmix->hw_ptr_alignment == SND_PCM_HW_PTR_ALIGNMENT_ROUNDDOWN || +- (dmix->hw_ptr_alignment == SND_PCM_HW_PTR_ALIGNMENT_AUTO && +- (dmix->slave_period_size * SEC_TO_MS) / pcm->rate < LOW_LATENCY_PERIOD_TIME)) +- dmix->slave_appl_ptr = dmix->slave_hw_ptr = +- ((dmix->slave_hw_ptr / dmix->slave_period_size) * +- dmix->slave_period_size); +-} +- + static int snd_pcm_dmix_reset(snd_pcm_t *pcm) + { + snd_pcm_direct_t *dmix = pcm->private_data; + dmix->hw_ptr %= pcm->period_size; + dmix->appl_ptr = dmix->last_appl_ptr = dmix->hw_ptr; +- reset_slave_ptr(pcm, dmix); ++ snd_pcm_direct_reset_slave_ptr(pcm, dmix); + return 0; + } + +@@ -592,7 +571,7 @@ static int snd_pcm_dmix_start_timer(snd_pcm_t *pcm, snd_pcm_direct_t *dmix) + int err; + + snd_pcm_hwsync(dmix->spcm); +- reset_slave_ptr(pcm, dmix); ++ snd_pcm_direct_reset_slave_ptr(pcm, dmix); + err = snd_timer_start(dmix->timer); + if (err < 0) + return err; +-- +2.16.4 + diff --git a/0002-pcm-dshare-Added-hw_ptr_alignment-option-in-configur.patch b/0002-pcm-dshare-Added-hw_ptr_alignment-option-in-configur.patch new file mode 100644 index 0000000..dc244de --- /dev/null +++ b/0002-pcm-dshare-Added-hw_ptr_alignment-option-in-configur.patch @@ -0,0 +1,126 @@ +From 7265e603bf880a9ec2cd01c3cf2afbd7709e5af4 Mon Sep 17 00:00:00 2001 +From: Vanitha Channaiah +Date: Wed, 15 May 2019 11:56:33 +0530 +Subject: [PATCH 02/25] pcm: dshare: Added "hw_ptr_alignment" option in + configuration for alignment of slave pointers + +This change adapt the fix commit 6b058fda9dce +("pcm: dmix: Add option to allow alignment of slave pointers") +for dshare plugin + +Issue is that snd_pcm_wait() goes back to waiting because the hw_ptr +is not period aligned. Therefore snd_pcm_wait() will block for a longer +time as required. + +With these rcar driver changes the exact position of the dma is returned. +During snd_pcm_start they read hw_ptr as reference, and this hw_ptr +is now not period aligned, and is a little ahead over the period while it +is read. Therefore when the avail is calculated during snd_pcm_wait(), +it is missing the avail_min by a few frames. + +An additional option hw_ptr_alignment is provided to dshare configuration, +to allow the user to configure the slave application and hw pointer +alignment at startup + +Signed-off-by: Vanitha Channaiah +Signed-off-by: Takashi Iwai +--- + src/pcm/pcm_dshare.c | 40 +++++++++++++++++++++++++++++++++++----- + 1 file changed, 35 insertions(+), 5 deletions(-) + +diff --git a/src/pcm/pcm_dshare.c b/src/pcm/pcm_dshare.c +index f135b5dfce8b..cf8a8631dd5e 100644 +--- a/src/pcm/pcm_dshare.c ++++ b/src/pcm/pcm_dshare.c +@@ -333,16 +333,16 @@ static int snd_pcm_dshare_reset(snd_pcm_t *pcm) + snd_pcm_direct_t *dshare = pcm->private_data; + dshare->hw_ptr %= pcm->period_size; + dshare->appl_ptr = dshare->last_appl_ptr = dshare->hw_ptr; +- dshare->slave_appl_ptr = dshare->slave_hw_ptr = *dshare->spcm->hw.ptr; ++ snd_pcm_direct_reset_slave_ptr(pcm, dshare); + return 0; + } + +-static int snd_pcm_dshare_start_timer(snd_pcm_direct_t *dshare) ++static int snd_pcm_dshare_start_timer(snd_pcm_t *pcm, snd_pcm_direct_t *dshare) + { + int err; + + snd_pcm_hwsync(dshare->spcm); +- dshare->slave_appl_ptr = dshare->slave_hw_ptr = *dshare->spcm->hw.ptr; ++ snd_pcm_direct_reset_slave_ptr(pcm, dshare); + err = snd_timer_start(dshare->timer); + if (err < 0) + return err; +@@ -364,7 +364,8 @@ static int snd_pcm_dshare_start(snd_pcm_t *pcm) + else if (avail < 0) + return 0; + else { +- if ((err = snd_pcm_dshare_start_timer(dshare)) < 0) ++ err = snd_pcm_dshare_start_timer(pcm, dshare); ++ if (err < 0) + return err; + snd_pcm_dshare_sync_area(pcm); + } +@@ -547,7 +548,8 @@ static snd_pcm_sframes_t snd_pcm_dshare_mmap_commit(snd_pcm_t *pcm, + return 0; + snd_pcm_mmap_appl_forward(pcm, size); + if (dshare->state == STATE_RUN_PENDING) { +- if ((err = snd_pcm_dshare_start_timer(dshare)) < 0) ++ err = snd_pcm_dshare_start_timer(pcm, dshare); ++ if (err < 0) + return err; + } else if (dshare->state == SND_PCM_STATE_RUNNING || + dshare->state == SND_PCM_STATE_DRAINING) { +@@ -755,6 +757,7 @@ int snd_pcm_dshare_open(snd_pcm_t **pcmp, const char *name, + dshare->slowptr = opts->slowptr; + dshare->max_periods = opts->max_periods; + dshare->var_periodsize = opts->var_periodsize; ++ dshare->hw_ptr_alignment = opts->hw_ptr_alignment; + dshare->sync_ptr = snd_pcm_dshare_sync_ptr; + + retry: +@@ -912,6 +915,12 @@ pcm.name { + ipc_key INT # unique IPC key + ipc_key_add_uid BOOL # add current uid to unique IPC key + ipc_perm INT # IPC permissions (octal, default 0600) ++ hw_ptr_alignment STR # Slave application and hw pointer alignment type ++ # STR can be one of the below strings : ++ # no ++ # roundup ++ # rounddown ++ # auto (default) + slave STR + # or + slave { # Slave definition +@@ -936,6 +945,27 @@ pcm.name { + } + \endcode + ++hw_ptr_alignment specifies slave application and hw ++pointer alignment type. By default hw_ptr_alignment is auto. Below are ++the possible configurations: ++- no: minimal latency with minimal frames dropped at startup. But ++ wakeup of application (return from snd_pcm_wait() or poll()) can ++ take up to 2 * period. ++- roundup: It is guaranteed that all frames will be played at ++ startup. But the latency will increase upto period-1 frames. ++- rounddown: It is guaranteed that a wakeup will happen for each ++ period and frames can be written from application. But on startup ++ upto period-1 frames will be dropped. ++- auto: Selects the best approach depending on the used period and ++ buffer size. ++ If the application buffer size is < 2 * application period, ++ "roundup" will be selected to avoid under runs. If the slave_period ++ is < 10ms we could expect that there are low latency ++ requirements. Therefore "rounddown" will be chosen to avoid long ++ wakeup times. Such wakeup delay could otherwise end up with Xruns in ++ case of a dependency to another sound device (e.g. forwarding of ++ microphone to speaker). Else "no" will be chosen. ++ + \subsection pcm_plugins_dshare_funcref Function reference + +
    +-- +2.16.4 + diff --git a/0003-pcm-dsnoop-Added-hw_ptr_alignment-option-in-configur.patch b/0003-pcm-dsnoop-Added-hw_ptr_alignment-option-in-configur.patch new file mode 100644 index 0000000..9ad9921 --- /dev/null +++ b/0003-pcm-dsnoop-Added-hw_ptr_alignment-option-in-configur.patch @@ -0,0 +1,162 @@ +From 3ab798004733ce65bd5c7a48d650de3465825210 Mon Sep 17 00:00:00 2001 +From: Vanitha Channaiah +Date: Wed, 15 May 2019 11:56:34 +0530 +Subject: [PATCH 03/25] pcm: dsnoop: Added "hw_ptr_alignment" option in + configuration for slave pointer alignment + +This change adapt the fix commit 6b058fda9dce +("pcm: dmix: Add option to allow alignment of slave pointers") +for dsnoop plugin + +Issue is that snd_pcm_wait() goes back to waiting because the hw_ptr +is not period aligned. Therefore snd_pcm_wait() will block for a longer +time as required. + +With these rcar driver changes the exact position of the dma is returned. +During snd_pcm_start they read hw_ptr as reference, and this hw_ptr +is now not period aligned, and is a little ahead over the period while it +is read. Therefore when the avail is calculated during snd_pcm_wait(), +it is missing the avail_min by a few frames. + +An additional option hw_ptr_alignment is provided to dsnoop configuration, +to allow the user to configure the slave application and hw pointer +alignment at startup + +Signed-off-by: Vanitha Channaiah +Signed-off-by: Takashi Iwai +--- + src/pcm/pcm_direct.c | 1 - + src/pcm/pcm_dmix.c | 2 ++ + src/pcm/pcm_dshare.c | 2 ++ + src/pcm/pcm_dsnoop.c | 30 +++++++++++++++++++++++++++++- + 4 files changed, 33 insertions(+), 2 deletions(-) + +diff --git a/src/pcm/pcm_direct.c b/src/pcm/pcm_direct.c +index 411a035b32ed..54d99005461b 100644 +--- a/src/pcm/pcm_direct.c ++++ b/src/pcm/pcm_direct.c +@@ -2043,7 +2043,6 @@ int snd_pcm_direct_parse_open_conf(snd_config_t *root, snd_config_t *conf, + + void snd_pcm_direct_reset_slave_ptr(snd_pcm_t *pcm, snd_pcm_direct_t *dmix) + { +- dmix->slave_appl_ptr = dmix->slave_hw_ptr = *dmix->spcm->hw.ptr; + + if (dmix->hw_ptr_alignment == SND_PCM_HW_PTR_ALIGNMENT_ROUNDUP || + (dmix->hw_ptr_alignment == SND_PCM_HW_PTR_ALIGNMENT_AUTO && +diff --git a/src/pcm/pcm_dmix.c b/src/pcm/pcm_dmix.c +index dcde40d9976e..274726e47a7d 100644 +--- a/src/pcm/pcm_dmix.c ++++ b/src/pcm/pcm_dmix.c +@@ -562,6 +562,7 @@ static int snd_pcm_dmix_reset(snd_pcm_t *pcm) + snd_pcm_direct_t *dmix = pcm->private_data; + dmix->hw_ptr %= pcm->period_size; + dmix->appl_ptr = dmix->last_appl_ptr = dmix->hw_ptr; ++ dmix->slave_appl_ptr = dmix->slave_hw_ptr = *dmix->spcm->hw.ptr; + snd_pcm_direct_reset_slave_ptr(pcm, dmix); + return 0; + } +@@ -571,6 +572,7 @@ static int snd_pcm_dmix_start_timer(snd_pcm_t *pcm, snd_pcm_direct_t *dmix) + int err; + + snd_pcm_hwsync(dmix->spcm); ++ dmix->slave_appl_ptr = dmix->slave_hw_ptr = *dmix->spcm->hw.ptr; + snd_pcm_direct_reset_slave_ptr(pcm, dmix); + err = snd_timer_start(dmix->timer); + if (err < 0) +diff --git a/src/pcm/pcm_dshare.c b/src/pcm/pcm_dshare.c +index cf8a8631dd5e..b75809c8aa06 100644 +--- a/src/pcm/pcm_dshare.c ++++ b/src/pcm/pcm_dshare.c +@@ -333,6 +333,7 @@ static int snd_pcm_dshare_reset(snd_pcm_t *pcm) + snd_pcm_direct_t *dshare = pcm->private_data; + dshare->hw_ptr %= pcm->period_size; + dshare->appl_ptr = dshare->last_appl_ptr = dshare->hw_ptr; ++ dshare->slave_appl_ptr = dshare->slave_hw_ptr = *dshare->spcm->hw.ptr; + snd_pcm_direct_reset_slave_ptr(pcm, dshare); + return 0; + } +@@ -342,6 +343,7 @@ static int snd_pcm_dshare_start_timer(snd_pcm_t *pcm, snd_pcm_direct_t *dshare) + int err; + + snd_pcm_hwsync(dshare->spcm); ++ dshare->slave_appl_ptr = dshare->slave_hw_ptr = *dshare->spcm->hw.ptr; + snd_pcm_direct_reset_slave_ptr(pcm, dshare); + err = snd_timer_start(dshare->timer); + if (err < 0) +diff --git a/src/pcm/pcm_dsnoop.c b/src/pcm/pcm_dsnoop.c +index d08b6241ac19..58b1e5347836 100644 +--- a/src/pcm/pcm_dsnoop.c ++++ b/src/pcm/pcm_dsnoop.c +@@ -278,6 +278,7 @@ static int snd_pcm_dsnoop_reset(snd_pcm_t *pcm) + dsnoop->hw_ptr %= pcm->period_size; + dsnoop->appl_ptr = dsnoop->hw_ptr; + dsnoop->slave_appl_ptr = dsnoop->slave_hw_ptr; ++ snd_pcm_direct_reset_slave_ptr(pcm, dsnoop); + return 0; + } + +@@ -285,12 +286,13 @@ static int snd_pcm_dsnoop_start(snd_pcm_t *pcm) + { + snd_pcm_direct_t *dsnoop = pcm->private_data; + int err; +- ++ + if (dsnoop->state != SND_PCM_STATE_PREPARED) + return -EBADFD; + snd_pcm_hwsync(dsnoop->spcm); + snoop_timestamp(pcm); + dsnoop->slave_appl_ptr = dsnoop->slave_hw_ptr; ++ snd_pcm_direct_reset_slave_ptr(pcm, dsnoop); + err = snd_timer_start(dsnoop->timer); + if (err < 0) + return err; +@@ -627,6 +629,7 @@ int snd_pcm_dsnoop_open(snd_pcm_t **pcmp, const char *name, + dsnoop->max_periods = opts->max_periods; + dsnoop->var_periodsize = opts->var_periodsize; + dsnoop->sync_ptr = snd_pcm_dsnoop_sync_ptr; ++ dsnoop->hw_ptr_alignment = opts->hw_ptr_alignment; + + retry: + if (first_instance) { +@@ -771,6 +774,12 @@ pcm.name { + ipc_key INT # unique IPC key + ipc_key_add_uid BOOL # add current uid to unique IPC key + ipc_perm INT # IPC permissions (octal, default 0600) ++ hw_ptr_alignment STR # Slave application and hw pointer alignment type ++ # STR can be one of the below strings : ++ # no ++ # roundup ++ # rounddown ++ # auto (default) + slave STR + # or + slave { # Slave definition +@@ -795,6 +804,25 @@ pcm.name { + } + \endcode + ++hw_ptr_alignment specifies slave application and hw ++pointer alignment type. By default hw_ptr_alignment is auto. Below are ++the possible configurations: ++- no: minimal latency with minimal frames dropped at startup. But ++ wakeup of application (return from snd_pcm_wait() or poll()) can ++ take up to 2 * period. ++- roundup: It is guaranteed that all frames will be played at ++ startup. But the latency will increase upto period-1 frames. ++- rounddown: It is guaranteed that a wakeup will happen for each ++ period and frames can be written from application. But on startup ++ upto period-1 frames will be dropped. ++- auto: Selects the best approach depending on the used period and ++ buffer size. ++ If the application buffer size is < 2 * application period, ++ "roundup" will be selected to avoid over runs. If the slave_period ++ is < 10ms we could expect that there are low latency ++ requirements. Therefore "rounddown" will be chosen to avoid long ++ wakeup times. Else "no" will be chosen. ++ + \subsection pcm_plugins_dsnoop_funcref Function reference + +
      +-- +2.16.4 + diff --git a/0004-pcm-file-add-support-for-infile-reading-in-non-inter.patch b/0004-pcm-file-add-support-for-infile-reading-in-non-inter.patch new file mode 100644 index 0000000..d5610f4 --- /dev/null +++ b/0004-pcm-file-add-support-for-infile-reading-in-non-inter.patch @@ -0,0 +1,133 @@ +From 5f2e5af61b0b8cfbf310e8b1e08a034d993e432f Mon Sep 17 00:00:00 2001 +From: Adam Miartus +Date: Tue, 21 May 2019 15:32:47 +0200 +Subject: [PATCH 04/25] pcm: file: add support for infile reading in non + interleaved mode + +add helper function to copy input file data to buffer mapped by areas, +in case of an error, do not fill the areas, allowing device read buffer +to be provided to api caller + +previously unused rbuf variable is reused for this purpose + +Signed-off-by: Adam Miartus +Reviewed-by: Timo Wischer +Signed-off-by: Takashi Iwai +--- + src/pcm/pcm_file.c | 67 +++++++++++++++++++++++++++++++++++++++++++++--------- + 1 file changed, 56 insertions(+), 11 deletions(-) + +diff --git a/src/pcm/pcm_file.c b/src/pcm/pcm_file.c +index 3a19cef9597c..3c682659d5ec 100644 +--- a/src/pcm/pcm_file.c ++++ b/src/pcm/pcm_file.c +@@ -77,6 +77,7 @@ typedef struct { + snd_pcm_uframes_t appl_ptr; + snd_pcm_uframes_t file_ptr_bytes; + snd_pcm_uframes_t wbuf_size; ++ snd_pcm_uframes_t rbuf_size; + size_t wbuf_size_bytes; + size_t wbuf_used_bytes; + char *wbuf; +@@ -266,6 +267,39 @@ static int snd_pcm_file_open_output_file(snd_pcm_file_t *file) + return 0; + } + ++/* fill areas with data from input file, return bytes red */ ++static int snd_pcm_file_areas_read_infile(snd_pcm_t *pcm, ++ const snd_pcm_channel_area_t *areas, ++ snd_pcm_uframes_t offset, ++ snd_pcm_uframes_t frames) ++{ ++ snd_pcm_file_t *file = pcm->private_data; ++ snd_pcm_channel_area_t areas_if[pcm->channels]; ++ ssize_t bytes; ++ ++ if (file->ifd < 0) ++ return -EBADF; ++ ++ if (file->rbuf == NULL) ++ return -ENOMEM; ++ ++ if (file->rbuf_size < frames) { ++ SYSERR("requested more frames than pcm buffer"); ++ return -ENOMEM; ++ } ++ ++ bytes = read(file->ifd, file->rbuf, snd_pcm_frames_to_bytes(pcm, frames)); ++ if (bytes < 0) { ++ SYSERR("read from file failed, error: %d", bytes); ++ return bytes; ++ } ++ ++ snd_pcm_areas_from_buf(pcm, areas_if, file->rbuf); ++ snd_pcm_areas_copy(areas, offset, areas_if, 0, pcm->channels, snd_pcm_bytes_to_frames(pcm, bytes), pcm->format); ++ ++ return bytes; ++} ++ + static void setup_wav_header(snd_pcm_t *pcm, struct wav_fmt *fmt) + { + fmt->fmt = TO_LE16(0x01); +@@ -568,19 +602,19 @@ static snd_pcm_sframes_t snd_pcm_file_readn(snd_pcm_t *pcm, void **bufs, snd_pcm + { + snd_pcm_file_t *file = pcm->private_data; + snd_pcm_channel_area_t areas[pcm->channels]; +- snd_pcm_sframes_t n; ++ snd_pcm_sframes_t frames; + +- if (file->ifd >= 0) { +- SNDERR("DEBUG: Noninterleaved read not yet implemented.\n"); +- return 0; /* TODO: Noninterleaved read */ +- } ++ __snd_pcm_lock(pcm); ++ frames = _snd_pcm_readn(file->gen.slave, bufs, size); ++ if (frames <= 0) ++ return frames; + +- n = _snd_pcm_readn(file->gen.slave, bufs, size); +- if (n > 0) { +- snd_pcm_areas_from_bufs(pcm, areas, bufs); +- snd_pcm_file_add_frames(pcm, areas, 0, n); +- } +- return n; ++ snd_pcm_areas_from_bufs(pcm, areas, bufs); ++ snd_pcm_file_areas_read_infile(pcm, areas, 0, frames); ++ snd_pcm_file_add_frames(pcm, areas, 0, frames); ++ ++ __snd_pcm_unlock(pcm); ++ return frames; + } + + static snd_pcm_sframes_t snd_pcm_file_mmap_commit(snd_pcm_t *pcm, +@@ -609,9 +643,11 @@ static int snd_pcm_file_hw_free(snd_pcm_t *pcm) + free(file->wbuf); + free(file->wbuf_areas); + free(file->final_fname); ++ free(file->rbuf); + file->wbuf = NULL; + file->wbuf_areas = NULL; + file->final_fname = NULL; ++ file->rbuf = NULL; + return snd_pcm_hw_free(file->gen.slave); + } + +@@ -638,6 +674,15 @@ static int snd_pcm_file_hw_params(snd_pcm_t *pcm, snd_pcm_hw_params_t * params) + snd_pcm_file_hw_free(pcm); + return -ENOMEM; + } ++ assert(!file->rbuf); ++ file->rbuf_size = slave->buffer_size; ++ file->rbuf_size_bytes = snd_pcm_frames_to_bytes(slave, file->rbuf_size); ++ file->rbuf_used_bytes = 0; ++ file->rbuf = malloc(file->rbuf_size_bytes); ++ if (file->rbuf == NULL) { ++ snd_pcm_file_hw_free(pcm); ++ return -ENOMEM; ++ } + file->appl_ptr = file->file_ptr_bytes = 0; + for (channel = 0; channel < slave->channels; ++channel) { + snd_pcm_channel_area_t *a = &file->wbuf_areas[channel]; +-- +2.16.4 + diff --git a/0005-pcm-file-use-snd_pcm_file_areas_read_infile-for-read.patch b/0005-pcm-file-use-snd_pcm_file_areas_read_infile-for-read.patch new file mode 100644 index 0000000..2baf42b --- /dev/null +++ b/0005-pcm-file-use-snd_pcm_file_areas_read_infile-for-read.patch @@ -0,0 +1,64 @@ +From 349b42f5477c904fa3e10bac2fa2429fad2cbc65 Mon Sep 17 00:00:00 2001 +From: Adam Miartus +Date: Tue, 21 May 2019 15:33:08 +0200 +Subject: [PATCH 05/25] pcm: file: use snd_pcm_file_areas_read_infile for readi + +use previously introduced helper function, this commit unifies behavior +of readi and readn + +corner case behavior of readi is changed by this commit, previously, +in case 0 bytes were red from file (EOF), frames = 0 was returned, +signaling api user as if no data was red from slave, after the patch, +amount of frames red from slave with data red from slave stored in buffer +is returned when EOF is reached + +Signed-off-by: Adam Miartus +Reviewed-by: Timo Wischer +Signed-off-by: Takashi Iwai +--- + src/pcm/pcm_file.c | 27 +++++++++++++-------------- + 1 file changed, 13 insertions(+), 14 deletions(-) + +diff --git a/src/pcm/pcm_file.c b/src/pcm/pcm_file.c +index 3c682659d5ec..dcaa41d10e35 100644 +--- a/src/pcm/pcm_file.c ++++ b/src/pcm/pcm_file.c +@@ -579,22 +579,21 @@ static snd_pcm_sframes_t snd_pcm_file_readi(snd_pcm_t *pcm, void *buffer, snd_pc + { + snd_pcm_file_t *file = pcm->private_data; + snd_pcm_channel_area_t areas[pcm->channels]; +- snd_pcm_sframes_t n; ++ snd_pcm_sframes_t frames; ++ ++ __snd_pcm_lock(pcm); ++ ++ frames = _snd_pcm_readi(file->gen.slave, buffer, size); ++ if (frames <= 0) ++ return frames; + +- n = _snd_pcm_readi(file->gen.slave, buffer, size); +- if (n <= 0) +- return n; +- if (file->ifd >= 0) { +- __snd_pcm_lock(pcm); +- n = read(file->ifd, buffer, n * pcm->frame_bits / 8); +- __snd_pcm_unlock(pcm); +- if (n < 0) +- return n; +- n = n * 8 / pcm->frame_bits; +- } + snd_pcm_areas_from_buf(pcm, areas, buffer); +- snd_pcm_file_add_frames(pcm, areas, 0, n); +- return n; ++ snd_pcm_file_areas_read_infile(pcm, areas, 0, frames); ++ snd_pcm_file_add_frames(pcm, areas, 0, frames); ++ ++ __snd_pcm_unlock(pcm); ++ ++ return frames; + } + + /* locking */ +-- +2.16.4 + diff --git a/0006-pcm-file-add-missing-unlock-on-early-return.patch b/0006-pcm-file-add-missing-unlock-on-early-return.patch new file mode 100644 index 0000000..93c940d --- /dev/null +++ b/0006-pcm-file-add-missing-unlock-on-early-return.patch @@ -0,0 +1,42 @@ +From 33c7ea0865b7f87cef1c3d3e767734c0edd02e84 Mon Sep 17 00:00:00 2001 +From: Adam Miartus +Date: Thu, 23 May 2019 11:44:30 +0200 +Subject: [PATCH 06/25] pcm: file: add missing unlock on early return + +Signed-off-by: Adam Miartus +Signed-off-by: Takashi Iwai +--- + src/pcm/pcm_file.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/src/pcm/pcm_file.c b/src/pcm/pcm_file.c +index dcaa41d10e35..8e2c70b12ab1 100644 +--- a/src/pcm/pcm_file.c ++++ b/src/pcm/pcm_file.c +@@ -584,8 +584,10 @@ static snd_pcm_sframes_t snd_pcm_file_readi(snd_pcm_t *pcm, void *buffer, snd_pc + __snd_pcm_lock(pcm); + + frames = _snd_pcm_readi(file->gen.slave, buffer, size); +- if (frames <= 0) ++ if (frames <= 0) { ++ __snd_pcm_unlock(pcm); + return frames; ++ } + + snd_pcm_areas_from_buf(pcm, areas, buffer); + snd_pcm_file_areas_read_infile(pcm, areas, 0, frames); +@@ -605,8 +607,10 @@ static snd_pcm_sframes_t snd_pcm_file_readn(snd_pcm_t *pcm, void **bufs, snd_pcm + + __snd_pcm_lock(pcm); + frames = _snd_pcm_readn(file->gen.slave, bufs, size); +- if (frames <= 0) ++ if (frames <= 0) { ++ __snd_pcm_unlock(pcm); + return frames; ++ } + + snd_pcm_areas_from_bufs(pcm, areas, bufs); + snd_pcm_file_areas_read_infile(pcm, areas, 0, frames); +-- +2.16.4 + diff --git a/0007-ucm-Add-UCM-profile-for-CX2072X-codec-on-Baytrail-Ch.patch b/0007-ucm-Add-UCM-profile-for-CX2072X-codec-on-Baytrail-Ch.patch new file mode 100644 index 0000000..b3dd6a9 --- /dev/null +++ b/0007-ucm-Add-UCM-profile-for-CX2072X-codec-on-Baytrail-Ch.patch @@ -0,0 +1,301 @@ +From 108a2f43791fe769fd58726881b12ad908ebd2e0 Mon Sep 17 00:00:00 2001 +From: Takashi Iwai +Date: Thu, 18 Apr 2019 20:40:18 +0200 +Subject: [PATCH 07/25] ucm: Add UCM profile for CX2072X codec on + Baytrail/Cherrytrail profiles + +Adding a new Conexant CX2072X codec profile and reusing the existing +BYT/CHT platform snippets. + +Currently tested only on ASUS E200HA laptop. + +Signed-off-by: Takashi Iwai +--- + configure.ac | 2 ++ + src/conf/ucm/Makefile.am | 1 + + src/conf/ucm/bytcht-cx2072x/HiFi.conf | 24 ++++++++++++++++++++++++ + src/conf/ucm/bytcht-cx2072x/Makefile.am | 4 ++++ + src/conf/ucm/bytcht-cx2072x/bytcht-cx2072x.conf | 8 ++++++++ + src/conf/ucm/codecs/Makefile.am | 1 + + src/conf/ucm/codecs/cx2072x/DisableSeq.conf | 7 +++++++ + src/conf/ucm/codecs/cx2072x/EnableSeq.conf | 13 +++++++++++++ + src/conf/ucm/codecs/cx2072x/HeadPhones.conf | 24 ++++++++++++++++++++++++ + src/conf/ucm/codecs/cx2072x/HeadsetMic.conf | 25 +++++++++++++++++++++++++ + src/conf/ucm/codecs/cx2072x/InternalMic.conf | 24 ++++++++++++++++++++++++ + src/conf/ucm/codecs/cx2072x/Makefile.am | 6 ++++++ + src/conf/ucm/codecs/cx2072x/Speaker.conf | 23 +++++++++++++++++++++++ + 13 files changed, 162 insertions(+) + create mode 100644 src/conf/ucm/bytcht-cx2072x/HiFi.conf + create mode 100644 src/conf/ucm/bytcht-cx2072x/Makefile.am + create mode 100644 src/conf/ucm/bytcht-cx2072x/bytcht-cx2072x.conf + create mode 100644 src/conf/ucm/codecs/cx2072x/DisableSeq.conf + create mode 100644 src/conf/ucm/codecs/cx2072x/EnableSeq.conf + create mode 100644 src/conf/ucm/codecs/cx2072x/HeadPhones.conf + create mode 100644 src/conf/ucm/codecs/cx2072x/HeadsetMic.conf + create mode 100644 src/conf/ucm/codecs/cx2072x/InternalMic.conf + create mode 100644 src/conf/ucm/codecs/cx2072x/Makefile.am + create mode 100644 src/conf/ucm/codecs/cx2072x/Speaker.conf + +diff --git a/configure.ac b/configure.ac +index 0fb34de4fb65..2e955760a6c6 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -720,6 +720,7 @@ AC_OUTPUT(Makefile doc/Makefile doc/pictures/Makefile doc/doxygen.cfg \ + src/conf/ucm/ASUSTeKCOMPUTERINC.-T100HAN-1.0-T100HAN/Makefile \ + src/conf/ucm/broadwell-rt286/Makefile \ + src/conf/ucm/broxton-rt298/Makefile \ ++ src/conf/ucm/bytcht-cx2072x/Makefile \ + src/conf/ucm/bytcht-es8316/Makefile \ + src/conf/ucm/bytcht-es8316-mono-spk-in1-mic/Makefile \ + src/conf/ucm/bytcht-es8316-mono-spk-in2-mic/Makefile \ +@@ -765,6 +766,7 @@ AC_OUTPUT(Makefile doc/Makefile doc/pictures/Makefile doc/doxygen.cfg \ + src/conf/ucm/tegraalc5632/Makefile \ + src/conf/ucm/VEYRON-I2S/Makefile \ + src/conf/ucm/codecs/Makefile \ ++ src/conf/ucm/codecs/cx2072x/Makefile \ + src/conf/ucm/codecs/es8316/Makefile \ + src/conf/ucm/codecs/nau8824/Makefile \ + src/conf/ucm/codecs/rt5640/Makefile \ +diff --git a/src/conf/ucm/Makefile.am b/src/conf/ucm/Makefile.am +index e9f88ed683a2..02257048860f 100644 +--- a/src/conf/ucm/Makefile.am ++++ b/src/conf/ucm/Makefile.am +@@ -4,6 +4,7 @@ platforms \ + ASUSTeKCOMPUTERINC.-T100HAN-1.0-T100HAN \ + broadwell-rt286 \ + broxton-rt298 \ ++bytcht-cx2072x \ + bytcht-es8316 \ + bytcht-es8316-mono-spk-in1-mic \ + bytcht-es8316-mono-spk-in2-mic \ +diff --git a/src/conf/ucm/bytcht-cx2072x/HiFi.conf b/src/conf/ucm/bytcht-cx2072x/HiFi.conf +new file mode 100644 +index 000000000000..e9c1f7573d50 +--- /dev/null ++++ b/src/conf/ucm/bytcht-cx2072x/HiFi.conf +@@ -0,0 +1,24 @@ ++SectionVerb { ++ EnableSequence [ ++ cdev "hw:bytchtcx2072x" ++ ++ ++ ] ++ ++ DisableSequence [ ++ cdev "hw:bytchtcx2072x" ++ ++ ++ ] ++ ++ Value { ++ PlaybackPCM "hw:bytchtcx2072x" ++ CapturePCM "hw:bytchtcx2072x" ++ } ++} ++ ++ ++ ++ ++ ++ +diff --git a/src/conf/ucm/bytcht-cx2072x/Makefile.am b/src/conf/ucm/bytcht-cx2072x/Makefile.am +new file mode 100644 +index 000000000000..373b2a77079a +--- /dev/null ++++ b/src/conf/ucm/bytcht-cx2072x/Makefile.am +@@ -0,0 +1,4 @@ ++alsaconfigdir = @ALSA_CONFIG_DIR@ ++ucmdir = $(alsaconfigdir)/ucm/bytcht-cx2072x ++ucm_DATA = bytcht-cx2072x.conf HiFi.conf ++EXTRA_DIST = $(ucm_DATA) +diff --git a/src/conf/ucm/bytcht-cx2072x/bytcht-cx2072x.conf b/src/conf/ucm/bytcht-cx2072x/bytcht-cx2072x.conf +new file mode 100644 +index 000000000000..fce04456c678 +--- /dev/null ++++ b/src/conf/ucm/bytcht-cx2072x/bytcht-cx2072x.conf +@@ -0,0 +1,8 @@ ++SectionUseCase."HiFi" { ++ File "HiFi.conf" ++ Comment "Play HiFi quality Music" ++} ++ ++SectionDefaults [ ++ cdev "hw:bytchtcx2072x" ++] +diff --git a/src/conf/ucm/codecs/Makefile.am b/src/conf/ucm/codecs/Makefile.am +index f78fd0817f75..5987b9cf89a4 100644 +--- a/src/conf/ucm/codecs/Makefile.am ++++ b/src/conf/ucm/codecs/Makefile.am +@@ -1,4 +1,5 @@ + SUBDIRS=\ ++cx2072x \ + es8316 \ + rt5640 \ + rt5645 \ +diff --git a/src/conf/ucm/codecs/cx2072x/DisableSeq.conf b/src/conf/ucm/codecs/cx2072x/DisableSeq.conf +new file mode 100644 +index 000000000000..1e3d5489da3f +--- /dev/null ++++ b/src/conf/ucm/codecs/cx2072x/DisableSeq.conf +@@ -0,0 +1,7 @@ ++# Output Configuration ++cset "name='I2S DAC1L Switch' off" ++cset "name='I2S DAC1R Switch' off" ++ ++# Input Configuration ++cset "name='I2S ADC1L Switch' off" ++cset "name='I2S ADC1R Switch' off" +diff --git a/src/conf/ucm/codecs/cx2072x/EnableSeq.conf b/src/conf/ucm/codecs/cx2072x/EnableSeq.conf +new file mode 100644 +index 000000000000..fb8e3fe23c4d +--- /dev/null ++++ b/src/conf/ucm/codecs/cx2072x/EnableSeq.conf +@@ -0,0 +1,13 @@ ++# Disable all inputs / outputs ++cset "name='Ext Spk Switch' off" ++cset "name='Headphone Switch' off" ++cset "name='Headset Mic Switch' off" ++cset "name='Int Mic Switch' off" ++ ++# Output Configuration ++cset "name='I2S DAC1L Switch' on" ++cset "name='I2S DAC1R Switch' on" ++ ++# Input Configuration ++cset "name='I2S ADC1L Switch' on" ++cset "name='I2S ADC1R Switch' on" +diff --git a/src/conf/ucm/codecs/cx2072x/HeadPhones.conf b/src/conf/ucm/codecs/cx2072x/HeadPhones.conf +new file mode 100644 +index 000000000000..4e3ff950c130 +--- /dev/null ++++ b/src/conf/ucm/codecs/cx2072x/HeadPhones.conf +@@ -0,0 +1,24 @@ ++SectionDevice."Headphones" { ++ Comment "Headphones" ++ ++ ConflictingDevice [ ++ "Speaker" ++ ] ++ ++ EnableSequence [ ++ cdev "hw:bytchtcx2072x" ++ cset "name='Headphone Switch' on" ++ cset "name='PortA Out En Switch' on" ++ ] ++ ++ DisableSequence [ ++ cdev "hw:bytchtcx2072x" ++ cset "name='Headphone Switch' off" ++ cset "name='PortA Out En Switch' off" ++ ] ++ ++ Value { ++ PlaybackChannels "2" ++ JackControl "Headphone Jack" ++ } ++} +diff --git a/src/conf/ucm/codecs/cx2072x/HeadsetMic.conf b/src/conf/ucm/codecs/cx2072x/HeadsetMic.conf +new file mode 100644 +index 000000000000..26b8df160385 +--- /dev/null ++++ b/src/conf/ucm/codecs/cx2072x/HeadsetMic.conf +@@ -0,0 +1,25 @@ ++SectionDevice."HeadsetMic" { ++ Comment "Headset Microphone" ++ ++ ConflictingDevice [ ++ "InternalMic" ++ ] ++ ++ EnableSequence [ ++ cdev "hw:bytchtcx2072x" ++ cset "name='Headset Mic Switch' on" ++ cset "name='ADC1 Mux' 'PortD Switch'" ++ cset "name='PortD In En Switch' on" ++ ] ++ ++ DisableSequence [ ++ cdev "hw:bytchtcx2072x" ++ cset "name='Headset Mic Switch' off" ++ cset "name='PortD In En Switch' off" ++ ] ++ ++ Value { ++ CaptureChannels "2" ++ JackControl "Headset Mic Jack" ++ } ++} +diff --git a/src/conf/ucm/codecs/cx2072x/InternalMic.conf b/src/conf/ucm/codecs/cx2072x/InternalMic.conf +new file mode 100644 +index 000000000000..a3e14538fe58 +--- /dev/null ++++ b/src/conf/ucm/codecs/cx2072x/InternalMic.conf +@@ -0,0 +1,24 @@ ++SectionDevice."InternalMic" { ++ Comment "Internal Microphone" ++ ++ ConflictingDevice [ ++ "HeadsetMic" ++ ] ++ ++ EnableSequence [ ++ cdev "hw:bytchtcx2072x" ++ cset "name='Int Mic Switch' on" ++ cset "name='ADC1 Mux' 'PortC Switch'" ++ cset "name='PortC In En Switch' on" ++ ] ++ ++ DisableSequence [ ++ cdev "hw:bytchtcx2072x" ++ cset "name='Int Mic Switch' off" ++ cset "name='PortC In En Switch' off" ++ ] ++ ++ Value { ++ CaptureChannels "2" ++ } ++} +diff --git a/src/conf/ucm/codecs/cx2072x/Makefile.am b/src/conf/ucm/codecs/cx2072x/Makefile.am +new file mode 100644 +index 000000000000..2990fd096178 +--- /dev/null ++++ b/src/conf/ucm/codecs/cx2072x/Makefile.am +@@ -0,0 +1,6 @@ ++alsaconfigdir = @ALSA_CONFIG_DIR@ ++ucmdir = $(alsaconfigdir)/ucm/codecs/cx2072x ++ucm_DATA = EnableSeq.conf DisableSeq.conf \ ++ HeadPhones.conf Speaker.conf \ ++ InternalMic.conf HeadsetMic.conf ++EXTRA_DIST = $(ucm_DATA) +diff --git a/src/conf/ucm/codecs/cx2072x/Speaker.conf b/src/conf/ucm/codecs/cx2072x/Speaker.conf +new file mode 100644 +index 000000000000..55e2b2ba33e4 +--- /dev/null ++++ b/src/conf/ucm/codecs/cx2072x/Speaker.conf +@@ -0,0 +1,23 @@ ++SectionDevice."Speaker" { ++ Comment "Speakers" ++ ++ ConflictingDevice [ ++ "Headphones" ++ ] ++ ++ EnableSequence [ ++ cdev "hw:bytchtcx2072x" ++ cset "name='Ext Spk Switch' on" ++ cset "name='PortG Out En Switch' on" ++ ] ++ ++ DisableSequence [ ++ cdev "hw:bytchtcx2072x" ++ cset "name='Ext Spk Switch' off" ++ cset "name='PortG Out En Switch' off" ++ ] ++ ++ Value { ++ PlaybackChannels "2" ++ } ++} +-- +2.16.4 + diff --git a/0008-pcm-add-mmap_begin-callback-to-snd_pcm_fast_ops_t-ap.patch b/0008-pcm-add-mmap_begin-callback-to-snd_pcm_fast_ops_t-ap.patch new file mode 100644 index 0000000..6930afd --- /dev/null +++ b/0008-pcm-add-mmap_begin-callback-to-snd_pcm_fast_ops_t-ap.patch @@ -0,0 +1,60 @@ +From e520f454803acfdb9af5cd7224129b37904eef4a Mon Sep 17 00:00:00 2001 +From: Adam Miartus +Date: Thu, 23 May 2019 15:00:39 +0200 +Subject: [PATCH 08/25] pcm: add mmap_begin callback to snd_pcm_fast_ops_t api + +main motivation for adding the callback is to use it to enable operation +on mmaped buffer before user access for pcm_file plugin + +support for MMAP read access with masking by data from input file is not +implemented for pcm_file plugin, by adding this callback implementing +such feature can be done by rewriting next continuous portion of buffer +on each mmap_begin call + +plugins like softvol use pcm_plugin interface and overwrite the buffer by +looping around it in avail_update callback, this patch hopes to simplify +the task by adding new api callback, removing the need for rewriting +pcm_file (to use pcm_plugin callbacks) and careful checking when looping +around whole mmaped buffer + +Signed-off-by: Adam Miartus +Reviewed-by: Timo Wischer +Signed-off-by: Takashi Iwai +--- + src/pcm/pcm.c | 6 ++++++ + src/pcm/pcm_local.h | 1 + + 2 files changed, 7 insertions(+) + +diff --git a/src/pcm/pcm.c b/src/pcm/pcm.c +index 3a71d79b278e..323926e1fc25 100644 +--- a/src/pcm/pcm.c ++++ b/src/pcm/pcm.c +@@ -7129,7 +7129,13 @@ int __snd_pcm_mmap_begin(snd_pcm_t *pcm, const snd_pcm_channel_area_t **areas, + snd_pcm_uframes_t f; + snd_pcm_uframes_t avail; + const snd_pcm_channel_area_t *xareas; ++ + assert(pcm && areas && offset && frames); ++ ++ if (pcm->fast_ops->mmap_begin) ++ return pcm->fast_ops->mmap_begin(pcm->fast_op_arg, areas, offset, frames); ++ ++ /* fallback for plugins that do not specify new callback */ + xareas = snd_pcm_mmap_areas(pcm); + if (xareas == NULL) + return -EBADFD; +diff --git a/src/pcm/pcm_local.h b/src/pcm/pcm_local.h +index d52229d8ddea..d5726eb29242 100644 +--- a/src/pcm/pcm_local.h ++++ b/src/pcm/pcm_local.h +@@ -184,6 +184,7 @@ typedef struct { + int (*poll_descriptors)(snd_pcm_t *pcm, struct pollfd *pfds, unsigned int space); /* locked */ + int (*poll_revents)(snd_pcm_t *pcm, struct pollfd *pfds, unsigned int nfds, unsigned short *revents); /* locked */ + int (*may_wait_for_avail_min)(snd_pcm_t *pcm, snd_pcm_uframes_t avail); ++ int (*mmap_begin)(snd_pcm_t *pcm, const snd_pcm_channel_area_t **areas, snd_pcm_uframes_t *offset, snd_pcm_uframes_t *frames); /* locked */ + } snd_pcm_fast_ops_t; + + struct _snd_pcm { +-- +2.16.4 + diff --git a/0009-pcm-file-add-infile-read-support-for-mmap-mode.patch b/0009-pcm-file-add-infile-read-support-for-mmap-mode.patch new file mode 100644 index 0000000..62ca7c1 --- /dev/null +++ b/0009-pcm-file-add-infile-read-support-for-mmap-mode.patch @@ -0,0 +1,93 @@ +From fe7ff721a954c3f8c2183febc7c3fa5736357b67 Mon Sep 17 00:00:00 2001 +From: Adam Miartus +Date: Thu, 23 May 2019 15:00:40 +0200 +Subject: [PATCH 09/25] pcm: file: add infile read support for mmap mode + +mmap_begin callback is used to copy data from input file to mmaped +buffer + +guard for corner use of api (multiple mmap_begin calls by user) is +introduced to check if next continuous buffer was already overwritten + +buffer is overwritten with input file data only in case of stream capture + +Signed-off-by: Adam Miartus +Reviewed-by: Timo Wischer +Signed-off-by: Takashi Iwai +--- + src/pcm/pcm_file.c | 31 +++++++++++++++++++++++++++++++ + 1 file changed, 31 insertions(+) + +diff --git a/src/pcm/pcm_file.c b/src/pcm/pcm_file.c +index 8e2c70b12ab1..52cc10a9436a 100644 +--- a/src/pcm/pcm_file.c ++++ b/src/pcm/pcm_file.c +@@ -88,6 +88,7 @@ typedef struct { + size_t buffer_bytes; + struct wav_fmt wav_header; + size_t filelen; ++ char ifmmap_overwritten; + } snd_pcm_file_t; + + #if __BYTE_ORDER == __LITTLE_ENDIAN +@@ -630,6 +631,8 @@ static snd_pcm_sframes_t snd_pcm_file_mmap_commit(snd_pcm_t *pcm, + const snd_pcm_channel_area_t *areas; + snd_pcm_sframes_t result; + ++ file->ifmmap_overwritten = 0; ++ + result = snd_pcm_mmap_begin(file->gen.slave, &areas, &ofs, &siz); + if (result >= 0) { + assert(ofs == offset && siz == size); +@@ -640,6 +643,32 @@ static snd_pcm_sframes_t snd_pcm_file_mmap_commit(snd_pcm_t *pcm, + return result; + } + ++static int snd_pcm_file_mmap_begin(snd_pcm_t *pcm, const snd_pcm_channel_area_t **areas, ++ snd_pcm_uframes_t *offset, snd_pcm_uframes_t *frames) ++{ ++ snd_pcm_file_t *file = pcm->private_data; ++ snd_pcm_channel_area_t areas_if[pcm->channels]; ++ snd_pcm_uframes_t frames_if; ++ void *buffer = NULL; ++ int result; ++ ++ result = snd_pcm_mmap_begin(file->gen.slave, areas, offset, frames); ++ if (result < 0) ++ return result; ++ ++ if (pcm->stream != SND_PCM_STREAM_CAPTURE) ++ return result; ++ ++ /* user may run mmap_begin without mmap_commit multiple times in row */ ++ if (file->ifmmap_overwritten) ++ return result; ++ file->ifmmap_overwritten = 1; ++ ++ snd_pcm_file_areas_read_infile(pcm, *areas, *offset, *frames); ++ ++ return result; ++} ++ + static int snd_pcm_file_hw_free(snd_pcm_t *pcm) + { + snd_pcm_file_t *file = pcm->private_data; +@@ -666,6 +695,7 @@ static int snd_pcm_file_hw_params(snd_pcm_t *pcm, snd_pcm_hw_params_t * params) + file->wbuf_size = slave->buffer_size * 2; + file->wbuf_size_bytes = snd_pcm_frames_to_bytes(slave, file->wbuf_size); + file->wbuf_used_bytes = 0; ++ file->ifmmap_overwritten = 0; + assert(!file->wbuf); + file->wbuf = malloc(file->wbuf_size_bytes); + if (file->wbuf == NULL) { +@@ -777,6 +807,7 @@ static const snd_pcm_fast_ops_t snd_pcm_file_fast_ops = { + .poll_descriptors = snd_pcm_generic_poll_descriptors, + .poll_revents = snd_pcm_generic_poll_revents, + .htimestamp = snd_pcm_generic_htimestamp, ++ .mmap_begin = snd_pcm_file_mmap_begin, + }; + + /** +-- +2.16.4 + diff --git a/0010-aserver-fix-resource-leak-coverity.patch b/0010-aserver-fix-resource-leak-coverity.patch new file mode 100644 index 0000000..07599e4 --- /dev/null +++ b/0010-aserver-fix-resource-leak-coverity.patch @@ -0,0 +1,105 @@ +From 47bc6d534102aca9cc2aed1b6bdd5633ef645a3f Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Fri, 24 May 2019 10:27:25 +0200 +Subject: [PATCH 10/25] aserver: fix resource leak coverity + +Signed-off-by: Jaroslav Kysela +--- + aserver/aserver.c | 33 +++++++++++++++++++-------------- + 1 file changed, 19 insertions(+), 14 deletions(-) + +diff --git a/aserver/aserver.c b/aserver/aserver.c +index 066414d8624c..6d20f3301ae0 100644 +--- a/aserver/aserver.c ++++ b/aserver/aserver.c +@@ -75,6 +75,7 @@ static int make_local_socket(const char *filename) + if (bind(sock, (struct sockaddr *) addr, size) < 0) { + int result = -errno; + SYSERROR("bind failed"); ++ close(sock); + return result; + } + +@@ -101,6 +102,7 @@ static int make_inet_socket(int port) + if (bind(sock, (struct sockaddr *) &addr, sizeof(addr)) < 0) { + int result = -errno; + SYSERROR("bind failed"); ++ close(sock); + return result; + } + +@@ -916,10 +918,9 @@ static int inet_handler(waiter_t *waiter, unsigned short events ATTRIBUTE_UNUSED + + static int server(const char *sockname, int port) + { +- int err; ++ int err, result, sockn = -1, socki = -1; + unsigned int k; + long open_max; +- int result; + + if (!sockname && port < 0) + return -EINVAL; +@@ -933,36 +934,36 @@ static int server(const char *sockname, int port) + waiters = calloc((size_t) open_max, sizeof(*waiters)); + + if (sockname) { +- int sock = make_local_socket(sockname); +- if (sock < 0) +- return sock; +- if (fcntl(sock, F_SETFL, O_NONBLOCK) < 0) { ++ sockn = make_local_socket(sockname); ++ if (sockn < 0) ++ return sockn; ++ if (fcntl(sockn, F_SETFL, O_NONBLOCK) < 0) { + result = -errno; + SYSERROR("fcntl O_NONBLOCK failed"); + goto _end; + } +- if (listen(sock, 4) < 0) { ++ if (listen(sockn, 4) < 0) { + result = -errno; + SYSERROR("listen failed"); + goto _end; + } +- add_waiter(sock, POLLIN, local_handler, NULL); ++ add_waiter(sockn, POLLIN, local_handler, NULL); + } + if (port >= 0) { +- int sock = make_inet_socket(port); +- if (sock < 0) +- return sock; +- if (fcntl(sock, F_SETFL, O_NONBLOCK) < 0) { ++ socki = make_inet_socket(port); ++ if (socki < 0) ++ return socki; ++ if (fcntl(socki, F_SETFL, O_NONBLOCK) < 0) { + result = -errno; + SYSERROR("fcntl failed"); + goto _end; + } +- if (listen(sock, 4) < 0) { ++ if (listen(socki, 4) < 0) { + result = -errno; + SYSERROR("listen failed"); + goto _end; + } +- add_waiter(sock, POLLIN, inet_handler, NULL); ++ add_waiter(socki, POLLIN, inet_handler, NULL); + } + + while (1) { +@@ -991,6 +992,10 @@ static int server(const char *sockname, int port) + } + } + _end: ++ if (sockn >= 0) ++ close(sockn); ++ if (socki >= 0) ++ close(socki); + free(pollfds); + free(waiters); + return result; +-- +2.16.4 + diff --git a/0011-src-conf.c-add-missing-va_end-call-coverity.patch b/0011-src-conf.c-add-missing-va_end-call-coverity.patch new file mode 100644 index 0000000..978f780 --- /dev/null +++ b/0011-src-conf.c-add-missing-va_end-call-coverity.patch @@ -0,0 +1,41 @@ +From 4aa960c48b4d292425597d283f3ef15d02590082 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Fri, 24 May 2019 10:39:05 +0200 +Subject: [PATCH 11/25] src/conf.c: add missing va_end() call (coverity) + +Signed-off-by: Jaroslav Kysela +--- + src/conf.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/src/conf.c b/src/conf.c +index cda5518e673b..3a3c91bf4284 100644 +--- a/src/conf.c ++++ b/src/conf.c +@@ -3034,8 +3034,10 @@ int snd_config_save(snd_config_t *config, snd_output_t *out) + if (!k) \ + break; \ + err = fcn(config, k, &n); \ +- if (err < 0) \ ++ if (err < 0) { \ ++ va_end(arg); \ + return err; \ ++ } \ + config = n; \ + } \ + va_end(arg); \ +@@ -3056,8 +3058,10 @@ int snd_config_save(snd_config_t *config, snd_output_t *out) + if (!k) \ + break; \ + err = fcn(root, config, k, &n); \ +- if (err < 0) \ ++ if (err < 0) { \ ++ va_end(arg); \ + return err; \ ++ } \ + config = n; \ + } \ + va_end(arg); \ +-- +2.16.4 + diff --git a/0012-config-parse_string-fix-the-dynamic-buffer-allocatio.patch b/0012-config-parse_string-fix-the-dynamic-buffer-allocatio.patch new file mode 100644 index 0000000..782b0e8 --- /dev/null +++ b/0012-config-parse_string-fix-the-dynamic-buffer-allocatio.patch @@ -0,0 +1,52 @@ +From 990b1a53ed800caac0bab1c2b7987205569861fe Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Fri, 24 May 2019 10:44:49 +0200 +Subject: [PATCH 12/25] config: parse_string() fix the dynamic buffer + allocation failure code (coverity) + +Signed-off-by: Jaroslav Kysela +--- + src/conf.c | 16 ++++++++++++---- + 1 file changed, 12 insertions(+), 4 deletions(-) + +diff --git a/src/conf.c b/src/conf.c +index 3a3c91bf4284..3e4b76a34ecf 100644 +--- a/src/conf.c ++++ b/src/conf.c +@@ -4747,8 +4747,11 @@ static int parse_string(const char **ptr, char **val) + return -EINVAL; + case '\\': + c = parse_char(ptr); +- if (c < 0) ++ if (c < 0) { ++ if (alloc > bufsize) ++ free(buf); + return c; ++ } + break; + default: + (*ptr)++; +@@ -4768,12 +4771,17 @@ static int parse_string(const char **ptr, char **val) + alloc *= 2; + if (old_alloc == bufsize) { + buf = malloc(alloc); ++ if (!buf) ++ return -ENOMEM; + memcpy(buf, _buf, old_alloc); + } else { +- buf = realloc(buf, alloc); ++ char *buf2 = realloc(buf, alloc); ++ if (!buf2) { ++ free(buf); ++ return -ENOMEM; ++ } ++ buf = buf2; + } +- if (!buf) +- return -ENOMEM; + } + buf[idx++] = c; + } +-- +2.16.4 + diff --git a/0013-control_shm-remove-duplicate-code-coverity.patch b/0013-control_shm-remove-duplicate-code-coverity.patch new file mode 100644 index 0000000..97ed4ef --- /dev/null +++ b/0013-control_shm-remove-duplicate-code-coverity.patch @@ -0,0 +1,61 @@ +From 51881cacc05e7d5e3cc8fc1ec9a4ac93a6327703 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Fri, 24 May 2019 10:51:47 +0200 +Subject: [PATCH 13/25] control_shm: remove duplicate code (coverity) + +Signed-off-by: Jaroslav Kysela +--- + src/control/control_shm.c | 18 +++--------------- + 1 file changed, 3 insertions(+), 15 deletions(-) + +diff --git a/src/control/control_shm.c b/src/control/control_shm.c +index d7b4139831d0..1d9de8b75860 100644 +--- a/src/control/control_shm.c ++++ b/src/control/control_shm.c +@@ -302,13 +302,9 @@ static int snd_ctl_shm_pcm_prefer_subdevice(snd_ctl_t *ctl, int subdev) + { + snd_ctl_shm_t *shm = ctl->private_data; + volatile snd_ctl_shm_ctrl_t *ctrl = shm->ctrl; +- int err; + ctrl->u.pcm_prefer_subdevice = subdev; + ctrl->cmd = SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE; +- err = snd_ctl_shm_action(ctl); +- if (err < 0) +- return err; +- return err; ++ return snd_ctl_shm_action(ctl); + } + + static int snd_ctl_shm_rawmidi_next_device(snd_ctl_t *ctl, int * device) +@@ -343,26 +339,18 @@ static int snd_ctl_shm_rawmidi_prefer_subdevice(snd_ctl_t *ctl, int subdev) + { + snd_ctl_shm_t *shm = ctl->private_data; + volatile snd_ctl_shm_ctrl_t *ctrl = shm->ctrl; +- int err; + ctrl->u.rawmidi_prefer_subdevice = subdev; + ctrl->cmd = SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE; +- err = snd_ctl_shm_action(ctl); +- if (err < 0) +- return err; +- return err; ++ return snd_ctl_shm_action(ctl); + } + + static int snd_ctl_shm_set_power_state(snd_ctl_t *ctl, unsigned int state) + { + snd_ctl_shm_t *shm = ctl->private_data; + volatile snd_ctl_shm_ctrl_t *ctrl = shm->ctrl; +- int err; + ctrl->u.power_state = state; + ctrl->cmd = SNDRV_CTL_IOCTL_POWER; +- err = snd_ctl_shm_action(ctl); +- if (err < 0) +- return err; +- return err; ++ return snd_ctl_shm_action(ctl); + } + + static int snd_ctl_shm_get_power_state(snd_ctl_t *ctl, unsigned int *state) +-- +2.16.4 + diff --git a/0014-control_shm-add-missing-socket-close-to-the-error-pa.patch b/0014-control_shm-add-missing-socket-close-to-the-error-pa.patch new file mode 100644 index 0000000..363fdcd --- /dev/null +++ b/0014-control_shm-add-missing-socket-close-to-the-error-pa.patch @@ -0,0 +1,30 @@ +From d6ba264038fde08baf5e62bdde2a5614792db5c8 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Fri, 24 May 2019 10:53:09 +0200 +Subject: [PATCH 14/25] control_shm: add missing socket close to the error path + (coverity) + +Signed-off-by: Jaroslav Kysela +--- + src/control/control_shm.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/control/control_shm.c b/src/control/control_shm.c +index 1d9de8b75860..40d4264342fc 100644 +--- a/src/control/control_shm.c ++++ b/src/control/control_shm.c +@@ -424,8 +424,10 @@ static int make_local_socket(const char *filename) + addr->sun_family = AF_LOCAL; + memcpy(addr->sun_path, filename, l); + +- if (connect(sock, (struct sockaddr *) addr, size) < 0) ++ if (connect(sock, (struct sockaddr *) addr, size) < 0) { ++ close(sock); + return -errno; ++ } + return sock; + } + +-- +2.16.4 + diff --git a/0015-pcm-fix-memory-leak-in-_snd_pcm_parse_config_chmaps-.patch b/0015-pcm-fix-memory-leak-in-_snd_pcm_parse_config_chmaps-.patch new file mode 100644 index 0000000..ba22b59 --- /dev/null +++ b/0015-pcm-fix-memory-leak-in-_snd_pcm_parse_config_chmaps-.patch @@ -0,0 +1,26 @@ +From d5a1cf35b710d255508e56ed19633e1fbf41a2d4 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Fri, 24 May 2019 10:57:20 +0200 +Subject: [PATCH 15/25] pcm: fix memory leak in _snd_pcm_parse_config_chmaps() + (coverity) + +Signed-off-by: Jaroslav Kysela +--- + src/pcm/pcm.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/pcm/pcm.c b/src/pcm/pcm.c +index 323926e1fc25..fa51ca9987a8 100644 +--- a/src/pcm/pcm.c ++++ b/src/pcm/pcm.c +@@ -8391,6 +8391,7 @@ _snd_pcm_parse_config_chmaps(snd_config_t *conf) + free(chmap); + goto error; + } ++ free(chmap); + nums++; + } + return maps; +-- +2.16.4 + diff --git a/0016-pcm_file-call-pclose-correctly-for-popen-coverity.patch b/0016-pcm_file-call-pclose-correctly-for-popen-coverity.patch new file mode 100644 index 0000000..5401712 --- /dev/null +++ b/0016-pcm_file-call-pclose-correctly-for-popen-coverity.patch @@ -0,0 +1,34 @@ +From 22ade9b8c150240a960ca683ee6d8f53ce8bc6ea Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Fri, 24 May 2019 11:09:43 +0200 +Subject: [PATCH 16/25] pcm_file: call pclose() correctly for popen() + (coverity) + +Signed-off-by: Jaroslav Kysela +--- + src/pcm/pcm_file.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/src/pcm/pcm_file.c b/src/pcm/pcm_file.c +index 52cc10a9436a..99db3754fa32 100644 +--- a/src/pcm/pcm_file.c ++++ b/src/pcm/pcm_file.c +@@ -227,7 +227,14 @@ static int snd_pcm_file_open_output_file(snd_pcm_file_t *file) + file->final_fname); + return -errno; + } +- fd = fileno(pipe); ++ fd = dup(fileno(pipe)); ++ err = -errno; ++ pclose(pipe); ++ if (fd < 0) { ++ SYSERR("unable to dup pipe file handle for command %s", ++ file->final_fname); ++ return err; ++ } + } else { + if (file->trunc) + fd = open(file->final_fname, O_WRONLY|O_CREAT|O_TRUNC, +-- +2.16.4 + diff --git a/0017-pcm_hw-close-file-descriptor-in-the-error-path-in-sn.patch b/0017-pcm_hw-close-file-descriptor-in-the-error-path-in-sn.patch new file mode 100644 index 0000000..fd7e7d5 --- /dev/null +++ b/0017-pcm_hw-close-file-descriptor-in-the-error-path-in-sn.patch @@ -0,0 +1,34 @@ +From 3ae743efea704c16c9464f38d502c23759b71245 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Fri, 24 May 2019 11:11:46 +0200 +Subject: [PATCH 17/25] pcm_hw: close file descriptor in the error path in + snd_pcm_hw_open() (coverity) + +Signed-off-by: Jaroslav Kysela +--- + src/pcm/pcm_hw.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/pcm/pcm_hw.c b/src/pcm/pcm_hw.c +index 91370a88c0fd..77d4dae1b20b 100644 +--- a/src/pcm/pcm_hw.c ++++ b/src/pcm/pcm_hw.c +@@ -1724,12 +1724,15 @@ int snd_pcm_hw_open(snd_pcm_t **pcmp, const char *name, + } + if (info.subdevice != (unsigned int) subdevice) { + close(fd); ++ fd = -1; + goto __again; + } + } + snd_ctl_close(ctl); + return snd_pcm_hw_open_fd(pcmp, name, fd, sync_ptr_ioctl); + _err: ++ if (fd >= 0) ++ close(fd); + snd_ctl_close(ctl); + return ret; + } +-- +2.16.4 + diff --git a/0018-rawmidi-use-snd_dlobj_cache_get2-in-rawmidi-open-cov.patch b/0018-rawmidi-use-snd_dlobj_cache_get2-in-rawmidi-open-cov.patch new file mode 100644 index 0000000..6c792fb --- /dev/null +++ b/0018-rawmidi-use-snd_dlobj_cache_get2-in-rawmidi-open-cov.patch @@ -0,0 +1,222 @@ +From 8ab0393b42e08655a5fee0a8e84b3ba84932465b Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Fri, 24 May 2019 20:31:24 +0200 +Subject: [PATCH 18/25] rawmidi: use snd_dlobj_cache_get2() in rawmidi open + (coverity) + +Use proper reference counting for the dynamic symbol. + +Signed-off-by: Jaroslav Kysela +--- + include/local.h | 3 +++ + src/dlmisc.c | 41 ++++++++++++++++++++++++++++++++++------- + src/rawmidi/rawmidi.c | 43 +++++++++++++++++++------------------------ + src/rawmidi/rawmidi_local.h | 2 +- + 4 files changed, 57 insertions(+), 32 deletions(-) + +diff --git a/include/local.h b/include/local.h +index 5edad317e955..e8390df59994 100644 +--- a/include/local.h ++++ b/include/local.h +@@ -328,6 +328,8 @@ static inline int snd_open_device(const char *filename, int fmode) + /* make local functions really local */ + #define snd_dlobj_cache_get \ + snd1_dlobj_cache_get ++#define snd_dlobj_cache_get2 \ ++ snd1_dlobj_cache_get2 + #define snd_dlobj_cache_put \ + snd1_dlobj_cache_put + #define snd_dlobj_cache_cleanup \ +@@ -341,6 +343,7 @@ static inline int snd_open_device(const char *filename, int fmode) + + /* dlobj cache */ + void *snd_dlobj_cache_get(const char *lib, const char *name, const char *version, int verbose); ++void *snd_dlobj_cache_get2(const char *lib, const char *name, const char *version, int verbose); + int snd_dlobj_cache_put(void *open_func); + void snd_dlobj_cache_cleanup(void); + +diff --git a/src/dlmisc.c b/src/dlmisc.c +index 012e61bc00c0..8c8f3ff72fd3 100644 +--- a/src/dlmisc.c ++++ b/src/dlmisc.c +@@ -251,15 +251,15 @@ static inline void snd_dlobj_unlock(void) {} + + static LIST_HEAD(pcm_dlobj_list); + +-void *snd_dlobj_cache_get(const char *lib, const char *name, +- const char *version, int verbose) ++static struct dlobj_cache * ++snd_dlobj_cache_get0(const char *lib, const char *name, ++ const char *version, int verbose) + { + struct list_head *p; + struct dlobj_cache *c; + void *func, *dlobj; + char errbuf[256]; + +- snd_dlobj_lock(); + list_for_each(p, &pcm_dlobj_list) { + c = list_entry(p, struct dlobj_cache, list); + if (c->lib && lib && strcmp(c->lib, lib) != 0) +@@ -270,9 +270,7 @@ void *snd_dlobj_cache_get(const char *lib, const char *name, + continue; + if (strcmp(c->name, name) == 0) { + c->refcnt++; +- func = c->func; +- snd_dlobj_unlock(); +- return func; ++ return c; + } + } + +@@ -285,7 +283,6 @@ void *snd_dlobj_cache_get(const char *lib, const char *name, + SNDERR("Cannot open shared library %s (%s)", + lib ? lib : "[builtin]", + errbuf); +- snd_dlobj_unlock(); + return NULL; + } + +@@ -314,6 +311,36 @@ void *snd_dlobj_cache_get(const char *lib, const char *name, + c->dlobj = dlobj; + c->func = func; + list_add_tail(&c->list, &pcm_dlobj_list); ++ return c; ++} ++ ++void *snd_dlobj_cache_get(const char *lib, const char *name, ++ const char *version, int verbose) ++{ ++ struct dlobj_cache *c; ++ void *func = NULL; ++ ++ snd_dlobj_lock(); ++ c = snd_dlobj_cache_get0(lib, name, version, verbose); ++ if (c) ++ func = c->func; ++ snd_dlobj_unlock(); ++ return func; ++} ++ ++void *snd_dlobj_cache_get2(const char *lib, const char *name, ++ const char *version, int verbose) ++{ ++ struct dlobj_cache *c; ++ void *func = NULL; ++ ++ snd_dlobj_lock(); ++ c = snd_dlobj_cache_get0(lib, name, version, verbose); ++ if (c) { ++ func = c->func; ++ /* double reference */ ++ c->refcnt++; ++ } + snd_dlobj_unlock(); + return func; + } +diff --git a/src/rawmidi/rawmidi.c b/src/rawmidi/rawmidi.c +index 2f419142b9b5..1b5f8525e59e 100644 +--- a/src/rawmidi/rawmidi.c ++++ b/src/rawmidi/rawmidi.c +@@ -162,7 +162,7 @@ static int snd_rawmidi_open_conf(snd_rawmidi_t **inputp, snd_rawmidi_t **outputp + snd_config_t *rawmidi_conf, int mode) + { + const char *str; +- char buf[256], errbuf[256]; ++ char buf[256]; + int err; + snd_config_t *conf, *type_conf = NULL; + snd_config_iterator_t i, next; +@@ -174,7 +174,6 @@ static int snd_rawmidi_open_conf(snd_rawmidi_t **inputp, snd_rawmidi_t **outputp + #ifndef PIC + extern void *snd_rawmidi_open_symbols(void); + #endif +- void *h = NULL; + if (snd_config_get_type(rawmidi_conf) != SND_CONFIG_TYPE_COMPOUND) { + if (name) + SNDERR("Invalid type for RAWMIDI %s definition", name); +@@ -239,41 +238,37 @@ static int snd_rawmidi_open_conf(snd_rawmidi_t **inputp, snd_rawmidi_t **outputp + #ifndef PIC + snd_rawmidi_open_symbols(); + #endif +- h = INTERNAL(snd_dlopen)(lib, RTLD_NOW, errbuf, sizeof(errbuf)); +- if (h) +- open_func = snd_dlsym(h, open_name, SND_DLSYM_VERSION(SND_RAWMIDI_DLSYM_VERSION)); +- err = 0; +- if (!h) { +- SNDERR("Cannot open shared library %s (%s)", lib, errbuf); +- err = -ENOENT; +- } else if (!open_func) { +- SNDERR("symbol %s is not defined inside %s", open_name, lib); +- snd_dlclose(h); ++ open_func = snd_dlobj_cache_get2(lib, open_name, ++ SND_DLSYM_VERSION(SND_RAWMIDI_DLSYM_VERSION), 1); ++ if (!open_func) { + err = -ENXIO; ++ goto _err; + } +- _err: + if (type_conf) + snd_config_delete(type_conf); +- if (err >= 0) +- err = open_func(inputp, outputp, name, rawmidi_root, rawmidi_conf, mode); +- if (err < 0) { +- if (h) +- snd_dlclose(h); +- return err; +- } ++ err = open_func(inputp, outputp, name, rawmidi_root, rawmidi_conf, mode); ++ if (err < 0) ++ goto _err; + if (inputp) { +- (*inputp)->dl_handle = h; h = NULL; ++ (*inputp)->open_func = open_func; + snd_rawmidi_params_default(*inputp, ¶ms); + err = snd_rawmidi_params(*inputp, ¶ms); + assert(err >= 0); + } + if (outputp) { +- (*outputp)->dl_handle = h; ++ (*outputp)->open_func = open_func; + snd_rawmidi_params_default(*outputp, ¶ms); + err = snd_rawmidi_params(*outputp, ¶ms); + assert(err >= 0); + } + return 0; ++ ++ _err: ++ if (open_func) ++ snd_dlobj_cache_put(open_func); ++ if (type_conf) ++ snd_config_delete(type_conf); ++ return err; + } + + static int snd_rawmidi_open_noupdate(snd_rawmidi_t **inputp, snd_rawmidi_t **outputp, +@@ -350,8 +345,8 @@ int snd_rawmidi_close(snd_rawmidi_t *rawmidi) + assert(rawmidi); + err = rawmidi->ops->close(rawmidi); + free(rawmidi->name); +- if (rawmidi->dl_handle) +- snd_dlclose(rawmidi->dl_handle); ++ if (rawmidi->open_func) ++ snd_dlobj_cache_put(rawmidi->open_func); + free(rawmidi); + return err; + } +diff --git a/src/rawmidi/rawmidi_local.h b/src/rawmidi/rawmidi_local.h +index d76b35a33bf4..721e1ec9deec 100644 +--- a/src/rawmidi/rawmidi_local.h ++++ b/src/rawmidi/rawmidi_local.h +@@ -37,7 +37,7 @@ typedef struct { + } snd_rawmidi_ops_t; + + struct _snd_rawmidi { +- void *dl_handle; ++ void *open_func; + char *name; + snd_rawmidi_type_t type; + snd_rawmidi_stream_t stream; +-- +2.16.4 + diff --git a/0019-rawmidi_hw-add-sanity-check-for-the-invalid-stream-a.patch b/0019-rawmidi_hw-add-sanity-check-for-the-invalid-stream-a.patch new file mode 100644 index 0000000..b46dc3c --- /dev/null +++ b/0019-rawmidi_hw-add-sanity-check-for-the-invalid-stream-a.patch @@ -0,0 +1,27 @@ +From 6efa23f2837a6fa9982b4f34b837401a66941ee3 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Fri, 24 May 2019 20:45:26 +0200 +Subject: [PATCH 19/25] rawmidi_hw: add sanity check for the invalid stream + arguments (coverity) + +Signed-off-by: Jaroslav Kysela +--- + src/rawmidi/rawmidi_hw.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/rawmidi/rawmidi_hw.c b/src/rawmidi/rawmidi_hw.c +index 7cc8c0d1e7ec..eaa8a76de52f 100644 +--- a/src/rawmidi/rawmidi_hw.c ++++ b/src/rawmidi/rawmidi_hw.c +@@ -186,6 +186,8 @@ int snd_rawmidi_hw_open(snd_rawmidi_t **inputp, snd_rawmidi_t **outputp, + *inputp = NULL; + if (outputp) + *outputp = NULL; ++ if (!inputp && !outputp) ++ return -EINVAL; + + if ((ret = snd_ctl_hw_open(&ctl, NULL, card, 0)) < 0) + return ret; +-- +2.16.4 + diff --git a/0020-topology-various-coverity-fixes.patch b/0020-topology-various-coverity-fixes.patch new file mode 100644 index 0000000..78638fc --- /dev/null +++ b/0020-topology-various-coverity-fixes.patch @@ -0,0 +1,103 @@ +From 0d97f53c25b4dd36d3f6511fae85b597aebc61a1 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Fri, 24 May 2019 20:52:00 +0200 +Subject: [PATCH 20/25] topology: various coverity fixes + +Signed-off-by: Jaroslav Kysela +--- + src/topology/ctl.c | 4 ++-- + src/topology/data.c | 19 +++++++++++++------ + src/topology/parser.c | 5 +++-- + 3 files changed, 18 insertions(+), 10 deletions(-) + +diff --git a/src/topology/ctl.c b/src/topology/ctl.c +index 9c13b12c4bf4..a096252263a5 100644 +--- a/src/topology/ctl.c ++++ b/src/topology/ctl.c +@@ -880,8 +880,8 @@ int tplg_add_enum(snd_tplg_t *tplg, struct snd_tplg_enum_template *enum_ctl, + if (enum_ctl->texts != NULL) { + for (i = 0; i < num_items; i++) { + if (enum_ctl->texts[i] != NULL) +- strncpy(ec->texts[i], enum_ctl->texts[i], +- SNDRV_CTL_ELEM_ID_NAME_MAXLEN); ++ snd_strlcpy(ec->texts[i], enum_ctl->texts[i], ++ SNDRV_CTL_ELEM_ID_NAME_MAXLEN); + } + } + +diff --git a/src/topology/data.c b/src/topology/data.c +index fd72abbb5e08..aa2b87e73f50 100644 +--- a/src/topology/data.c ++++ b/src/topology/data.c +@@ -124,12 +124,12 @@ static int tplg_parse_data_file(snd_config_t *cfg, struct tplg_elem *elem) + + if (fclose(fp) == EOF) { + SNDERR("Cannot close data file."); +- ret = -errno; +- goto err; ++ return -errno; + } + return 0; + + err: ++ fclose(fp); + if (priv) + free(priv); + return ret; +@@ -422,7 +422,7 @@ static unsigned int get_tuple_size(int type) + static int copy_tuples(struct tplg_elem *elem, + struct tplg_vendor_tuples *tuples, struct tplg_vendor_tokens *tokens) + { +- struct snd_soc_tplg_private *priv = elem->data; ++ struct snd_soc_tplg_private *priv = elem->data, *priv2; + struct tplg_tuple_set *tuple_set; + struct tplg_tuple *tuple; + struct snd_soc_tplg_vendor_array *array; +@@ -447,10 +447,17 @@ static int copy_tuples(struct tplg_elem *elem, + return -EINVAL; + } + +- if (priv != NULL) +- priv = realloc(priv, sizeof(*priv) + size); +- else ++ if (priv != NULL) { ++ priv2 = realloc(priv, sizeof(*priv) + size); ++ if (priv2 == NULL) { ++ free(priv); ++ priv = NULL; ++ } else { ++ priv = priv2; ++ } ++ } else { + priv = calloc(1, sizeof(*priv) + size); ++ } + if (!priv) + return -ENOMEM; + +diff --git a/src/topology/parser.c b/src/topology/parser.c +index cfc20e000e5c..a7cff1c30edc 100644 +--- a/src/topology/parser.c ++++ b/src/topology/parser.c +@@ -237,8 +237,9 @@ static int tplg_load_config(const char *file, snd_config_t **cfg) + + ret = snd_input_stdio_attach(&in, fp, 1); + if (ret < 0) { ++ fclose(fp); + SNDERR("error: could not attach stdio %s", file); +- goto err; ++ return ret; + } + ret = snd_config_top(&top); + if (ret < 0) +@@ -261,7 +262,7 @@ static int tplg_load_config(const char *file, snd_config_t **cfg) + err_load: + snd_config_delete(top); + err: +- fclose(fp); ++ snd_input_close(in); + return ret; + } + +-- +2.16.4 + diff --git a/0021-ucm-coverity-fixes.patch b/0021-ucm-coverity-fixes.patch new file mode 100644 index 0000000..13db1f6 --- /dev/null +++ b/0021-ucm-coverity-fixes.patch @@ -0,0 +1,118 @@ +From ed156a218644e3334bc452ef2bc948409735c330 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Fri, 24 May 2019 21:11:00 +0200 +Subject: [PATCH 21/25] ucm: coverity fixes + +Signed-off-by: Jaroslav Kysela +--- + src/ucm/parser.c | 18 ++++++++++++++---- + src/ucm/utils.c | 12 +++++++++--- + 2 files changed, 23 insertions(+), 7 deletions(-) + +diff --git a/src/ucm/parser.c b/src/ucm/parser.c +index ad6bcec78622..61d5d7f9c47c 100644 +--- a/src/ucm/parser.c ++++ b/src/ucm/parser.c +@@ -1114,7 +1114,7 @@ static int parse_verb_file(snd_use_case_mgr_t *uc_mgr, + if (err < 0) { + uc_error("error: %s failed to parse verb", + file); +- return err; ++ goto _err; + } + continue; + } +@@ -1126,7 +1126,7 @@ static int parse_verb_file(snd_use_case_mgr_t *uc_mgr, + if (err < 0) { + uc_error("error: %s failed to parse device", + file); +- return err; ++ goto _err; + } + continue; + } +@@ -1138,18 +1138,24 @@ static int parse_verb_file(snd_use_case_mgr_t *uc_mgr, + if (err < 0) { + uc_error("error: %s failed to parse modifier", + file); +- return err; ++ goto _err; + } + continue; + } + } + ++ snd_config_delete(cfg); ++ + /* use case verb must have at least 1 device */ + if (list_empty(&verb->device_list)) { + uc_error("error: no use case device defined", file); + return -EINVAL; + } + return 0; ++ ++ _err: ++ snd_config_delete(cfg); ++ return err; + } + + /* +@@ -1399,6 +1405,7 @@ next_card: + + return -1; + } ++ + static int load_master_config(const char *card_name, snd_config_t **cfg) + { + char filename[MAX_FILE]; +@@ -1610,8 +1617,11 @@ int uc_mgr_scan_master_configs(const char **_list[]) + } + free(namelist); + +- if (err >= 0) ++ if (err >= 0) { + *_list = list; ++ } else { ++ free(list); ++ } + + return err; + } +diff --git a/src/ucm/utils.c b/src/ucm/utils.c +index 14227e0aed5b..efd5a97999b1 100644 +--- a/src/ucm/utils.c ++++ b/src/ucm/utils.c +@@ -58,14 +58,18 @@ int uc_mgr_config_load(const char *file, snd_config_t **cfg) + int err; + + fp = fopen(file, "r"); +- err = fp == NULL ? -errno : snd_input_stdio_attach(&in, fp, 1); +- if (err < 0) { ++ if (!fp) { ++ err = -errno; ++ __err0: + uc_error("could not open configuration file %s", file); + return err; + } ++ err = snd_input_stdio_attach(&in, fp, 1); ++ if (err < 0) ++ goto __err0; + err = snd_config_top(&top); + if (err < 0) +- return err; ++ goto __err1; + + default_path = getenv(ALSA_CONFIG_UCM_VAR); + if (!default_path || !*default_path) +@@ -88,6 +92,8 @@ int uc_mgr_config_load(const char *file, snd_config_t **cfg) + + __err2: + snd_config_delete(top); ++ __err1: ++ snd_input_close(in); + return err; + } + +-- +2.16.4 + diff --git a/0022-pcm_file-coverity-fixes-including-double-locking.patch b/0022-pcm_file-coverity-fixes-including-double-locking.patch new file mode 100644 index 0000000..3aa5012 --- /dev/null +++ b/0022-pcm_file-coverity-fixes-including-double-locking.patch @@ -0,0 +1,60 @@ +From 022c790aabc300eabad4da8947a3f2bdadce41e1 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Mon, 27 May 2019 13:57:12 +0200 +Subject: [PATCH 22/25] pcm_file: coverity fixes (including double locking) + +Signed-off-by: Jaroslav Kysela +--- + src/pcm/pcm_file.c | 16 ++++++---------- + 1 file changed, 6 insertions(+), 10 deletions(-) + +diff --git a/src/pcm/pcm_file.c b/src/pcm/pcm_file.c +index 99db3754fa32..54142a3d16ef 100644 +--- a/src/pcm/pcm_file.c ++++ b/src/pcm/pcm_file.c +@@ -296,7 +296,10 @@ static int snd_pcm_file_areas_read_infile(snd_pcm_t *pcm, + return -ENOMEM; + } + +- bytes = read(file->ifd, file->rbuf, snd_pcm_frames_to_bytes(pcm, frames)); ++ bytes = snd_pcm_frames_to_bytes(pcm, frames); ++ if (bytes < 0) ++ return bytes; ++ bytes = read(file->ifd, file->rbuf, bytes); + if (bytes < 0) { + SYSERR("read from file failed, error: %d", bytes); + return bytes; +@@ -589,18 +592,14 @@ static snd_pcm_sframes_t snd_pcm_file_readi(snd_pcm_t *pcm, void *buffer, snd_pc + snd_pcm_channel_area_t areas[pcm->channels]; + snd_pcm_sframes_t frames; + +- __snd_pcm_lock(pcm); +- + frames = _snd_pcm_readi(file->gen.slave, buffer, size); +- if (frames <= 0) { +- __snd_pcm_unlock(pcm); ++ if (frames <= 0) + return frames; +- } + + snd_pcm_areas_from_buf(pcm, areas, buffer); + snd_pcm_file_areas_read_infile(pcm, areas, 0, frames); ++ __snd_pcm_lock(pcm); + snd_pcm_file_add_frames(pcm, areas, 0, frames); +- + __snd_pcm_unlock(pcm); + + return frames; +@@ -654,9 +653,6 @@ static int snd_pcm_file_mmap_begin(snd_pcm_t *pcm, const snd_pcm_channel_area_t + snd_pcm_uframes_t *offset, snd_pcm_uframes_t *frames) + { + snd_pcm_file_t *file = pcm->private_data; +- snd_pcm_channel_area_t areas_if[pcm->channels]; +- snd_pcm_uframes_t frames_if; +- void *buffer = NULL; + int result; + + result = snd_pcm_mmap_begin(file->gen.slave, areas, offset, frames); +-- +2.16.4 + diff --git a/0023-topology-next-round-of-coverity-fixes.patch b/0023-topology-next-round-of-coverity-fixes.patch new file mode 100644 index 0000000..22f1982 --- /dev/null +++ b/0023-topology-next-round-of-coverity-fixes.patch @@ -0,0 +1,70 @@ +From c6e7fd8b1e0d8729c7220734ca0b529c35d926ed Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Mon, 27 May 2019 14:05:12 +0200 +Subject: [PATCH 23/25] topology: next round of coverity fixes + +Signed-off-by: Jaroslav Kysela +--- + src/topology/data.c | 5 ++--- + src/topology/parser.c | 7 +++++-- + 2 files changed, 7 insertions(+), 5 deletions(-) + +diff --git a/src/topology/data.c b/src/topology/data.c +index aa2b87e73f50..b3f4421f5d5c 100644 +--- a/src/topology/data.c ++++ b/src/topology/data.c +@@ -88,8 +88,7 @@ static int tplg_parse_data_file(snd_config_t *cfg, struct tplg_elem *elem) + if (fp == NULL) { + SNDERR("error: invalid data file path '%s'\n", + filename); +- ret = -errno; +- goto err; ++ return -errno; + } + + fseek(fp, 0L, SEEK_END); +@@ -463,6 +462,7 @@ static int copy_tuples(struct tplg_elem *elem, + + off = priv->size; + priv->size = size; /* update private data size */ ++ elem->data = priv; + + array = (struct snd_soc_tplg_vendor_array *)(priv->data + off); + array->size = set_size; +@@ -499,7 +499,6 @@ static int copy_tuples(struct tplg_elem *elem, + } + } + +- elem->data = priv; + return 0; + } + +diff --git a/src/topology/parser.c b/src/topology/parser.c +index a7cff1c30edc..5940692da2e2 100644 +--- a/src/topology/parser.c ++++ b/src/topology/parser.c +@@ -253,8 +253,10 @@ static int tplg_load_config(const char *file, snd_config_t **cfg) + } + + ret = snd_input_close(in); +- if (ret < 0) ++ if (ret < 0) { ++ in = NULL; + goto err_load; ++ } + + *cfg = top; + return 0; +@@ -262,7 +264,8 @@ static int tplg_load_config(const char *file, snd_config_t **cfg) + err_load: + snd_config_delete(top); + err: +- snd_input_close(in); ++ if (in) ++ snd_input_close(in); + return ret; + } + +-- +2.16.4 + diff --git a/0024-pcm_file-another-locking-fix-coverity.patch b/0024-pcm_file-another-locking-fix-coverity.patch new file mode 100644 index 0000000..e734a64 --- /dev/null +++ b/0024-pcm_file-another-locking-fix-coverity.patch @@ -0,0 +1,39 @@ +From ac6df1106c314de5d027176d910b9bc43a1fa7f9 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Mon, 27 May 2019 20:10:32 +0200 +Subject: [PATCH 24/25] pcm_file: another locking fix (coverity) + +Signed-off-by: Jaroslav Kysela +--- + src/pcm/pcm_file.c | 8 +++----- + 1 file changed, 3 insertions(+), 5 deletions(-) + +diff --git a/src/pcm/pcm_file.c b/src/pcm/pcm_file.c +index 54142a3d16ef..1ef80b599b06 100644 +--- a/src/pcm/pcm_file.c ++++ b/src/pcm/pcm_file.c +@@ -612,18 +612,16 @@ static snd_pcm_sframes_t snd_pcm_file_readn(snd_pcm_t *pcm, void **bufs, snd_pcm + snd_pcm_channel_area_t areas[pcm->channels]; + snd_pcm_sframes_t frames; + +- __snd_pcm_lock(pcm); + frames = _snd_pcm_readn(file->gen.slave, bufs, size); +- if (frames <= 0) { +- __snd_pcm_unlock(pcm); ++ if (frames <= 0) + return frames; +- } + + snd_pcm_areas_from_bufs(pcm, areas, bufs); + snd_pcm_file_areas_read_infile(pcm, areas, 0, frames); ++ __snd_pcm_lock(pcm); + snd_pcm_file_add_frames(pcm, areas, 0, frames); +- + __snd_pcm_unlock(pcm); ++ + return frames; + } + +-- +2.16.4 + diff --git a/0025-ucm-another-coverity-fix-in-uc_mgr_config_load.patch b/0025-ucm-another-coverity-fix-in-uc_mgr_config_load.patch new file mode 100644 index 0000000..b416cea --- /dev/null +++ b/0025-ucm-another-coverity-fix-in-uc_mgr_config_load.patch @@ -0,0 +1,38 @@ +From 5905af199670ca34eaaafbd3319d94d230b7e4d4 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Mon, 27 May 2019 20:10:52 +0200 +Subject: [PATCH 25/25] ucm: another coverity fix in uc_mgr_config_load() + +--- + src/ucm/utils.c | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git a/src/ucm/utils.c b/src/ucm/utils.c +index efd5a97999b1..5607304e6426 100644 +--- a/src/ucm/utils.c ++++ b/src/ucm/utils.c +@@ -85,15 +85,18 @@ int uc_mgr_config_load(const char *file, snd_config_t **cfg) + goto __err2; + } + err = snd_input_close(in); +- if (err < 0) ++ if (err < 0) { ++ in = NULL; + goto __err2; ++ } + *cfg = top; + return 0; + + __err2: +- snd_config_delete(top); ++ snd_config_delete(top); + __err1: +- snd_input_close(in); ++ if (in) ++ snd_input_close(in); + return err; + } + +-- +2.16.4 + diff --git a/40-alsa.rules b/40-alsa.rules new file mode 100644 index 0000000..34c1090 --- /dev/null +++ b/40-alsa.rules @@ -0,0 +1,9 @@ +SUBSYSTEM=="sound", GROUP="audio" +SUBSYSTEM=="snd", GROUP="audio" +KERNEL=="controlC[0-9]*", NAME="snd/%k" +KERNEL=="hwC[D0-9]*", NAME="snd/%k" +KERNEL=="pcmC[D0-9cp]*", NAME="snd/%k" +KERNEL=="midiC[D0-9]*", NAME="snd/%k" +KERNEL=="timer", NAME="snd/%k" +KERNEL=="seq", NAME="snd/%k" +SUBSYSTEM=="sound", KERNEL=="controlC?", RUN+="/usr/sbin/alsa-init %n" diff --git a/42-hd-audio-pm.rules b/42-hd-audio-pm.rules new file mode 100644 index 0000000..7493dcb --- /dev/null +++ b/42-hd-audio-pm.rules @@ -0,0 +1,5 @@ +# do not edit this file, it will be overwritten on update +# +# Enable autosuspend for HD-audio devices + +ACTION=="add", SUBSYSTEM=="pci", ATTR{class}=="0x040300", TEST=="power/control", ATTR{power/control}="auto" diff --git a/README.testwav b/README.testwav new file mode 100644 index 0000000..2dc16d7 --- /dev/null +++ b/README.testwav @@ -0,0 +1,4 @@ +test.wav is copyright (c) 2001 by Matthias Nagorni +The file can be distributed under GPL. + +The tune ist based on BWV 29 by J.S. Bach. diff --git a/all_notes_off b/all_notes_off new file mode 100644 index 0000000..e742251 --- /dev/null +++ b/all_notes_off @@ -0,0 +1,23 @@ +#!/bin/bash +# +# Send an "all notes off" event to all channels of all +# MIDI-Devices configured in the System +# +# Written by Matthias Nagorni, (c) 2001 SuSE GmbH Nuremberg +# (c) 2014 SUSE Linux Products GmbH +# +for d in /dev/snd/midiC?D?; do + echo Sending "all notes off" to MIDI device $d + cat /usr/lib/all_notes_off.bin > $d +done +if [ -x /usr/bin/pmidi ]; then + echo Can execute pmidi. Fine. + plist=$(pmidi -l) + for p in $plist; do + p1=${p%:0} + if [ "$p1" != "$p" ] && [ $p1 -gt 16 ]; then + echo Sending "all notes off" to MIDI port $p + pmidi -p $p -d 0 /usr/lib/all_notes_off.mid + fi + done +fi diff --git a/all_notes_off.bin b/all_notes_off.bin new file mode 100644 index 0000000..8cadc14 Binary files /dev/null and b/all_notes_off.bin differ diff --git a/all_notes_off.mid b/all_notes_off.mid new file mode 100644 index 0000000..479ed2e Binary files /dev/null and b/all_notes_off.mid differ diff --git a/alsa-init.sh b/alsa-init.sh new file mode 100644 index 0000000..281cef0 --- /dev/null +++ b/alsa-init.sh @@ -0,0 +1,12 @@ +#!/bin/sh +# alsa-init card# + +/usr/bin/set_default_volume -f $1 >/dev/null 2>&1 +test -s /var/lib/alsa/asound.state && /usr/sbin/alsactl -F restore $1 >/dev/null 2>&1 +# increase buffer-preallocation size (for PA) +if [ -f /proc/asound/card$1/pcm0p/sub0/prealloc_max ]; then + [ $(cat /proc/asound/card$1/pcm0p/sub0/prealloc_max) -le 1024 ] || + echo 1024 > /proc/asound/card$1/pcm0p/sub0/prealloc +fi + +exit 0 diff --git a/alsa-lib-ignore-non-accessible-ALSA_CONFIG_PATH.patch b/alsa-lib-ignore-non-accessible-ALSA_CONFIG_PATH.patch new file mode 100644 index 0000000..383d88d --- /dev/null +++ b/alsa-lib-ignore-non-accessible-ALSA_CONFIG_PATH.patch @@ -0,0 +1,12 @@ +--- a/src/conf.c ++++ b/src/conf.c +@@ -3904,6 +3904,9 @@ int snd_config_update_r(snd_config_t **_top, snd_config_update_t **_update, cons + configs = cfgs; + if (!configs) { + configs = getenv(ALSA_CONFIG_PATH_VAR); ++ /* ignore the non-accessible override */ ++ if (configs && access(configs, R_OK) < 0) ++ configs = NULL; + if (!configs || !*configs) { + const char *topdir = snd_config_topdir(); + char *s = alloca(strlen(topdir) + diff --git a/alsa.changes b/alsa.changes new file mode 100644 index 0000000..313961e --- /dev/null +++ b/alsa.changes @@ -0,0 +1,5569 @@ +------------------------------------------------------------------- +Thu Sep 5 16:41:17 CEST 2019 - tiwai@suse.de + +- Disable LTO completely (boo#1149612); + the versioned symbols in alsa-lib doesn't seem work properly on + some apps + +------------------------------------------------------------------- +Tue May 28 12:32:16 CEST 2019 - tiwai@suse.de + +- Remove hackish modprobe install scripts for auto-loading OSS and + sequencer modules (bsc#1136562); + it's invoked from systemd unit file included in alsa-utils now + +- Backport upstream fixes: + 0001-pcm-direct-Add-generic-hw_ptr_alignment-function-for.patch + 0002-pcm-dshare-Added-hw_ptr_alignment-option-in-configur.patch + 0003-pcm-dsnoop-Added-hw_ptr_alignment-option-in-configur.patch + 0004-pcm-file-add-support-for-infile-reading-in-non-inter.patch + 0005-pcm-file-use-snd_pcm_file_areas_read_infile-for-read.patch + 0006-pcm-file-add-missing-unlock-on-early-return.patch + 0007-ucm-Add-UCM-profile-for-CX2072X-codec-on-Baytrail-Ch.patch + 0008-pcm-add-mmap_begin-callback-to-snd_pcm_fast_ops_t-ap.patch + 0009-pcm-file-add-infile-read-support-for-mmap-mode.patch + 0010-aserver-fix-resource-leak-coverity.patch + 0011-src-conf.c-add-missing-va_end-call-coverity.patch + 0012-config-parse_string-fix-the-dynamic-buffer-allocatio.patch + 0013-control_shm-remove-duplicate-code-coverity.patch + 0014-control_shm-add-missing-socket-close-to-the-error-pa.patch + 0015-pcm-fix-memory-leak-in-_snd_pcm_parse_config_chmaps-.patch + 0016-pcm_file-call-pclose-correctly-for-popen-coverity.patch + 0017-pcm_hw-close-file-descriptor-in-the-error-path-in-sn.patch + 0018-rawmidi-use-snd_dlobj_cache_get2-in-rawmidi-open-cov.patch + 0019-rawmidi_hw-add-sanity-check-for-the-invalid-stream-a.patch + 0020-topology-various-coverity-fixes.patch + 0021-ucm-coverity-fixes.patch + 0022-pcm_file-coverity-fixes-including-double-locking.patch + 0023-topology-next-round-of-coverity-fixes.patch + 0024-pcm_file-another-locking-fix-coverity.patch + 0025-ucm-another-coverity-fix-in-uc_mgr_config_load.patch + +- Drop the downstream CX2072X UCM profile, which is replaced with + upstream patches above + +------------------------------------------------------------------- +Fri May 10 13:00:38 CEST 2019 - tiwai@suse.de + +- Re-enable LTO (bsc#1133086); + we need to pass -flto-partition=none as a workaround + +------------------------------------------------------------------- +Fri May 10 11:42:23 CEST 2019 - tiwai@suse.de + +- Update to version 1.1.9: including previous fixes + See https://www.alsa-project.org/wiki/Changes_v1.1.8_v1.1.9 + for detailed changes +- Dropped obsoleted patches: + 0001-pcm-Preserve-period_event-in-snd_pcm_hw_sw_params-ca.patch + 0004-ucm-Add-ucm-files-for-DB820c-board.patch + 0005-ucm-bytcr-PlatformEnableSeq.conf-update-some-comment.patch + 0006-pcm-dshare-Fix-overflow-when-slave_hw_ptr-rolls-over.patch + 0007-test-latency-use-frame-bytes-correctly-in-writebuf.patch + 0008-conf-pcm-dmix-add-CHANNELS-argument.patch + 0009-Android-avoid-using-versionsort.patch + 0010-pcm-add-the-missing-strings.h-include.patch + 0011-alisp-add-the-missing-include.patch + 0012-add-snd_strlcpy-and-use-it-everywhere.patch + 0013-pcm-rate-plugin-fix-signess-in-snd_pcm_rate_avail_up.patch + 0014-Drop-I-includedir-alsa-from-alsa.pc.patch + +------------------------------------------------------------------- +Wed Apr 24 08:55:02 UTC 2019 - Martin LiÅ¡ka + +- Move definition of _lto_cflags into %build. + +------------------------------------------------------------------- +Tue Apr 23 11:30:25 UTC 2019 - Martin LiÅ¡ka + +- Disable LTO (boo#1133086). + +------------------------------------------------------------------- +Thu Mar 28 07:53:14 CET 2019 - tiwai@suse.de + +- Backport upstream fixes: PCM sw_params behavior fix, UCM additions and + corrections, dshare position overflow fix, build fixes for Android: + 0001-pcm-Preserve-period_event-in-snd_pcm_hw_sw_params-ca.patch + 0004-ucm-Add-ucm-files-for-DB820c-board.patch + 0005-ucm-bytcr-PlatformEnableSeq.conf-update-some-comment.patch + 0006-pcm-dshare-Fix-overflow-when-slave_hw_ptr-rolls-over.patch + 0007-test-latency-use-frame-bytes-correctly-in-writebuf.patch + 0008-conf-pcm-dmix-add-CHANNELS-argument.patch + 0009-Android-avoid-using-versionsort.patch + 0010-pcm-add-the-missing-strings.h-include.patch + 0011-alisp-add-the-missing-include.patch + 0012-add-snd_strlcpy-and-use-it-everywhere.patch + 0013-pcm-rate-plugin-fix-signess-in-snd_pcm_rate_avail_up.patch +- Drop -Iinclude/alsa from alsa.pc (bsc#1130333) + 0014-Drop-I-includedir-alsa-from-alsa.pc.patch + +------------------------------------------------------------------- +Sun Mar 17 18:27:59 UTC 2019 - Jan Engelhardt + +- Replace unspecific historic boilerplate summaries, + and replace $RPM_* shell vars. + +------------------------------------------------------------------- +Mon Jan 7 15:32:13 CET 2019 - tiwai@suse.de + +- Update to alsa-lib 1.1.8 + * Core: + conf: rename snd_conf_load1() to _snd_config_load_with_include() + conf/ucm: bytcht-es8316: Add long-name UCM profiles + conf/ucm: Add UCM profile for bytcht-es8316 boards + Create shared {En,Dis}ableSeq.conf components for rt5645 variants + conf/ucm: bytcr-rt5651: Add bytcr-rt5651-stereo-spk-dmic-mic config + conf/ucm: kblrt5660: Add ucm setting for Dell Edge IoT platform + conf/ucm: chtrt5650: Add UCM config for chtrt5650 + ucm: Set default include path + conf: Move UCM profile snippets into components subdirectory + initial version of .travis.yml file + * Control API: + control: fix the assert() in snd_ctl_elem_set_bytes + * PCM API: + pcm: ioplug: Fix the regression of pulse plugin drain + pcm: extplug: Keep format and channels the same if requested + pcm: dshare: Fix segfault when not binding channel 0 + pcm: dmix: Add option to allow alignment of slave pointers + pcm: interval: Interpret (x x+1] correctly and return x+1 + * Use Case Manager API: + conf: rename snd_conf_load1() to _snd_config_load_with_include() + ucm: Set default include path + conf: Move UCM profile snippets into components subdirectory + * Configuration: + conf: rename snd_conf_load1() to _snd_config_load_with_include() + conf/ucm: bytcht-es8316: Add long-name UCM profiles + conf/ucm: Add UCM profile for bytcht-es8316 boards + Create device component for rt5645 Internal Analog Mic UCM + Factor out rt5645 variants Headset+Digital Mic UCM shared {en,dis}able sequences + Factor out rt5645 variants Speaker+Headphones shared UCM enable sequences + Create shared {En,Dis}ableSeq.conf components for rt5645 variants + Update chtrt5645 ucm variants to use bytcr/PlatformEnableSeq.conf component + conf/ucm: bytcr-rt5651: Document mono speaker wiring + conf/ucm: bytcr-rt5651: Add bytcr-rt5651-stereo-spk-dmic-mic config + conf/ucm: bytcr-rt5651: Add digital mic support + conf/ucm: bytcr-rt5651: Add support for a headset-mic on IN2 + conf/ucm: bytcr-rt5651: Enable Stereo? ADC MIXL ADC? switches when enabling inputs + conf/ucm: kblrt5660: Add ucm setting for Dell Edge IoT platform + conf/ucm: chtrt5650: Add UCM config for chtrt5650 + ucm: Set default include path + conf: Move UCM profile snippets into components subdirectory + conf: USB-Audio: Add Dell WD19 Dock in the IEC958 blacklist + conf/ucm/Dell-WD15-Dock: Fix incorrect device names + * Documentation: + README.md: add link to www.alsa-project.org + initial version of README.md for github + * External PCM Filter Plugin SDK: + pcm: extplug: Keep format and channels the same if requested + * Test/Example code: + test/audio_time: remove unused variables + test: rename code to more approriate mixtest + test/code: make it work again + test/latecy: fix typo in tstamp compare + * Utils: + utils/alsa.m4: conditionally enable libdl in AM_PATH_ALSA m4 macro +- Drop obsoleted patches: + 0001-conf-ucm-Dell-WD15-Dock-Fix-incorrect-device-names.patch + 0002-pcm-interval-Interpret-x-x-1-correctly-and-return-x-.patch +- Remove obsoleted UCM profile for rt5640 +- Don't treat the non-existing $ALSA_CONFIG_PATH too severely + (bsc#1120893): + alsa-lib-ignore-non-accessible-ALSA_CONFIG_PATH.patch + +------------------------------------------------------------------- +Thu Nov 15 15:10:45 CET 2018 - tiwai@suse.de + +- Backport upstream fix for a PCM regression for audacity + (bsc#1116153): + 0002-pcm-interval-Interpret-x-x-1-correctly-and-return-x-.patch + +------------------------------------------------------------------- +Thu Oct 18 14:26:32 CEST 2018 - tiwai@suse.de + +- Fix the incorrect UCM profile for Dell WD15 dock (bsc#1112292): + 0001-conf-ucm-Dell-WD15-Dock-Fix-incorrect-device-names.patch + +------------------------------------------------------------------- +Wed Oct 17 10:22:37 CEST 2018 - tiwai@suse.de + +- Updated to alsa-lib 1.1.7: + * change the location for add-on configs to /etc/alsa/conf.d + * topology: Fix bclk and fsync inversion in set_link_hw_format() + * topology: Add missing clock gating parameter when parsing hw_configs + * topology: Add definitions for mclk_direction values + * topology: Add alias conf parameter names for hw_configs + * softvol: Allow up to 90 dB of gain + * ucm: adding the folder of card_long_name when finding verb conf file + * TLV macro cleanup and fixes + * conf: USB-audio: Fix for Xonar U7 SPDIF device + * pcm: add missing flags initialization for the fallback control data + * pcm ioplug: fix some coverity issues + * pcm: dmix: Fix hwptr updates at status call + * New UCM files: bytcr-rt5640, chtnau8824, Dell WD-dock + * UCM fixes: VEYRON-I2S, bytcr-rt5645, bytcr-rt5651, bytcr-rt5640, + chtrt5645 + * Comment fixes + * pcm: Define refine mask bits for DSD + * pcm: snd_interval_refine_first/last fix + * pcm: ioplug: Provide avail helper function for plugins + * pcm: rate: Add error check for snd_pcm_avail_update() + * pcm: Fix header guard in pcm_plugin.h + * pcm: ioplug: Transfer all available data + * control_hw: Fix issue when applying seccomp policy + * seq: Fix signedness in MIDI encoder/decoder +- Remove obsoleted patches: + 0001-ucm-adding-the-folder-of-card_long_name-when-finding.patch + 0002-conf-ucm-increase-the-input-volume-for-LineIn.patch + 0003-conf-ucm-chtrt5645-Cleanup-and-playback-fixes.patch + 0004-conf-ucm-chtrt5645-Microphone-recording-fixes.patch + 0005-conf-ucm-chtrt5645-Fix-recording-from-internal-analo.patch + 0006-conf-ucm-chtrt5645-At-config-for-the-Asus-T100HA.patch + 0007-conf-ucm-chtrt5645-At-config-for-the-Lenovo-Ideapad-.patch + 0008-conf-ucm-Add-a-UCM-profile-for-Dell-WD15-Dock-USB-au.patch + +------------------------------------------------------------------- +Wed May 2 17:11:29 CEST 2018 - tiwai@suse.de + +- Backport UCM fix and new profiles from upstream (bsc#1091678): + 0001-ucm-adding-the-folder-of-card_long_name-when-finding.patch + 0002-conf-ucm-increase-the-input-volume-for-LineIn.patch + 0003-conf-ucm-chtrt5645-Cleanup-and-playback-fixes.patch + 0004-conf-ucm-chtrt5645-Microphone-recording-fixes.patch + 0005-conf-ucm-chtrt5645-Fix-recording-from-internal-analo.patch + 0006-conf-ucm-chtrt5645-At-config-for-the-Asus-T100HA.patch + 0007-conf-ucm-chtrt5645-At-config-for-the-Lenovo-Ideapad-.patch + 0008-conf-ucm-Add-a-UCM-profile-for-Dell-WD15-Dock-USB-au.patch + +------------------------------------------------------------------- +Wed Apr 4 14:14:10 CEST 2018 - tiwai@suse.de + +- Avoid the use of license tag for old distros for fixing build + +------------------------------------------------------------------- +Wed Apr 4 08:28:28 CEST 2018 - tiwai@suse.de + +- Updated to alsa-lib 1.1.6: + * Change FSF address (Franklin Street) + * pcm: route: Fix use_getput flag computation for 3 byte formats + * test: correct emulation for channel-map TLV + * Change snd_dlopen() function to return the error string + * configure.ac: build extra mixer modules conditionally + * configure.ac: do not enable alisp code by default + * conf/ucm: Rearrange Makefile.am + * conf/ucm: Add dual HD-audio codecs config for Lenovo + * conf/ucm: Add Gigabyte mobo UCM profile with dual HD-audio codecs + * asound.h: add SNDRV_PCM_FORMAT_{S, U}20 + * pcm: add and describe SND_PCM_FORMAT_{S, U}20 + * pcm: linear, route: handle linear formats with 20-bit sample on 4 bytes + * pcm: plug: add SND_PCM_FORMAT_{S, U}20 to linear_preferred_formats + * pcm: remove unused macros of COPY_LABELS/COPY_END + * pcm: remove unused macros of GETU_LABELS/GETU_END + * pcm: remove unused macros of NORMS_LABELS/NORMS_END + * pcm: fix wrong comments for some cases of linear interpolation of PCM samples + * topology: Fix to skip writing of header for compound elements + * control: Proper reference of internal versioned functions + * timer: Proper reference of internal versioned symbols + * core: Proper reference of internal snd_dlopen() + * conf/ucm: Add chtrt5645-mono-speaker-analog-mic configuration + * pcm: Return the consistent error code for unexpected PCM states + * pcm: Fix two bugs in snd_pcm_area_silence() + * pcm: fix a bug to copy silent samples aligned to 64 + * pcm: another fix for the snd_pcm_area_silence() fast path + * pcm: ioplug: Use boundary for wrap around + * pcm: Do not access lock_enabled if thread safe API + * pcm: ioplug: Provide hw_avail helper function for plugins + * pcm: Provide areas_copy function which handles buffer wrap around + * pcm: ioplug: update prepare and draining state correctly + * topology: Fix parsing config with multiple hw_configs + * pcm: hw: Keep control data from kernel when SND_PCM_APPEND + * control ext: fix the default .rawmidi_next_device callback + * modules: smixer_python - add support for python3 + * a set of fixes to reduce gcc warnings + * pcm: Skip avail_min check during draining + * pcm: ioplug: Implement proper drain behavior + * conf: USB-Audio: Add second S/PDIF device on Phiree U2SX +- Remove obsoleted patches: + 0001-pcm-route-Fix-use_getput-flag-computation-for-3-byte.patch + 0002-conf-ucm-Rearrange-Makefile.am.patch + 0003-conf-ucm-Add-dual-HD-audio-codecs-config-for-Lenovo.patch + 0004-conf-ucm-Add-Gigabyte-mobo-UCM-profile-with-dual-HD-.patch + 0005-conf-ucm-Add-chtrt5645-mono-speaker-analog-mic-confi.patch + 0006-pcm-Return-the-consistent-error-code-for-unexpected-.patch +- Use %license file tag + +------------------------------------------------------------------- +Wed Feb 28 22:33:05 CET 2018 - tiwai@suse.de + +- Add UCM profile for Baytrail CR with RT5460 (bsc#1083195) + +------------------------------------------------------------------- +Thu Jan 18 12:26:08 CET 2018 - tiwai@suse.de + +- Upstream fixes: + * Add the new ucm for Cherrytrail devices (bsc#1068546): + 0005-conf-ucm-Add-chtrt5645-mono-speaker-analog-mic-confi.patch + * Fix for error code from PCM API functions at unexpected states: + 0006-pcm-Return-the-consistent-error-code-for-unexpected-.patch + +------------------------------------------------------------------- +Tue Dec 19 08:12:02 CET 2017 - tiwai@suse.de + +- Recover udev 42-hd-audio-pm.rules for TW that was dropped + mistakenly at the previous change + +------------------------------------------------------------------- +Mon Dec 18 15:59:05 CET 2017 - tiwai@suse.de + +- Backport fix patches from upstream: + 0001-pcm-route-Fix-use_getput-flag-computation-for-3-byte.patch + 0002-conf-ucm-Rearrange-Makefile.am.patch + 0003-conf-ucm-Add-dual-HD-audio-codecs-config-for-Lenovo.patch + 0004-conf-ucm-Add-Gigabyte-mobo-UCM-profile-with-dual-HD-.patch +- Add missing UCM profile for chtcx2072x (bsc#1068546) + +------------------------------------------------------------------- +Thu Nov 23 13:42:45 UTC 2017 - rbrown@suse.com + +- Replace references to /var/adm/fillup-templates with new + %_fillupdir macro (boo#1069468) + +------------------------------------------------------------------- +Tue Nov 14 12:49:25 CET 2017 - tiwai@suse.de + +- Update to alsa-lib 1.1.5: + * snd_user_file: avoid use wordexp + * cleanup: fix poll.h includes + * ctl: deprecate APIs of dimensional information + * ctl: ext: error at undefined read_event() callback + * pcm: softvol: add support for S24_LE + * cleanup: Use uint*_t instead of u_int*_t everythwere + * cleanup: fix poll.h includes + * pcm: hw: Call USER_PVERSION ioctl at open + * pcm: hw: proper mmap and set_appl_ptr handling + * pcm: code cleanup and refactoring + * pcm: obsolete 'mmap_emulation' parameter of snd_pcm_hw_open_fd() + * pcm: dmix: Fix the inconsistent PCM state + * pcm: dshare: Call snd_pcm_dshare_state() directly + * pcm: dmix: Workaround for binary incompatibility + * conf: Check the availability of PTHREAD_MUTEX_RECURSIVE + * build: Define __USE_UNIX98 for old glibc + * rawmidi: symbols: use rawmidi_virt only when available + * seq: fix snd_seq_set_queue_tempo() usage example in the documentation + * topology: a few fixes + * conf/ucm: rt565 support + * conf: HdmiLpeAudio: add support for 3 devices + * conf: HdmiLpeAudio: remove the "front" pcm definition + * conf/ucm: DB410c-HiFi: add CIC selection + * conf: USB-Audio: allow custom definitions for "default" devices + * conf: USB-Audio: fix dsnoop args for Audiophile USB card + +------------------------------------------------------------------- +Thu Jun 1 09:58:27 CEST 2017 - tiwai@suse.de + +- Update to alsa-lib 1.1.4.1: it's a bug-fix release, including + all previous patches: + * pcm: dmix: Fix the inconsistent PCM state + * pcm: dshare: Call snd_pcm_dshare_state() directly + * pcm: dmix: Workaround for binary incompatibility + * test: add a test for list operation to user-defined element sets + * conf: Check the availability of PTHREAD_MUTEX_RECURSIVE + * build: Define __USE_UNIX98 for old glibc + +- Obsoleted patches: + 0001-build-Define-__USE_UNIX98-for-old-glibc.patch + 0098-dmix-Workaround-for-binary-incompatibility.patch + +------------------------------------------------------------------- +Tue May 16 15:32:13 CEST 2017 - tiwai@suse.de + +- Update to alsa-lib 1.1.4: including most of previous fixes, + in addition to topology API updates +- Upstream fix for building with old glibc: + 0001-build-Define-__USE_UNIX98-for-old-glibc.patch +- Obsoleted patches: + 0001-ucm-Add-ATTRIBUTE_UNUSED-for-unused-parameters-of-ex.patch + 0002-ucm-parser-needs-limits.h.patch + 0003-pcm-direct-allow-users-to-configure-different-period.patch + 0004-pcm-dshare-enable-silence.patch + 0005-pcm-rate-fix-the-hw_ptr-update-until-the-boundary-av.patch + 0006-plugin-dynamically-update-avail_min-on-slave.patch + 0007-rate-dynamic-update-avail_min-on-slave.patch + 0008-topology-fix-unused-const-variable-warning.patch + 0009-seq-improve-documentation-about-new-get-pid-card-fun.patch + 0010-pcm-direct-returning-semop-error-code-for-semaphore-.patch + 0011-pcm-direct-Fix-for-sync-issue-on-xrun-recover.patch + 0012-pcm-direct-check-state-before-enter-poll-on-timer.patch + 0013-pcm-direct-don-t-return-bogus-buffer-levels-in-xrun-.patch + 0014-conf-ucm-broxton-add-broxton-rt298-conf-files.patch + 0015-pcm-direct-Fix-deadlock-in-poll_descriptors.patch + 0016-ucm-Assure-the-user-input-card-name-not-to-exceed-ma.patch + 0017-ucm-Load-device-specific-configuration-file-based-on.patch + 0018-ucm-Add-command-get-_file-to-get-the-config-file-nam.patch + 0019-topology-Fix-incorrect-license-in-source-comments.patch + 0020-conf-cards-add-support-for-pistachio-card.patch + 0021-pcm-multi-Drop-the-fixed-slave_map-in-snd_pcm_multi_.patch + 0022-conf-Add-card-config-for-Intel-HDMI-DP-LPE-audio.patch + 0023-pcm-Avoid-lock-for-snd_pcm_nonblock.patch + 0024-pcm-Disable-locking-in-async-mode.patch + 0025-pcm-dmix-Allow-disabling-x86-optimizations.patch + 0026-pcm-dmix_rewind-corrupts-application-pointer-fix.patch + 0027-pcm-direct-fix-race-on-clearing-timer-events.patch + 0028-pcm-file-Enable-file-writing-for-capture-path.patch + 0029-pcm-status-dump-fix-timestamp-formatting.patch + 0030-pcm-extplug-refinement-of-masks-in-extplug.patch + 0031-pcm-rate-Add-capability-to-pass-configuration-node-t.patch + 0032-Drop-ppc64-specific-workaround-for-versioned-symbols.patch + 0033-pcm_plugin-unify-the-snd_pcm_mmap_begin-result-value.patch + 0034-always-handle-return-value-from-snd_config_get_id-co.patch + 0035-pcm-file-plugin-handle-snd_pcm_mmap_begin-error-path.patch + 0036-topology-coverity-remove-dead-code.patch + 0037-ucm-parser-fix-possible-string-overflow-in-uc_mgr_im.patch + 0038-dmix-plugin-fix-drain-for-nonblock-mode.patch + 0039-dmix-plugin-drain-quickfix-for-the-previous-patch.patch + 0040-rawmidi-virtual-fix-reading-into-a-small-buffer.patch + 0041-conf-cards-add-VC4-HDMI-card.patch + 0042-pcm-plug-save-converter-config.patch + 0043-pcm-file-delegate-htimestamping-to-slave-instead-of-.patch + 0096-conf-Remove-dmix.direct_memory_access-setup.patch + 0097-pcm-dmix-Disable-var_periodsize-as-default.patch + +------------------------------------------------------------------- +Wed May 3 10:07:17 CEST 2017 - tiwai@suse.de + +- Remove direct_memory_access flag from dmix definition again for + fixing a regression used with old alsa-lib binary (boo#1037021): + 0096-conf-Remove-dmix.direct_memory_access-setup.patch + +------------------------------------------------------------------- +Mon Apr 10 10:25:09 CEST 2017 - tiwai@suse.de + +- Disable dmix var_periodsize as default (boo#1033179) + 0097-pcm-dmix-Disable-var_periodsize-as-default.patch + +- Workaround for binary incompatibility of dmix shm (boo#1033080): + 0098-dmix-Workaround-for-binary-incompatibility.patch + +------------------------------------------------------------------- +Wed Mar 29 17:26:08 CEST 2017 - tiwai@suse.de + +- Backport upstream fix patches, including the deadlock fix for + aplay/arecord (boo#1031525): + 0001-ucm-Add-ATTRIBUTE_UNUSED-for-unused-parameters-of-ex.patch + 0002-ucm-parser-needs-limits.h.patch + 0003-pcm-direct-allow-users-to-configure-different-period.patch + 0004-pcm-dshare-enable-silence.patch + 0005-pcm-rate-fix-the-hw_ptr-update-until-the-boundary-av.patch + 0006-plugin-dynamically-update-avail_min-on-slave.patch + 0007-rate-dynamic-update-avail_min-on-slave.patch + 0008-topology-fix-unused-const-variable-warning.patch + 0009-seq-improve-documentation-about-new-get-pid-card-fun.patch + 0010-pcm-direct-returning-semop-error-code-for-semaphore-.patch + 0011-pcm-direct-Fix-for-sync-issue-on-xrun-recover.patch + 0012-pcm-direct-check-state-before-enter-poll-on-timer.patch + 0013-pcm-direct-don-t-return-bogus-buffer-levels-in-xrun-.patch + 0014-conf-ucm-broxton-add-broxton-rt298-conf-files.patch + 0015-pcm-direct-Fix-deadlock-in-poll_descriptors.patch + 0016-ucm-Assure-the-user-input-card-name-not-to-exceed-ma.patch + 0017-ucm-Load-device-specific-configuration-file-based-on.patch + 0018-ucm-Add-command-get-_file-to-get-the-config-file-nam.patch + 0019-topology-Fix-incorrect-license-in-source-comments.patch + 0020-conf-cards-add-support-for-pistachio-card.patch + 0021-pcm-multi-Drop-the-fixed-slave_map-in-snd_pcm_multi_.patch + 0022-conf-Add-card-config-for-Intel-HDMI-DP-LPE-audio.patch + 0023-pcm-Avoid-lock-for-snd_pcm_nonblock.patch + 0024-pcm-Disable-locking-in-async-mode.patch + 0025-pcm-dmix-Allow-disabling-x86-optimizations.patch + 0026-pcm-dmix_rewind-corrupts-application-pointer-fix.patch + 0027-pcm-direct-fix-race-on-clearing-timer-events.patch + 0028-pcm-file-Enable-file-writing-for-capture-path.patch + 0029-pcm-status-dump-fix-timestamp-formatting.patch + 0030-pcm-extplug-refinement-of-masks-in-extplug.patch + 0031-pcm-rate-Add-capability-to-pass-configuration-node-t.patch + 0032-Drop-ppc64-specific-workaround-for-versioned-symbols.patch + 0033-pcm_plugin-unify-the-snd_pcm_mmap_begin-result-value.patch + 0034-always-handle-return-value-from-snd_config_get_id-co.patch + 0035-pcm-file-plugin-handle-snd_pcm_mmap_begin-error-path.patch + 0036-topology-coverity-remove-dead-code.patch + 0037-ucm-parser-fix-possible-string-overflow-in-uc_mgr_im.patch + 0038-dmix-plugin-fix-drain-for-nonblock-mode.patch + 0039-dmix-plugin-drain-quickfix-for-the-previous-patch.patch + 0040-rawmidi-virtual-fix-reading-into-a-small-buffer.patch + 0041-conf-cards-add-VC4-HDMI-card.patch + 0042-pcm-plug-save-converter-config.patch + 0043-pcm-file-delegate-htimestamping-to-slave-instead-of-.patch + +------------------------------------------------------------------- +Mon Feb 13 10:28:23 UTC 2017 - tchvatal@suse.com + +- Drop alsa-lib-doxygen-avoid-crash-for-11.3.diff as it was applied + only in case of 11.3 and never else +- Use Requires(phase) instead of prereq string +- Use official %udevrulesdir macro instead of handbrew udevdir +- Version provides/obsoletes in devel pkg to avoid warning +- Remove hack that allowed build on SLE10 + +------------------------------------------------------------------- +Wed Feb 8 08:39:05 CET 2017 - kukuk@suse.de + +- Don't require insserv if we don't need it. + +------------------------------------------------------------------- +Wed Dec 28 16:38:57 CET 2016 - tiwai@suse.de + +- Really bump the version number to 1.1.3 (sorry, forgot to change + in Version tag). + +------------------------------------------------------------------- +Wed Dec 28 12:39:12 CET 2016 - tiwai@suse.de + +- Update to alsa-lib 1.1.3 release; + just including all previous fixes + +- Drop obsoleted patches: + 0001-ucm-Add-ucm-files-for-DB410c-board.patch + 0002-mixer-Fix-rounding-mode-documentation.patch + 0003-pcm-Fix-shm-initialization-race-condition.patch + 0004-pcm-Better-understandable-locking-code.patch + 0005-ucm-fix-crash-when-calling-snd_use_case_geti-with-no.patch + 0006-ucm-docs-typeset-lists-of-identifiers-explicitly.patch + 0007-Update-include-sound-tlv.h-from-4.9-pre-kernel-uapi.patch + 0008-test-use-actual-information-for-TLV-operation.patch + 0009-ctl-improve-API-documentation-for-TLV-operation.patch + 0010-ctl-improve-documentation-about-TLV-related-APIs.patch + 0011-ctl-correct-documentation-about-TLV-feature.patch + 0012-conf-ucm-skylake-add-skylake-rt286-conf-files.patch + 0013-pcm_plug-Clear-plugins-on-all-error-conditions.patch + 0014-mixer-Don-t-install-smixer-modules-unless-python-is-.patch + 0015-pcm_dshare-Do-not-discard-slave-reported-delay-in-st.patch + 0016-pcm-direct-Protect-from-freeing-semaphore-when-alrea.patch + 0017-pcm-dshare-Fix-endless-playback-of-buffer.patch + 0018-pcm-Add-the-PCM-state-checks-to-plugins.patch + 0019-pcm-dmix-Do-not-discard-slave-reported-delay-in-stat.patch + +------------------------------------------------------------------- +Tue Nov 29 15:01:05 CET 2016 - tiwai@suse.de + +- Backport upstream fixes (bsc#1012594): + - A few PCM bugs have been fixed: + * Stall of dmix and others in a wrong PCM state + * Refactoring of PCM locking scheme + * SHM initialization race fix + * plug PCM memory leaks + * Improvement of dshare/dmix delay calculation + * Fix endless dshare draining + * Fix semaphore discard race fix of direct plugins + - UCM fixes and updates for DB410c and skylake-r5286 + - Mixer code cleanup not to install bogus plugin codes + - Documentation fixes / updates + + 0001-ucm-Add-ucm-files-for-DB410c-board.patch + 0002-mixer-Fix-rounding-mode-documentation.patch + 0003-pcm-Fix-shm-initialization-race-condition.patch + 0004-pcm-Better-understandable-locking-code.patch + 0005-ucm-fix-crash-when-calling-snd_use_case_geti-with-no.patch + 0006-ucm-docs-typeset-lists-of-identifiers-explicitly.patch + 0007-Update-include-sound-tlv.h-from-4.9-pre-kernel-uapi.patch + 0008-test-use-actual-information-for-TLV-operation.patch + 0009-ctl-improve-API-documentation-for-TLV-operation.patch + 0010-ctl-improve-documentation-about-TLV-related-APIs.patch + 0011-ctl-correct-documentation-about-TLV-feature.patch + 0012-conf-ucm-skylake-add-skylake-rt286-conf-files.patch + 0013-pcm_plug-Clear-plugins-on-all-error-conditions.patch + 0014-mixer-Don-t-install-smixer-modules-unless-python-is-.patch + 0015-pcm_dshare-Do-not-discard-slave-reported-delay-in-st.patch + 0016-pcm-direct-Protect-from-freeing-semaphore-when-alrea.patch + 0017-pcm-dshare-Fix-endless-playback-of-buffer.patch + 0018-pcm-Add-the-PCM-state-checks-to-plugins.patch + 0019-pcm-dmix-Do-not-discard-slave-reported-delay-in-stat.patch + +- smixer module files got removed from the file list as well + +------------------------------------------------------------------- +Wed Aug 3 11:22:16 CEST 2016 - tiwai@suse.de + +- Update to alsa-lib v1.1.2: + * topology API updates + * support of stacked async handlers + * new UCM configs: rockchip-i2s, skylake-i2s, chtrt5645, + * add cset-tlv ucm support + * fix conversion of TLVs min_db and max_dB value in softvol + * fix appl pointer in the error path of PCM plugin + * PCM code cleanup + * fix suspend/resume of PCM dmix, dsnoop and dshare plugins + * fix doubly enumerated items via namehint + * make PCM codes thread-safe + * API documentation enhancements + * element-set ctl API + * Optimization by replacing alloca() usages + +- Drop obsoleted patches: + 0001-pcm_plugin-fix-appl-pointer-not-correct-when-mmap_co.patch + 0002-pcm-Clean-up-error-paths-in-snd_pcm_plugin_-helpers.patch + 0003-pcm-Fallback-open-as-the-first-instance-for-dmix-co.patch + 0004-pcm-softvol-fix-conversion-of-TLVs-min_db-and-max_dB.patch + 0005-pcm-Fix-suspend-resume-regression-with-dmix-co.patch + 0006-pcm-dmix-Fix-doubly-resume-of-slave-PCM.patch + 0007-namehint-Don-t-enumerate-as-duplex-if-only-a-single-.patch + 0008-pcm-Define-namehint-for-single-directional-PCM-types.patch + 0009-conf-Add-thread-safe-global-tree-reference.patch + 0010-pcm-Remove-resume-support-from-dmix-co.patch + 0011-pcm-Fix-secondary-retry-in-dsnoop-and-dshare.patch + 0012-pcm-dmix-resume-workaround-for-buggy-driver.patch + 0013-pcm-dmix-Prepare-slave-when-it-s-in-SETUP-too.patch + 0014-pcm-dmix-Return-error-when-slave-is-in-OPEN-or-DISCO.patch + 0015-async-Handle-previously-installed-signal-handler.patch + alsa-docs-suppress-timestamp.patch + +------------------------------------------------------------------- +Wed Jun 8 10:30:29 CEST 2016 - tiwai@suse.de + +- Backport upstream fixes: fixing PCM dmix & co suspend/resume, + namehint parser fixes, stackable async handler: + 0007-namehint-Don-t-enumerate-as-duplex-if-only-a-single-.patch + 0008-pcm-Define-namehint-for-single-directional-PCM-types.patch + 0009-conf-Add-thread-safe-global-tree-reference.patch + 0010-pcm-Remove-resume-support-from-dmix-co.patch + 0011-pcm-Fix-secondary-retry-in-dsnoop-and-dshare.patch + 0012-pcm-dmix-resume-workaround-for-buggy-driver.patch + 0013-pcm-dmix-Prepare-slave-when-it-s-in-SETUP-too.patch + 0014-pcm-dmix-Return-error-when-slave-is-in-OPEN-or-DISCO.patch + 0015-async-Handle-previously-installed-signal-handler.patch + +------------------------------------------------------------------- +Thu May 12 14:44:48 CEST 2016 - tiwai@suse.de + +- Backport various upstream fixes for PCM (bnc#979702): + 0001-pcm_plugin-fix-appl-pointer-not-correct-when-mmap_co.patch + 0002-pcm-Clean-up-error-paths-in-snd_pcm_plugin_-helpers.patch + 0003-pcm-Fallback-open-as-the-first-instance-for-dmix-co.patch + 0004-pcm-softvol-fix-conversion-of-TLVs-min_db-and-max_dB.patch + 0005-pcm-Fix-suspend-resume-regression-with-dmix-co.patch + 0006-pcm-dmix-Fix-doubly-resume-of-slave-PCM.patch + +------------------------------------------------------------------- +Thu Mar 31 15:19:33 CEST 2016 - tiwai@suse.de + +- Update to alsa-lib 1.1.1: + * including previous fixes + * a few more fixes/cleanup of control API + * BSD compatibility changes + * sync with 4.6 kernel ABI + * provide API for sequencer sound card number / pid + * fix races at dmix/dsnoop plugin + * a few topology API updates +- Drop the obsoleted patches: + 0001-topology-Add-missing-include-sys-stat.h.patch + 0002-pcm-simple-Fix-asserts.patch + 0003-topology-open-topology-files-with-O_TRUNC.patch + 0004-topology-Remove-unused-function-write_data_block.patch + 0005-topology-Remove-unused-variables.patch + 0006-topology-Fix-comparison-of-unsigned-expression-0.patch + 0007-topology-Not-compare-a-for-loop-iterator-with-ABI-__.patch + 0008-topology-Quit-and-show-error-message-on-big-endian-m.patch + 0009-config-files-do-not-include-ucm-topology-configurati.patch + 0010-control-add-missing-asserts-to-ctl_elem_set-function.patch + 0011-pcm_hw-fix-possible-memory-leak-coverity.patch + 0012-coverity-fixes.patch + 0013-topology-fix-debug-output-to-print-correct-max-value.patch + +------------------------------------------------------------------- +Wed Feb 3 17:56:41 CET 2016 - tiwai@suse.de + +- Backports from upstream: minor PCM fixes, topology API updates, + and a few build cleanup: + 0002-pcm-simple-Fix-asserts.patch + 0003-topology-open-topology-files-with-O_TRUNC.patch + 0004-topology-Remove-unused-function-write_data_block.patch + 0005-topology-Remove-unused-variables.patch + 0006-topology-Fix-comparison-of-unsigned-expression-0.patch + 0007-topology-Not-compare-a-for-loop-iterator-with-ABI-__.patch + 0008-topology-Quit-and-show-error-message-on-big-endian-m.patch + 0009-config-files-do-not-include-ucm-topology-configurati.patch + 0010-control-add-missing-asserts-to-ctl_elem_set-function.patch + 0011-pcm_hw-fix-possible-memory-leak-coverity.patch + 0012-coverity-fixes.patch + 0013-topology-fix-debug-output-to-print-correct-max-value.patch + +------------------------------------------------------------------- +Mon Nov 9 11:32:40 CET 2015 - tiwai@suse.de + +- Update to alsa-lib 1.1.0: + including all previous fixes, with more updates for topology API, + a fix for dmix/dsnoop slave PCM xrun, some build fixes / + improvements. +- Fix the build with old gcc on SLE11: + 0001-topology-Add-missing-include-sys-stat.h.patch +- Dropped patches: + 0001-ucm-document-some-standard-values.patch + 0002-conf-ucm-broadwell-rt286-add-ucm-config.patch + 0003-conf-ucm-Add-Makefile.am-for-broadwell-rt286-ucm-con.patch + 0004-ucm-reformat-snd_use_case_get-doc.patch + 0005-ucm-improve-jack-configuration-documentation.patch + 0006-USB-audio-Sound-Blaster-HD-iec958-is-on-device-1.patch + 0007-Sync-include-sound-asound.h-with-4.1-kernel.patch + 0008-conf-ucm-broadwell-rt286-change-to-use-the-correct-j.patch + 0009-namehint-Fix-invalid-list-access-in-snd_device_name_.patch + 0010-namehint-Fix-the-listing-without-device-number.patch + 0011-namehint-Fix-bad-free-with-invalid-iface-name.patch + 0012-Allow-hint-for-ctl-hwdep-timer-and-seq.patch + 0013-conf-Add-hint-descriptions-to-ctl-hwdep-seq-and-time.patch + 0014-conf-ucm-broadwell-rt286-change-to-set-capture-volum.patch + 0015-ucm-allow-multiple-devices-in-JackHWMute.patch + 0016-pcm-Remove-assert-from-snd_pcm_hw_params_slave.patch + 0017-test-pcm-Fix-generated-values-with-float-PCM-format.patch + 0018-test-pcm_min-Fix-error-messages.patch + 0019-pcm-Don-t-assert-in-_snd_pcm_hw_params_internal.patch + 0020-pcm-Fix-snd_pcm_status-for-dmix-co.patch + 0021-control-Allow-cset-ing-specific-values-in-the-multi-.patch + 0022-PCM-snd_pcm_xxxx_drain-maybe-blocked-after-suspend-a.patch + 0023-surround41-50.conf-Use-chmap-syntax-for-better-flexi.patch + 0024-ucm-docs-fix-doxygen-exclude-patch-for-UCM-local-hea.patch + 0025-ucm-docs-Fix-doxygen-formatting-for-UCM-main-page.patch + 0026-docs-Add-UCM-link-to-main-doxygen-page.patch + 0027-Replace-unsafe-characters-with-_-in-card-name.patch + 0028-pcm-add-helper-functions-to-query-timestamping-capab.patch + 0029-pcm-add-support-for-get-set_audio_htstamp_config.patch + 0030-pcm-add-support-for-new-STATUS_EXT-ioctl.patch + 0031-test-fix-audio_time-with-new-get-set-audio_tstamp_co.patch + 0032-test-audio_time-show-report-validity-and-accuracy.patch + 0033-pcm-restore-hw-params-on-set-latency-failed.patch + 0034-Replace-list.h-with-its-own-version.patch + 0035-topology-uapi-Add-UAPI-headers-for-topology-ABI.patch + 0036-topology-Add-topology-core-parser.patch + 0037-topology-Add-text-section-parser.patch + 0038-topology-Add-PCM-parser.patch + 0039-topology-Add-operations-parser.patch + 0040-topology-Add-private-data-parser.patch + 0041-topology-Add-DAPM-object-parser.patch + 0042-topology-Add-CTL-parser.patch + 0043-topology-Add-Channel-map-parser.patch + 0044-topology-Add-binary-file-builder.patch + 0045-topology-autotools-Add-build-support-for-topology-co.patch + 0046-topology-doxygen-Add-doxygen-support-for-topology-co.patch + 0047-conf-topology-Add-topology-file-for-broadwell-audio-.patch + 0048-topology-Fix-missing-inclusion-of-ctype.h.patch + 0049-topology-Fix-typos.patch + 0050-topology-fix-element-object-type-is-switch.patch + 0051-topology-Add-element-ID-so-we-can-look-up-references.patch + 0052-topology-Add-support-for-writing-manifest-private-da.patch + 0053-topology-update-ABI-to-improve-support-for-different.patch + 0054-topology-Add-ops-support-to-byte-control-objects.patch + 0055-topology-treat-all-DAPM-controls-types-the-same-when.patch + 0056-topology-print-error-prefix-on-error-message.patch + 0057-topology-rename-OBJECT_TYPE_-to-SND_TPLG_TYPE_.patch + 0058-core-add-convenience-macros-to-local.h.patch + 0059-topology-Add-C-templates-structure-for-building-topo.patch + 0060-topology-A-API-calls-to-directly-build-topology-data.patch + 0061-pcm-Fix-doxygen-for-two-enums.patch + 0062-pcm-ioplug-extplug-Fix-logic-errors-in-type-checks.patch + 0063-pcm-route-Remove-bogus-in-snd_config_get_id-checks.patch + 0064-topology-builder-Fix-possibly-uninitialized-variable.patch + 0065-topology-ctl-Fix-access-type-checks.patch + 0066-topology-data-Fix-wrong-size-check-in-tplg_parse_dat.patch + 0067-topology-parser-Add-missing-return-value-to-snd_tplg.patch + 0068-topology-pcm-Remove-unused-variables.patch + 0069-build-Do-not-try-to-detect-cross-compiler.patch + 0070-topology-Add-API-to-set-a-vendor-specific-version-nu.patch + 0071-pcm-ladspa-Fix-segfault-due-to-a-wrong-channel-refer.patch + +------------------------------------------------------------------- +Fri Oct 2 12:11:24 CEST 2015 - tiwai@suse.de + +- Backport upsteram fixes: more topology API updates/fixes, misc + documentation fixes, some logical error fixes in PCM plugins, + LADSPA plugin segfault fix: + 0050-topology-fix-element-object-type-is-switch.patch + 0051-topology-Add-element-ID-so-we-can-look-up-references.patch + 0052-topology-Add-support-for-writing-manifest-private-da.patch + 0053-topology-update-ABI-to-improve-support-for-different.patch + 0054-topology-Add-ops-support-to-byte-control-objects.patch + 0055-topology-treat-all-DAPM-controls-types-the-same-when.patch + 0056-topology-print-error-prefix-on-error-message.patch + 0057-topology-rename-OBJECT_TYPE_-to-SND_TPLG_TYPE_.patch + 0058-core-add-convenience-macros-to-local.h.patch + 0059-topology-Add-C-templates-structure-for-building-topo.patch + 0060-topology-A-API-calls-to-directly-build-topology-data.patch + 0061-pcm-Fix-doxygen-for-two-enums.patch + 0062-pcm-ioplug-extplug-Fix-logic-errors-in-type-checks.patch + 0063-pcm-route-Remove-bogus-in-snd_config_get_id-checks.patch + 0064-topology-builder-Fix-possibly-uninitialized-variable.patch + 0065-topology-ctl-Fix-access-type-checks.patch + 0066-topology-data-Fix-wrong-size-check-in-tplg_parse_dat.patch + 0067-topology-parser-Add-missing-return-value-to-snd_tplg.patch + 0068-topology-pcm-Remove-unused-variables.patch + 0069-build-Do-not-try-to-detect-cross-compiler.patch + 0070-topology-Add-API-to-set-a-vendor-specific-version-nu.patch + 0071-pcm-ladspa-Fix-segfault-due-to-a-wrong-channel-refer.patch + +------------------------------------------------------------------- +Tue Aug 4 17:41:39 CEST 2015 - tiwai@suse.de + +- Backport upstream fixes: surround41/50 chmap fix, UCM documents, + config string fix, PCM timestamp query API, replacement of list.h + with LGPL: + 0023-surround41-50.conf-Use-chmap-syntax-for-better-flexi.patch + 0024-ucm-docs-fix-doxygen-exclude-patch-for-UCM-local-hea.patch + 0025-ucm-docs-Fix-doxygen-formatting-for-UCM-main-page.patch + 0026-docs-Add-UCM-link-to-main-doxygen-page.patch + 0027-Replace-unsafe-characters-with-_-in-card-name.patch + 0028-pcm-add-helper-functions-to-query-timestamping-capab.patch + 0029-pcm-add-support-for-get-set_audio_htstamp_config.patch + 0030-pcm-add-support-for-new-STATUS_EXT-ioctl.patch + 0031-test-fix-audio_time-with-new-get-set-audio_tstamp_co.patch + 0032-test-audio_time-show-report-validity-and-accuracy.patch + 0033-pcm-restore-hw-params-on-set-latency-failed.patch + 0034-Replace-list.h-with-its-own-version.patch +- Backport topology API addition patches: + 0035-topology-uapi-Add-UAPI-headers-for-topology-ABI.patch + 0036-topology-Add-topology-core-parser.patch + 0037-topology-Add-text-section-parser.patch + 0038-topology-Add-PCM-parser.patch + 0039-topology-Add-operations-parser.patch + 0040-topology-Add-private-data-parser.patch + 0041-topology-Add-DAPM-object-parser.patch + 0042-topology-Add-CTL-parser.patch + 0043-topology-Add-Channel-map-parser.patch + 0044-topology-Add-binary-file-builder.patch + 0045-topology-autotools-Add-build-support-for-topology-co.patch + 0046-topology-doxygen-Add-doxygen-support-for-topology-co.patch + 0047-conf-topology-Add-topology-file-for-broadwell-audio-.patch + 0048-topology-Fix-missing-inclusion-of-ctype.h.patch + 0049-topology-Fix-typos.patch +- Enable autoreconf call to regenerate after patching + +------------------------------------------------------------------- +Fri Jul 31 07:35:12 UTC 2015 - dimstar@opensuse.org + +- Change libudev-devel BuildRequires to pkgconfig(udev): makes us + less prone to packaging changes, and in the end udev.pc is + exactly what we need to define _udevdir. + +------------------------------------------------------------------- +Thu Jun 18 09:32:07 CEST 2015 - tiwai@suse.de + +- Backport upstream fixes: fix bogus assert() in hw_params, a few + PCM dmix/dshare/dsnoop fixes, enhacement of amixer, etc: + 0017-test-pcm-Fix-generated-values-with-float-PCM-format.patch + 0018-test-pcm_min-Fix-error-messages.patch + 0019-pcm-Don-t-assert-in-_snd_pcm_hw_params_internal.patch + 0020-pcm-Fix-snd_pcm_status-for-dmix-co.patch + 0021-control-Allow-cset-ing-specific-values-in-the-multi-.patch + 0022-PCM-snd_pcm_xxxx_drain-maybe-blocked-after-suspend-a.patch + +------------------------------------------------------------------- +Fri May 22 14:16:26 CEST 2015 - tiwai@suse.de + +- Backport upstream fixes: UCM updates, Broadwell UCM support, + namehint fixes, fix faulty assert in PCM plugins, etc: + 0001-ucm-document-some-standard-values.patch + 0002-conf-ucm-broadwell-rt286-add-ucm-config.patch + 0003-conf-ucm-Add-Makefile.am-for-broadwell-rt286-ucm-con.patch + 0004-ucm-reformat-snd_use_case_get-doc.patch + 0005-ucm-improve-jack-configuration-documentation.patch + 0006-USB-audio-Sound-Blaster-HD-iec958-is-on-device-1.patch + 0007-Sync-include-sound-asound.h-with-4.1-kernel.patch + 0008-conf-ucm-broadwell-rt286-change-to-use-the-correct-j.patch + 0009-namehint-Fix-invalid-list-access-in-snd_device_name_.patch + 0010-namehint-Fix-the-listing-without-device-number.patch + 0011-namehint-Fix-bad-free-with-invalid-iface-name.patch + 0012-Allow-hint-for-ctl-hwdep-timer-and-seq.patch + 0013-conf-Add-hint-descriptions-to-ctl-hwdep-seq-and-time.patch + 0014-conf-ucm-broadwell-rt286-change-to-set-capture-volum.patch + 0015-ucm-allow-multiple-devices-in-JackHWMute.patch + 0016-pcm-Remove-assert-from-snd_pcm_hw_params_slave.patch + +------------------------------------------------------------------- +Thu Feb 26 17:24:22 CET 2015 - tiwai@suse.de + +- Updated to alsa-lib 1.0.29: + Just a version bump including previous fixes +- Drop the obsoleted patches: + 0001-ucm-Document-PlaybackPCMIsDummy-and-CapturePCMIsDumm.patch + 0002-ICE1712-add-surround71-pcm-definition.patch + 0003-USB-Audio-Add-second-S-PDIF-device-on-Phiree-U2.patch + 0004-pcm-rate-fix-hw_ptr-exceed-the-boundary.patch + 0005-pcm-Provide-a-CLOCK_MONOTONIC_RAW-timestamp-type.patch + 0006-Add-timestamp-type-to-sw_params-internal-only.patch + 0007-pcm-Add-sw_params-API-functions-to-get-set-timestamp.patch + 0008-pcm-Implement-timestamp-type-setup-in-hw-plugin.patch + 0009-pcm-Implement-timestamp-type-handling-in-all-plugins.patch + 0010-test-audio_time-Set-timestamp-type-explicitly.patch + 0011-pcm-route-Use-get-put-labels-for-all-3-byte-formats.patch + 0012-pcm-Fill-sw_params-proto-field.patch + 0013-pcm-route-Use-get32-for-multi-source-route-calculati.patch + 0014-pcm-Drop-snd_pcm_linear_-get-put-32_index.patch + 0015-pcm-pcm_local.h-include-time.h-to-enable-CLOCK_MONOT.patch + 0016-pcm-Fix-DSD-formats-userland-usability.patch + 0017-Sync-include-sound-asound.h-with-3.17-rc1-kernel.patch + 0018-pcm-Add-missing-signed-and-endianess-definitions-for.patch + 0019-Sync-enum-snd_hwdep_iface_t-with-include-asound-asou.patch + 0020-pcm-2nd-round-of-pcm_misc-DSD-fixes.patch + 0021-doc-fix-cross-compiling-example.patch + 0022-pcm-fix-snd_pcm_mmap_hw_avail-near-the-boundary.patch + 0023-pcm-fix-return-value-of-snd_pcm_share_slave_avail.patch + 0024-pcm-add-new-32-bit-DSD-sample-format.patch + 0025-dmix-actually-rewind-when-running-or-being-drained.patch + 0026-pcm-express-the-rewind-size-limitation-logic-better.patch + 0027-pcm-handle-negative-values-from-snd_pcm_mmap_hw_avai.patch + 0028-pcm-rate-use-the-snd_pcm_mmap_hw_avail-function.patch + 0029-pcm-null-use-the-snd_pcm_mmap_avail-function.patch + 0030-rate-handle-negative-values-from-snd_pcm_mmap_playba.patch + 0031-dsnoop-rewindable-and-forwardable-logic-was-swapped.patch + 0033-pcm-file-don-t-recurse-in-the-rewindable-and-forward.patch + 0034-pcm-route-Fix-the-bad-condition-always-false.patch + 0035-pcm-rate-hw_avail-must-not-be-negative-before-starti.patch + 0036-hwdep-add-missing-declaration-for-snd_hwdep_poll_des.patch + 0037-mixer-fixed-double-free.patch + 0038-pcm_file-fixed-missing-free.patch + 0039-sbase-fixed-missing-free.patch + 0040-rawmidi-close-handle-h.patch + 0041-pcm_share-fixing-missing-mutex-unlock.patch + 0042-simple_abst-null-check-for-lib.patch + 0043-socket-missing-socket-close.patch + 0044-pcm_hooks-null-check-for-h.patch + 0045-conf-return-negative-value-in-case-of-error.patch + 0046-control-return-negative-value-in-case-of-error.patch + 0047-pcm-return-negative-value-in-case-of-error.patch + 0048-mixer-Fix-missing-hctl-handle-free-in-snd_mixer_atta.patch + 0049-conf-ucm-PAZ00-add-Toshiba-AC100-Dynabook-AZ-new-con.patch + 0050-USB-Audio-Add-Scarlett-2i4-USB-to-S-PDIF-blacklist.patch + 0051-snd_user_file-fix-memory-leak.patch + 0052-pcm-dmix-Don-t-ignore-SND_TIMER_EVENT_MSTOP.patch + 0053-snd_dlsym-only-do-versioning-checks-if-built-with-ve.patch + 0054-dlmisc-Remove-unused-label.patch + 0055-USB-audio-Add-five-more-cards-to-IEC958-blacklist.patch + 0056-pcm-Fix-DSD-sample-format-endianess-and-add-big-endi.patch + 0057-mixer-Fix-inclusion-of-config.h.patch + 0058-mixer-Fix-unused-parameter-warnings.patch + 0059-ucm-Fix-uninitialized-err-in-snd_use_case_set.patch + 0060-pcm-Fix-assorted-tstamp_type-bugs-omissions.patch + 0061-hwdep-add-OXFW-driver-support.patch + 0062-pcm-fix-buffer-overflow-in-snd_pcm_chmap_print.patch + 0063-control-enable-octal-and-hexadecimal-parse.patch + 0064-autotools-fix-ucm-partial-build.patch + 0065-conf-ucm-GoogleNyan-Add-configuration.patch + 0066-ucm-add-binary-configure-file-parse.patch + 0067-Remove-unused-hostname-resolution-in-shm-plugins-and.patch + +------------------------------------------------------------------- +Wed Jan 28 15:50:35 CET 2015 - tiwai@suse.de + +- Backport upstream fixes: new OXFW hwdep definition, chmap print + overflow fix, improvement of UCM parser, GoogleNyan UCM config, + removal of gethostbyname() usages: + 0061-hwdep-add-OXFW-driver-support.patch + 0062-pcm-fix-buffer-overflow-in-snd_pcm_chmap_print.patch + 0063-control-enable-octal-and-hexadecimal-parse.patch + 0064-autotools-fix-ucm-partial-build.patch + 0065-conf-ucm-GoogleNyan-Add-configuration.patch + 0066-ucm-add-binary-configure-file-parse.patch + 0067-Remove-unused-hostname-resolution-in-shm-plugins-and.patch +- Suppress timestamps in the generated documents for make the + package comparison easier: + alsa-docs-suppress-timestamp.patch + +------------------------------------------------------------------- +Fri Dec 5 16:49:42 CET 2014 - tiwai@suse.de + +- Backport upstream fixes: + A couple of USB-audio config addition/fix, dmix PCM stop fix, + a memory leak fix, DSD format endianess fix, PCM timestamp fixes, etc. + 0050-USB-Audio-Add-Scarlett-2i4-USB-to-S-PDIF-blacklist.patch + 0051-snd_user_file-fix-memory-leak.patch + 0052-pcm-dmix-Don-t-ignore-SND_TIMER_EVENT_MSTOP.patch + 0053-snd_dlsym-only-do-versioning-checks-if-built-with-ve.patch + 0054-dlmisc-Remove-unused-label.patch + 0055-USB-audio-Add-five-more-cards-to-IEC958-blacklist.patch + 0056-pcm-Fix-DSD-sample-format-endianess-and-add-big-endi.patch + 0057-mixer-Fix-inclusion-of-config.h.patch + 0058-mixer-Fix-unused-parameter-warnings.patch + 0059-ucm-Fix-uninitialized-err-in-snd_use_case_set.patch + 0060-pcm-Fix-assorted-tstamp_type-bugs-omissions.patch + +------------------------------------------------------------------- +Sun Nov 16 18:10:00 UTC 2014 - Led + +- fix bashism in alsa-init.sh scripts + +------------------------------------------------------------------- +Fri Oct 17 11:48:23 CEST 2014 - tiwai@suse.de + +- Backport upstream fixes / enhancements: mostly small fixes + spotted by coccinelle and oethers, the fixes for proper rewind + support, a new DSD format support, hwdep definitions sync, and + addition of PAZ00 UCM configs. + 0022-pcm-fix-snd_pcm_mmap_hw_avail-near-the-boundary.patch + 0023-pcm-fix-return-value-of-snd_pcm_share_slave_avail.patch + 0024-pcm-add-new-32-bit-DSD-sample-format.patch + 0025-dmix-actually-rewind-when-running-or-being-drained.patch + 0026-pcm-express-the-rewind-size-limitation-logic-better.patch + 0027-pcm-handle-negative-values-from-snd_pcm_mmap_hw_avai.patch + 0028-pcm-rate-use-the-snd_pcm_mmap_hw_avail-function.patch + 0029-pcm-null-use-the-snd_pcm_mmap_avail-function.patch + 0030-rate-handle-negative-values-from-snd_pcm_mmap_playba.patch + 0031-dsnoop-rewindable-and-forwardable-logic-was-swapped.patch + 0033-pcm-file-don-t-recurse-in-the-rewindable-and-forward.patch + 0034-pcm-route-Fix-the-bad-condition-always-false.patch + 0035-pcm-rate-hw_avail-must-not-be-negative-before-starti.patch + 0036-hwdep-add-missing-declaration-for-snd_hwdep_poll_des.patch + 0037-mixer-fixed-double-free.patch + 0038-pcm_file-fixed-missing-free.patch + 0039-sbase-fixed-missing-free.patch + 0040-rawmidi-close-handle-h.patch + 0041-pcm_share-fixing-missing-mutex-unlock.patch + 0042-simple_abst-null-check-for-lib.patch + 0043-socket-missing-socket-close.patch + 0044-pcm_hooks-null-check-for-h.patch + 0045-conf-return-negative-value-in-case-of-error.patch + 0046-control-return-negative-value-in-case-of-error.patch + 0047-pcm-return-negative-value-in-case-of-error.patch + 0048-mixer-Fix-missing-hctl-handle-free-in-snd_mixer_atta.patch + 0049-conf-ucm-PAZ00-add-Toshiba-AC100-Dynabook-AZ-new-con.patch + +------------------------------------------------------------------- +Tue Aug 26 12:44:29 CEST 2014 - tiwai@suse.de + +- Yet more DSD fix, hwdep iface sync with the recent kernel, and a + minor documentation fix from upstream: + 0019-Sync-enum-snd_hwdep_iface_t-with-include-asound-asou.patch + 0020-pcm-2nd-round-of-pcm_misc-DSD-fixes.patch + 0021-doc-fix-cross-compiling-example.patch + +------------------------------------------------------------------- +Tue Aug 12 16:02:33 CEST 2014 - tiwai@suse.de + +- Backport upstream fixes for supporting the missing DSD formats: + 0016-pcm-Fix-DSD-formats-userland-usability.patch + 0017-Sync-include-sound-asound.h-with-3.17-rc1-kernel.patch + 0018-pcm-Add-missing-signed-and-endianess-definitions-for.patch +- Remove alsa-info.sh from alsa.rpm; it's moved into alsa-utils + +------------------------------------------------------------------- +Thu Jul 31 17:41:50 CEST 2014 - tiwai@suse.de + +- Remove obsoleted README.SuSE (bnc#889023) +- Correct SUSE branding names in some texts (bnc#889023,FATE#316521) +- Properly include time.h for CLOCK_MONOTONIC_RAW: + 0015-pcm-pcm_local.h-include-time.h-to-enable-CLOCK_MONOT.patch + +------------------------------------------------------------------- +Tue Jul 22 17:46:51 CEST 2014 - tiwai@suse.de + +- Remove superfluous Loopback.conf from the source, as it was + already included in 1.0.28 tarball +- Backport upstream fixes: UCM dummy PCM definition, ICE1712 surround + definitions, USB-audio secondary PCM definition, PCM rate plugin + boundary overwrap fix, MONOTONIC_RAW timestamp support, PCM route + plugin 3-byte format fixes, etc: + 0001-ucm-Document-PlaybackPCMIsDummy-and-CapturePCMIsDumm.patch + 0002-ICE1712-add-surround71-pcm-definition.patch + 0003-USB-Audio-Add-second-S-PDIF-device-on-Phiree-U2.patch + 0004-pcm-rate-fix-hw_ptr-exceed-the-boundary.patch + 0005-pcm-Provide-a-CLOCK_MONOTONIC_RAW-timestamp-type.patch + 0006-Add-timestamp-type-to-sw_params-internal-only.patch + 0007-pcm-Add-sw_params-API-functions-to-get-set-timestamp.patch + 0008-pcm-Implement-timestamp-type-setup-in-hw-plugin.patch + 0009-pcm-Implement-timestamp-type-handling-in-all-plugins.patch + 0010-test-audio_time-Set-timestamp-type-explicitly.patch + 0011-pcm-route-Use-get-put-labels-for-all-3-byte-formats.patch + 0012-pcm-Fill-sw_params-proto-field.patch + 0013-pcm-route-Use-get32-for-multi-source-route-calculati.patch + 0014-pcm-Drop-snd_pcm_linear_-get-put-32_index.patch + +------------------------------------------------------------------- +Wed Jun 18 13:08:38 CEST 2014 - tiwai@suse.de + +- Updated to alsa-lib 1.0.28: + All pervious fix patches are obsoleted: + 0001-local.h-use-__kernel_off_t-from-linux-types.h.patch + 0002-conf-cards-add-Audio-Advantage-Micro-II.patch + 0003-pcm-Fix-a-wrong-value-shown-in-the-error-message-in-.patch + 0004-UCM-Document-some-standard-values.patch + 0005-hdspm.h-Update-LTC-ioctl-to-use-struct-hdspm_ltc.patch + 0006-Update-iatomic.h-functions-definitions-for-mips.patch + 0007-Fix-access-of-freed-memory-in-namehints.patch + 0008-HDA-Intel-present-up-to-8-HDMI-DP-outputs-via-hdmi-d.patch + 0009-snd_tlv_convert_from_dB-fix-decreasing-gain-across-e.patch + 0010-remove-unnecessary-obsolete-compat-hsearch_r.c.patch + 0011-local.h-include-sys-types.h-to-fix-issues-with-pcm.h.patch + 0012-test-chmap-Add-missing-usage-text-for-s-option.patch + 0013-include-global.h-don-t-define-timeval-and-timespec-s.patch + 0014-conf.c-use-portable-way-to-initialize-recursive-mute.patch + 0015-pcm_file-fix-SEGFAULT-if-file-option-is-missing-whil.patch + 0016-pcm_file-fixed-memory-leak.patch + 0017-pcm_file-don-t-touch-infile-on-playback-and-output-f.patch + 0018-pcm_file-document-new-argument-to-snd_pcm_file_open.patch + 0019-dmix-Don-t-use-assert-and-abort.patch + 0020-minor-malloc-changes.patch + 0021-alsa-lib-minor-typo-in-pcm-doc.patch + 0022-control_hw-fix-potential-memory-leak.patch + 0023-pcm-initialize-pcm_dmix-monotonic-field.patch + 0024-pcm-initialize-monotonic-field-for-dshare-and-dsnoop.patch + 0025-pcm-use-CLOCK_REALTIME-for-non-monotonic-ts.patch + 0026-alsa-lib-heavy-pcm-atomics-cleanup.patch + 0027-conf-Add-basic-infrastructure-for-2.1-surround-sound.patch + 0028-conf-Add-surround-2.1-support-to-all-cards.patch + 0029-Portability-fix-look-for-sys-endian.h-as-well-as-end.patch + 0030-autotools-update-style.patch + 0031-pcm-Insert-linear-to-float-conversion-when-rate-or-c.patch + 0032-pcm-route-Allow-chmap-syntax-for-slave-channels-in-t.patch + 0033-pcm-route-Select-slave-chmap-based-on-ttable-informa.patch + 0034-conf-Allow-2.1-surround-to-use-different-number-of-c.patch + 0035-pcm-Wrap-hw_ptr-to-boundary-in-pcm_ioplug.patch + 0036-src-conf-cards-Add-missing-entry-for-Loopback.conf.patch + 0037-route-Return-NULL-in-case-of-zero-found-channels-in-.patch + 0038-route-Fix-invalid-pointer-access.patch + 0039-pcm-ladspa-Delay-LADSPA-plugin-activate-call.patch + +------------------------------------------------------------------- +Thu Apr 3 17:10:46 CEST 2014 - tiwai@suse.de + +- Backport upstream fixes: + 0037-route-Return-NULL-in-case-of-zero-found-channels-in-.patch + 0038-route-Fix-invalid-pointer-access.patch + 0039-pcm-ladspa-Delay-LADSPA-plugin-activate-call.patch +- Remove the temporary fix that has been replaced by the fixes + above: + 0037-pcm-route-Don-t-handle-no-matching-chmap-as-a-seriou.patch + +------------------------------------------------------------------- +Thu Mar 20 15:04:38 CET 2014 - tiwai@suse.de + +- Correct the default values in /etc/sysconfig/sound comments + (bnc#869403) + +------------------------------------------------------------------- +Tue Mar 18 15:31:12 CET 2014 - tiwai@suse.de + +- Fix the silent output with PulseAudio (bnc#868795) + 0037-pcm-route-Don-t-handle-no-matching-chmap-as-a-seriou.patch + +------------------------------------------------------------------- +Tue Mar 11 10:47:01 CET 2014 - tiwai@suse.de + +- Update alsa-info.sh to match dmesg with snd_ +- Run spec-cleaner +- Add missing Loopback.conf manually +- Upstream fixes: minor clean ups, 2.1 PCM channel config support, + portability improvements, PCM float format conversion fix, + fix for ioplug 32bit hwptr wrap, etc. + 0020-minor-malloc-changes.patch + 0021-alsa-lib-minor-typo-in-pcm-doc.patch + 0022-control_hw-fix-potential-memory-leak.patch + 0023-pcm-initialize-pcm_dmix-monotonic-field.patch + 0024-pcm-initialize-monotonic-field-for-dshare-and-dsnoop.patch + 0025-pcm-use-CLOCK_REALTIME-for-non-monotonic-ts.patch + 0026-alsa-lib-heavy-pcm-atomics-cleanup.patch + 0027-conf-Add-basic-infrastructure-for-2.1-surround-sound.patch + 0028-conf-Add-surround-2.1-support-to-all-cards.patch + 0029-Portability-fix-look-for-sys-endian.h-as-well-as-end.patch + 0030-autotools-update-style.patch + 0031-pcm-Insert-linear-to-float-conversion-when-rate-or-c.patch + 0032-pcm-route-Allow-chmap-syntax-for-slave-channels-in-t.patch + 0033-pcm-route-Select-slave-chmap-based-on-ttable-informa.patch + 0034-conf-Allow-2.1-surround-to-use-different-number-of-c.patch + 0035-pcm-Wrap-hw_ptr-to-boundary-in-pcm_ioplug.patch + 0036-src-conf-cards-Add-missing-entry-for-Loopback.conf.patch + +------------------------------------------------------------------- +Mon Feb 24 16:37:33 CET 2014 - tiwai@suse.de + +- Fix missing /etc/sysconfig/sound due to the previous change + (bnc#865356) +- Fix the superfluous insserv calls due to the wrong suse_version + checks (bnc#863506) + +------------------------------------------------------------------- +Fri Feb 14 12:01:25 CET 2014 - tiwai@suse.de + +- Remove obsolete init scripts for SLE12 and later (bnc#863506); + note that you may get errors at upgrading the package due to the + old postun still accessing /etc/init.d/* files. Nevertheless + they are obliged to be removed. If you see such errors, don't + report to Bugzilla. Relax, enjoy Olympic games instead. + +------------------------------------------------------------------- +Fri Feb 14 11:31:09 CET 2014 - tiwai@suse.de + +- Fix build for SLE11 due to missing udev rules dir + +------------------------------------------------------------------- +Thu Feb 6 11:02:34 CET 2014 - tiwai@suse.de + +- Enable runtime PM for HD-audio devices (FATE#315523); + install 42-hd-audio-pm.rules udev file + +------------------------------------------------------------------- +Wed Nov 27 09:45:38 CET 2013 - tiwai@suse.de + +- Backport upstream fixes: cleanups, non-glibc build fixes, fixes + and enhancements of pcm_file plugin, etc. + 0010-remove-unnecessary-obsolete-compat-hsearch_r.c.patch + 0011-local.h-include-sys-types.h-to-fix-issues-with-pcm.h.patch + 0012-test-chmap-Add-missing-usage-text-for-s-option.patch + 0013-include-global.h-don-t-define-timeval-and-timespec-s.patch + 0014-conf.c-use-portable-way-to-initialize-recursive-mute.patch + 0015-pcm_file-fix-SEGFAULT-if-file-option-is-missing-whil.patch + 0016-pcm_file-fixed-memory-leak.patch + 0017-pcm_file-don-t-touch-infile-on-playback-and-output-f.patch + 0018-pcm_file-document-new-argument-to-snd_pcm_file_open.patch +- Fix aborting in races at closing dmix streams (bnc#852446): + 0019-dmix-Don-t-use-assert-and-abort.patch +- Don't include modprobe.d hack for 12.2 and older distros, which + seem broken on them + +------------------------------------------------------------------- +Tue Oct 1 12:27:25 CEST 2013 - tiwai@suse.de + +- Backport upstream fixes: namehints double-free fix, expansion of + more HDMI devices, and a fix for dB conversion + 0007-Fix-access-of-freed-memory-in-namehints.patch + 0008-HDA-Intel-present-up-to-8-HDMI-DP-outputs-via-hdmi-d.patch + 0009-snd_tlv_convert_from_dB-fix-decreasing-gain-across-e.patch + +------------------------------------------------------------------- +Fri Sep 6 10:03:55 CEST 2013 - tiwai@suse.de + +- Backport upstream fixes: + 0001-local.h-use-__kernel_off_t-from-linux-types.h.patch + 0002-conf-cards-add-Audio-Advantage-Micro-II.patch + 0003-pcm-Fix-a-wrong-value-shown-in-the-error-message-in-.patch + 0004-UCM-Document-some-standard-values.patch + 0005-hdspm.h-Update-LTC-ioctl-to-use-struct-hdspm_ltc.patch + 0006-Update-iatomic.h-functions-definitions-for-mips.patch + +------------------------------------------------------------------- +Tue Jul 9 16:52:37 CEST 2013 - tiwai@suse.de + +- updated to version 1.0.27.2: + just version bump, including all previous fixes + +------------------------------------------------------------------- +Mon Jun 17 10:10:44 CEST 2013 - tiwai@suse.de + +- Backport upstream fixes for plug-in API rewind, a possible memory + leak in direct plugins, chmap buffer overflow and some segfaults: + 0003-Allow-specifying-the-max-number-of-cards.patch + 0004-pcm_hw-Remove-unused-fields-in-struct.patch + 0005-pcm_plugin-Fix-return-value-of-snd_pcm_rewind.patch + 0006-pcm_direct-fix-the-memory-leak-when-parsing-the-slav.patch + 0007-chmap-Always-succeed-setting-the-map-to-what-it-alre.patch + 0008-pcm_hw-Fix-buffer-overflow-in-chmap.patch + 0009-pcm_direct-fix-SEGFAULT-when-getgrnam_r-returns-0-an.patch + +------------------------------------------------------------------- +Thu May 23 15:03:35 CEST 2013 - tiwai@suse.de + +- Bump to version 1.0.27.1, including previous fixes, USB config + quirks, addition of UCM configs and other misc fix patches +- Backport upstream fixes: + 0001-pcm-Fix-typo-in-documentation-PREPARE-PREPARED.patch + 0002-ucm-Fix-segfault-when-device-argument-is-missing-fro.patch + +------------------------------------------------------------------- +Thu Apr 25 09:58:41 CEST 2013 - tiwai@suse.de + +- Upstream fix for dlobj cache crash (bnc#814250) + 0001-Fix-doubly-call-of-dlclose-in-dlobj-caching-code.patch +- Upstream patches for support DSD + 0002-pcm.c-fix-indentation.patch + 0003-bring-pcm.h-and-pcm.c-in-sync-with-the-kernel-list.patch +- Fix compile errors with C90 (bnc#817077) + 0004-Use-__inline__-for-exported-headers.patch + 0005-Add-definition-of-__inline__-for-non-GCC.patch + +------------------------------------------------------------------- +Fri Apr 12 15:26:38 CEST 2013 - tiwai@suse.de + +- Updated to version 1.0.27: + including all previous fixes; all 00*-* patches dropped + +------------------------------------------------------------------- +Tue Apr 9 15:04:10 CEST 2013 - tiwai@suse.de + +- Backport upstream fixes: + 0058-control-pcm-implement-snd_ctl_abort-and-snd_pcm_abor.patch + 0059-all-places-doxygen-cleanups.patch + 0060-pcm-direct-plugins-do-more-safe-IPC-semaphore-handli.patch +- Fix segfault with openal-soft (bnc#814250): + 0061-Clean-up-dlobj-cache-only-when-no-user-is-present.patch + 0062-Optimize-NULL-check-in-snd_dlobj_cache_put.patch + +------------------------------------------------------------------- +Fri Apr 5 12:42:57 CEST 2013 - tiwai@suse.de + +- Backport upstream fix patches: + 0055-pcm-fix-and-optimize-snd_pcm_areas_copy-function.patch + 0056-USB-audio-Add-HP-Digital-Stereo-Headset-to-SPDIF-bla.patch + 0057-pcm-fix-typo-should-be-SND_PCM_STATE_PREPARED.patch +- Fix typos in comments in joystick script (bnc#805765) + +------------------------------------------------------------------- +Mon Mar 11 11:08:30 CET 2013 - tiwai@suse.de + +- More backports of fix patches from upstream: + 0051-Add-sys-types.h-to-include-list.patch + 0052-control-Simplify-using-snd_config_get_bool.patch + 0053-Add-workaround-for-conflicting-IEC958-controls-for-H.patch + 0054-snd_mixer_poll_descriptors_revents-should-loop-over-.patch + +------------------------------------------------------------------- +Fri Feb 1 08:10:43 CET 2013 - tiwai@suse.de + +- Backport a few fix patches from upstream, mostly for fixing + crashes in multi-thread programs: + 0044-configure-do-not-detect-incorrect-cross-compiler.patch + 0045-ucm-Set-uc_mgr-ctl-to-NULL-after-closing-it.patch + 0046-snd_pcm_direct_parse_open_conf-use-thread-safe-getgr.patch + 0047-Add-snd_lib_error_set_local-to-install-a-thread-loca.patch + 0048-snd_device_name_hint-do-not-change-the-global-error-.patch + 0049-snd_device_name_hint-do-not-use-global-snd_config.patch + 0050-conf-Fix-a-memory-access-violation-resulting-from-im.patch + +------------------------------------------------------------------- +Thu Dec 13 10:12:55 CET 2012 - tiwai@suse.de + +- 0041-configure-Quite-AM_CONDITIONAL-arguments.patch: + Fix for the recent automake conditionals +- 0042-mixer-Don-t-build-simple_abst-when-no-libdl-is-avail.patch: + Minor fix for the build without libdl +- Fix endian check breakage due to the recent UAPI header move: + 0043-Fix-endian-check-in-local.h.patch + +------------------------------------------------------------------- +Tue Dec 4 12:19:34 CET 2012 - tiwai@suse.de + +- 0040-PCM-Fix-conflict-of-_snd_pcm_hw_params-definitions.patch: + fix the segfault due to the symbol conflict of _snd_pcm_hw_params + +------------------------------------------------------------------- +Thu Nov 29 18:29:42 CET 2012 - tiwai@suse.de + +- backport UAPI header fix, chmap extension and comiple warning fix + 0036-Merge-kernel-uapi-sound-asound.h-and-asequencer.h.patch + 0037-PCM-Add-more-chmap-definitions-for-UAC2.patch + 0038-PCM-shut-up-a-compile-unused-parameter-compile-warni.patch + 0039-Add-workaround-for-conflicting-snd_seq_event_t-defin.patch + +------------------------------------------------------------------- +Tue Nov 13 16:39:26 CET 2012 - tiwai@suse.de + +- backport fixes from upstream tree: + 0031-pcm-support-for-audio-timestamps.patch + 0032-pcm-fix-64-bit-SNDRV_PCM_IOCTL_STATUS-ABI-breakage.patch + 0033-PCM-Fix-memory-leak-for-pcm-empty-and-asym-plugins.patch + 0034-Reduce-compilation-warnings.patch + 0035-PCM-Avoid-busy-loop-in-snd_pcm_write_areas-with-rate.patch + +------------------------------------------------------------------- +Wed Oct 17 10:05:36 CEST 2012 - tiwai@suse.de + +- backport from upstream tree: + * lots of patches to support the new chmap API + * fix segfault in rate plugin error path + * add a couple of test programs + * fix inifinte loop in htimestamp of dmix & co + +------------------------------------------------------------------- +Fri Sep 7 15:29:41 CEST 2012 - tiwai@suse.de + +- Updated to version 1.0.26: + * just including all previous patches + +------------------------------------------------------------------- +Thu Jul 5 10:11:35 CEST 2012 - tiwai@suse.de + +- Fix useless assert in hctl, backport from upstream + +------------------------------------------------------------------- +Thu Jun 28 17:04:59 CEST 2012 - tiwai@suse.de + +- Use a special modprobe config for loading OSS and sequencer + modules automatically (bnc#768361,bnc#768352,bnc#757484, + bnc#767738) +- Remove the automatic module loading part from alsasound init + script since modprobe does it now +- Set LOAD_SEQUENCER=no and LOAD_OSS_EMUL_MODULES=no as default; + these were already disabled on 12.1 with systemd. + This is only for new installations. Users upgrading from old + distros aren't affected. + +------------------------------------------------------------------- +Mon Jun 25 23:18:07 CEST 2012 - tiwai@suse.de + +- Fix the backward compatibility of ext_ctl plugin (bnc#768742) + +------------------------------------------------------------------- +Mon Jun 11 18:07:15 CEST 2012 - tiwai@suse.de + +- update alsa-info.sh to ver. 0.4.61 + * Add system firmware version detection + * Add roaraudio sound server detection + * Cosmetic heading fixup + +------------------------------------------------------------------- +Tue May 29 11:08:11 CEST 2012 - tiwai@suse.de + +- backport upstream fixes: + * Add support for Echo3G devices + * Blacklist iec958 for some USB devices + * Remove redundant CHECK_ENUM() from snd_mixer_selem_is_enum*() + * Document fixes / updates + * Add ability to specify TLV data to external control plugins + * Fix invalid long long format specifier + * Fix missing break in PCM non-interleaved mmap handling + * improve robustness of TLV raw value ranges + +------------------------------------------------------------------- +Wed Jan 25 11:10:29 CET 2012 - tiwai@suse.de + +- Updated to alsa-lib version 1.0.25; including all previous fixes + +------------------------------------------------------------------- +Fri Sep 30 20:07:40 UTC 2011 - coolo@suse.com + +- add libtool as buildrequire to make the spec file more reliable + +------------------------------------------------------------------- +Tue Sep 27 10:00:09 CEST 2011 - tiwai@suse.de + +- backport upstream fixes: fix noresample hw_params rule and a few + fixes for missing free() + +------------------------------------------------------------------- +Tue Sep 20 09:45:12 CEST 2011 - tiwai@suse.de + +- Add support of /usr/share/alsa/conf.d/* files. + +------------------------------------------------------------------- +Sat Sep 17 09:02:24 UTC 2011 - jengelh@medozas.de + +- Add alsa-devel to baselibs +- Remove redundant tags/sections from specfile +- Use %_smp_mflags for parallel build + +------------------------------------------------------------------- +Fri Aug 26 09:34:45 CEST 2011 - tiwai@suse.de + +- backport upstream fixes: a few trivial fixes for UCM and the + addition of missing RDSPM types in the header + +------------------------------------------------------------------- +Wed Jul 27 15:25:23 CEST 2011 - tiwai@suse.de + +- Fix enumeration of default PCM in addition to sysdefault + +------------------------------------------------------------------- +Tue Jul 26 15:42:37 CEST 2011 - tiwai@suse.de + +- Add fallback PCM/control support (for pulse plugin) + +------------------------------------------------------------------- +Mon Jul 11 10:57:25 CEST 2011 - tiwai@suse.de + +- Add missing Required-Stop in alsasound init script + +------------------------------------------------------------------- +Fri Jul 8 12:00:35 CEST 2011 - tiwai@suse.de + +- Add $local_fs to alsasound init script (for /var/* access) + (bnc#700781) + +------------------------------------------------------------------- +Tue Jul 5 14:54:36 CEST 2011 - tiwai@suse.de + +- Call alsactl in alsasound init script when /var is a separate + partition (bnc#700781) + +------------------------------------------------------------------- +Fri Jun 3 14:10:02 CEST 2011 - tiwai@suse.de + +- Backport alsa-lib fixes from upstream: + 0001-Fix-alsa-lib-to-regard-3D-control-Depth-as-Playback-.patch + 0002-alsa-lib-add-LaCie-Firewire-Speakers-Griffin-FireWav.patch + 0003-alsa-lib-ucm-allow-values-to-be-read-from-devices.patch + 0004-UCM-comment-fixes-and-fix-myvalue-initialization-fix.patch + 0005-UCM-Fix-empty-get_list-initialize-returned-pointer-t.patch + 0006-Conf-Fix-channels-of-ICE1712-to-10-12.patch + 0007-UCM-Fix-LGPL-licence-how-to-receive-part-referred-GP.patch + 0008-configure-Fail-when-the-user-attempts-to-compile-sha.patch + 0009-Mark-Heaphone-Center-LFE-control-of-emu10k1-conf-as-.patch + 0010-Fix-typo-in-comment-in-surround71.conf.patch + 0011-test-latency-print-error-message-when-2-periods-per-.patch + 0012-EMU10K1.conf-Don-t-lock-hook-controls.patch + 0013-HDA-Intel.conf-Fix-low-mic-volume-due-to-pulseaudio-.patch + 0014-alsa-lib-fixed-coverity-reported-issues-under-FORWAR.patch + 0015-Fix-compile-warnings.patch + 0016-Fix-printf-for-size_t.patch + 0018-UCM-fix-memory-leak-when-executing-cset-commands.patch + 0019-Specficy-subdevice-0-for-front-surround-of-HDA-Intel.patch + 0020-emu10k1.conf-Fix-no-sound-problem-when-using-SB-Live.patch + 0021-ctlparse-Respect-softfloat-configure-option.patch + 0022-UCM-Fix-typo-in-error-message.patch + 0023-UCM-Fix-deadlock-following-failed-get-_verb.patch + +------------------------------------------------------------------- +Thu Apr 21 18:03:06 CEST 2011 - tiwai@suse.de + +- Fix the wrong path-name check in the previous fix (bnc#684542) + +------------------------------------------------------------------- +Thu Mar 31 15:05:48 CEST 2011 - tiwai@suse.de + +- Update alsa-info.sh to 0.4.60: show usb mixer, DMI product + version, fixed typos +- Fix set_default_volume script not to give 100% volume when no + Master is present; just for older stuff (bnc#677563) + +------------------------------------------------------------------- +Thu Mar 31 15:00:07 CEST 2011 - tiwai@suse.de + +- Fix typos in the previous fix; the correct path is + /var/lib/alsa/asound.state + +------------------------------------------------------------------- +Fri Mar 25 11:41:18 CET 2011 - tiwai@suse.de + +- Fix asound.state path in other scripts, too +- Replace the asound.state path for older distros + +------------------------------------------------------------------- +Thu Mar 24 11:27:27 UTC 2011 - werner@suse.de + +- Make boot script load modules on boot (bnc#682222) +- Correct location of saved sound state in the boot script (bnc#682222) + +------------------------------------------------------------------- +Mon Jan 31 17:14:35 CET 2011 - tiwai@suse.de + +- updated to version 1.0.24.1: + * including previous fix patches + * add the UCM (Use Cas Manager) framework +- Add a hack to avoid crash of doxygen on 11.3 builds + +------------------------------------------------------------------- +Fri Nov 26 09:29:58 CET 2010 - tiwai@suse.de + +- don't install udev rule for 11.4, as it's provided in alsa-utils + now + +------------------------------------------------------------------- +Wed Nov 24 06:24:00 CET 2010 - tiwai@suse.de + +- Backport pending fixes from upstream: + 0027-Version-check-libtool-correctly-when-doing-an-out-of.patch + 0028-configure.in-don-t-rely-on-test-a-not-all-shells-sup.patch + 0029-pcm-direct-plugins-change-timestamping-in-dsnoop.patch + 0030-USB-Audio.conf-fix-Audiophile-USB-card-name.patch + 0031-pcm-pass-hw_params-flags-to-slave.patch + 0032-support-for-period-wakeup-disabling.patch + 0033-pcm-fix-snd_pcm_avail_delay-function.patch + 0034-pcm_plugin-remove-unused-client_frames-and-slave_fra.patch + 0035-pcm-add-MMAP_EMUL-to-type-names.patch + 0036-pcm_plugin-fix-delay.patch + +------------------------------------------------------------------- +Mon Oct 25 09:33:37 CEST 2010 - tiwai@suse.de + +- Fix loopback config + * 0022-Fix-typo-for-surround-PCMs-in-src-conf-cards-Loopbac.patch +- Fix config syntax for hw device + * 0023-namehint-Fix-hw-device-evaluation-missing-last-devic.patch + * 0024-namehint-Another-fix-to-properly-evaluate-hw-devices.patch + * 0025-config-file-processing-rewrite-the-locking-use-one-r.patch +- Fix dB-volume range with mute bit (bnc#648925) + * 0026-tlv-fix-returned-dB-information-for-min-is-mute-cont.patch + +------------------------------------------------------------------- +Thu Sep 2 15:52:04 CEST 2010 - tiwai@suse.de + +- Backport patches from GIT: + * 0001-Check-for-thread-specific-locale-support.patch + * 0002-Use-thread-safe-locale-functions-if-available.patch + * 0003-seq-Fix-for-snd_seq_parse_address.patch + * 0004-control-tlv-Check-dB-range-only-within-the-control-s.patch + * 0005-alisp-Fix-a-string-format-ambiguity.patch + * 0006-tlv-Check-out-of-range-dB-with-SND_CTL_TLVT_DB_RANGE.patch + * 0007-tlv-Handle-holes-in-SND_CTL_TLVT_DB_RANGE-array.patch + * 0008-tlv-Remove-tailing-tab-after-snd_ctl_get_dB_range-fu.patch + * 0009-Memory-leak-in-namehint.c.patch + * 0010-pcm-ladspa-fix-small-memory-leak-in-snd_pcm_ladspa_f.patch + * 0011-pcm_plug-fix-comparison-always-true.patch + * 0012-test-latency-fix-timediff-calculation.patch + * 0013-HDA-Intel-present-all-4-HDMI-outputs-instead-of-just.patch + * 0014-pcm-add-defaults.pcm.minperiodtime-parsing.patch + * 0015-pcm-introduce-defaults.pcm.compat-to-change-the-para.patch + * 0016-pcm-Fixed-typo-wrong-deleted-line-instroduced-in-the.patch + * 0017-Add-missing-support-for-3-byte-formats-for-16bit-put.patch + * 0018-namehint-Evaluate-more-possibilities-for-hw-devices.patch + * 0019-HDA-Intel-do-not-lock-IEC958-Playback-switch.patch + * 0020-general-recoded-snd_dlobj_-functions.patch + * 0021-Add-Loopback.conf-to-define-standard-PCM-devices-for.patch + +------------------------------------------------------------------- +Thu May 6 16:27:19 CEST 2010 - tiwai@suse.de + +- fix the return code of alsasound (bnc#600767) + +------------------------------------------------------------------- +Sat Apr 24 10:57:33 UTC 2010 - coolo@novell.com + +- buildrequire pkg-config to fix provides + +------------------------------------------------------------------- +Mon Apr 19 10:38:27 CEST 2010 - tiwai@suse.de + +- updated to version 1.0.23: + * including previous fixes + * pcm_share plugin: fix pcm->monotonic setup in open() function + +------------------------------------------------------------------- +Mon Mar 8 14:33:52 CET 2010 - tiwai@suse.de + +- backport upstream fixes: + * modem.conf Off-hook improve behavior + * pcm: fix read_areas and write_areas + * Fix snd_pcm_sw_params_set_period_event() implementation + * pcm_dmix: add support for S24_LE format + * pcm direct plugins: drain() call might be blocked when threads are used + * pcm: show errno in error messages + +------------------------------------------------------------------- +Tue Dec 22 12:03:04 CET 2009 - tiwai@suse.de + +- backport fix patches from GIT + * pcm: Close event timer in pcm_hw plugin + * Fix the sound distortions for S24_3LE stream in pcm_softvol + plugin + +------------------------------------------------------------------- +Fri Dec 18 17:36:49 CET 2009 - tiwai@suse.de + +- set AUTOMAKE_JOBS for parallel automake + +------------------------------------------------------------------- +Fri Dec 18 17:18:17 CET 2009 - tiwai@suse.de + +- updated to version 1.0.22: + * including previous fixes + * a few fixes for alsactl init + +------------------------------------------------------------------- +Wed Dec 16 09:59:50 CET 2009 - jengelh@medozas.de + +- add baselibs.conf as a source + +------------------------------------------------------------------- +Tue Nov 3 09:13:13 CET 2009 - tiwai@suse.de + +- backport major fix patches from alsa-lib GIT tree + * pcm_hw: Always use delay ioctl in snd_pcm_delay() + * dmix - Fix snd_pcm_info() + * hcontrol: fix compare_default function to handle also + id.device and id.subdevice + * Fix corruption after snd_device_name_hint() + +------------------------------------------------------------------- +Mon Nov 2 10:18:56 CET 2009 - tiwai@suse.de + +- remove references to obsolete modprobe.d/sound file in init + script (bnc#549905) + +------------------------------------------------------------------- +Wed Sep 9 14:45:03 CEST 2009 - tiwai@suse.de + +- Fixes from upstream to fix conf parser error and audacious + problems: + * mixer: Add Speaker and Beep names to the weight list + * Revert "Fix driver conf parsing in snd_config_hook_load_for_all_cards()" + * Change dmix.conf to accept user configuration from defaults.dmix..xxx + * PCM - Change the hw_params determination order +- Mark docs subpackage as noarch + +------------------------------------------------------------------- +Mon Aug 31 16:21:19 CEST 2009 - tiwai@suse.de + +- updated to version 1.0.21: + just a version bump including previous fixes + +------------------------------------------------------------------- +Wed Aug 26 10:30:12 CEST 2009 - tiwai@suse.de + +- fix alsa-info.sh possible symlink attach (bnc#533396, + CVE-2009-0035) +- add -q to killall in alsasound init script to be more quiet + +------------------------------------------------------------------- +Fri Aug 21 01:26:21 CEST 2009 - tiwai@suse.de + +- pcm: workaround for avoiding automatic start in mmap mode +- pcm/ioplug: fix error code in start callback + +------------------------------------------------------------------- +Thu Aug 13 08:46:04 CEST 2009 - tiwai@suse.de + +- fix fuser usage in alsasound init script +- updated alsa-info.sh: check /sys/class/dmi first + +------------------------------------------------------------------- +Mon Aug 10 14:40:32 CEST 2009 - tiwai@suse.de + +- Misc fixes backported from upstream: + * Fix zero-division in pcm_rate.c + * snd_pcm_scope_set_ops: make ops parameter const + * timer_query: make ops structure constant + * control.c: snd_ctl_wait: fix revents handling + * Fix driver conf parsing in snd_config_hook_load_for_all_cards() + +------------------------------------------------------------------- +Wed Aug 5 14:24:43 CEST 2009 - tiwai@suse.de + +- corrected various doc errors +- remove unimplemented functions from headers +- misc config parser fixes +- LSB test case for config stuff + +------------------------------------------------------------------- +Mon Aug 3 11:39:56 CEST 2009 - tiwai@suse.de + +- Fix PA mute problem after reboot (bnc#499445) + +------------------------------------------------------------------- +Mon Jul 20 10:21:17 CEST 2009 - tiwai@suse.de + +- minor improvement of alsa-info for dmesg output +- minor fixes in conf.c; renaming parameters, prevent adopting + a non-orphan in snd_config_add() + +------------------------------------------------------------------- +Thu Jul 16 11:33:55 CEST 2009 - tiwai@suse.de + +- Misc fixes in conf.c +- rawmidi: disable active-sensing-on-close by default +- USB-Audio.conf: fix definition for M-Audio AudioPhile spdif device +- LSB midi event test codes +- updated to alsa-info.sh to 0.4.57; don't upload the information + as default; include relevant dmesg outputs + +------------------------------------------------------------------- +Tue Jul 7 14:57:24 CEST 2009 - tiwai@suse.de + +- pcm_hooks: cosmetic removal of unused variables +- more midi_event documentation +- add midi event tests +- test/pcm.c: Sample generation on big endian platforms was broken. +- test/pcm.c: Fix S24 format +- test/pcm.c: Generic linear PCM support +- test/pcm.c: float format support + +------------------------------------------------------------------- +Tue Jun 30 11:22:08 CEST 2009 - tiwai@suse.de + +- Manage dlobj lifetime in pcm_hooks.c + +------------------------------------------------------------------- +Wed Jun 24 12:27:20 CEST 2009 - tiwai@suse.de + +- seq_midi_event: fix decoding of (N)RPN events +- MIDI event decoder: prevent running status after sysex +- pcm dmix: fix MIX_AREAS_24 routine for i386 & x86_64 platforms +- Add the support of TLV_DB_MINMAX types + +------------------------------------------------------------------- +Tue Jun 9 04:51:57 CEST 2009 - tiwai@suse.de + +- fix breakage of snd_card_load() +- fix SB-Xfi configuration + +------------------------------------------------------------------- +Tue Jun 2 16:34:13 CEST 2009 - tiwai@suse.de + +- add configuration for SB X-Fi driver +- extend PCM rate plugin protocol + +------------------------------------------------------------------- +Thu May 28 15:37:47 CEST 2009 - tiwai@suse.de + +- adjust more volumes in set_default_volume script + +------------------------------------------------------------------- +Wed May 20 10:22:40 CEST 2009 - tiwai@suse.de + +- extend snd_card_get_index() to accept the device path name + +------------------------------------------------------------------- +Wed May 6 18:03:45 CEST 2009 - tiwai@suse.de + +- updated alsa-lib to version 1.0.20: + * including previous fixes + +------------------------------------------------------------------- +Tue May 5 14:15:57 CEST 2009 - tiwai@suse.de + +- send SIGTERM then SIGKILL at terminating processes (bnc#486131) + +------------------------------------------------------------------- +Thu Apr 23 15:01:43 CEST 2009 - tiwai@suse.de + +- update alsa-lib as of 2009.04.23: + * pcm: more better documentation for snd_pcm_poll_descriptors + * pcm_hw plugin: show appl_ptr and hw_ptr in dump() callback + * pcm_hw plugin: preserve monotonic flag also after + snd_pcm_hw_params() call +- update alsa-info.sh + +------------------------------------------------------------------- +Mon Mar 23 12:29:29 CET 2009 - tiwai@suse.de + +- fix a typo in joystick init script (bnc#480714) +- add route_policy copy to mono capture hd-audio config +- add sysfs files contents to alsa-info output + +------------------------------------------------------------------- +Thu Mar 5 08:15:18 CET 2009 - tiwai@suse.de + +- Doh, forgot to bump the rpm version number... + +------------------------------------------------------------------- +Wed Mar 4 11:27:27 CET 2009 - tiwai@suse.de + +- alsa-lib git as of 2009.03.03: + * fix typos in documents + * change "%b" semantics for PCM file plugin +- updated alsa-info.sh to ver.0.4.56 + +------------------------------------------------------------------- +Tue Feb 17 17:02:38 CET 2009 - tiwai@suse.de + +- set the ctl numids properly with external plugins (bnc#462032) +- fix oxygen driver config (removal of softfloat again) +- increase the preallocated buffer size for HD-audio to improve + the performance of PA + +------------------------------------------------------------------- +Mon Feb 16 14:21:47 CET 2009 - tiwai@suse.de + +- Fix HD-audio config file (bnc#469886) + +------------------------------------------------------------------- +Tue Feb 3 15:54:47 CET 2009 - tiwai@suse.de + +- Fix the automatic mmap-emul conversion in plug plugin +- Fix off_t in kernel struct +- Fix default PCM for GUS +- New file plugin options +- Fix handling of revents in snd_pcm_poll_descriptor_revents() + +------------------------------------------------------------------- +Thu Jan 22 13:59:24 CET 2009 - tiwai@suse.de + +- updated to version 1.0.19: + * including previous patches +- fix build without math support + +------------------------------------------------------------------- +Tue Jan 13 12:34:56 CET 2009 - olh@suse.de + +- obsolete old -XXbit packages (bnc#437293) + +------------------------------------------------------------------- +Mon Jan 12 18:42:04 CET 2009 - tiwai@suse.de + +- fix alsasound init script not to unload modules at shutdown + (bnc#464822, bnc#465389) + +------------------------------------------------------------------- +Mon Dec 15 09:00:43 CET 2008 - tiwai@suse.de + +- Fix the check of ALSA_CONFIG_PATH variable, which caused the + error in YaST test sound (bnc#440981) + +------------------------------------------------------------------- +Thu Dec 4 16:09:06 CET 2008 - tiwai@suse.de + +- Fix invalid access refine in softvol plugin (bnc#450688) +- Fix the module unloading in alsasound init script without module + dependency messes; needed for new hd-audio driver + +------------------------------------------------------------------- +Wed Nov 19 16:16:50 CET 2008 - tiwai@suse.de + +- Fix segfault of meter plugin with undefined scope type. + +------------------------------------------------------------------- +Wed Nov 19 15:04:46 CET 2008 - tiwai@suse.de + +- Fix SPDIF configuration for ice1724-based boards (bnc#345421) +- Fix set_default_volume script to use hw:x for avoiding pulse + plugin, and also accept any value of device name + (related bug bnc#444349) + +------------------------------------------------------------------- +Thu Nov 13 15:02:02 CET 2008 - tiwai@suse.de + +- check /etc/asound.state before calling alsactl restore + (related bug bnc#444349) + +------------------------------------------------------------------- +Mon Nov 10 17:40:52 CET 2008 - tiwai@suse.de + +- fix a long-standing mixer bug with global/simple mixer elements +- update README.SuSE + +------------------------------------------------------------------- +Wed Oct 29 14:26:06 CET 2008 - tiwai@suse.de + +- updated to alsa-lib version 1.0.18-final + just including all previous fixes +- updated alsa-info.sh script taken from the upstream +- use -g option to alsactl to shut off "no card" error messages + +------------------------------------------------------------------- +Thu Oct 23 16:27:36 CEST 2008 - tiwai@suse.de + +- add missing declarations of new API functions in pcm.h. +- check /proc/modules instead of lsmod in alsasound script. + +------------------------------------------------------------------- +Mon Oct 20 11:29:49 CEST 2008 - tiwai@suse.de + +- add missing iec958 PCM definition for PS3 (bnc#436845) +- fix the bug in device listing (don't show non-existing devices) +- fix some typos in API document +- remove dangerous assert() calls in card control routines + +------------------------------------------------------------------- +Wed Oct 15 09:03:01 CEST 2008 - tiwai@suse.de + +- added missing semicolons in init scripts (bnc#435504, bnc#435515) + +------------------------------------------------------------------- +Wed Sep 10 17:55:34 CEST 2008 - tiwai@suse.de + +- updated to version 1.0.18rc3: + * fix the access type handling in softvol plugin + * add snd_pcm_avail() and snd_pcm_avail_delay() + * fix SND_PCM_* flags in non-blocking mode + +------------------------------------------------------------------- +Fri Aug 22 12:40:52 CEST 2008 - tiwai@suse.de + +- clean up obsolete post scripts + +------------------------------------------------------------------- +Mon Aug 18 18:04:56 CEST 2008 - mrueckert@suse.de + +- remove outdated options in the fillup_and_insserv call + +------------------------------------------------------------------- +Mon Aug 18 16:35:04 CEST 2008 - tiwai@suse.de + +- fixed required-stop of joystick init script +- remove obsolete joystick control parameters from sysconfig and + init script +- updated to alsa-lib 1.0.17a -- just including previous fixes + +------------------------------------------------------------------- +Wed Aug 6 15:32:54 CEST 2008 - tiwai@suse.de + +- fix the detection of non-interleaved format in dmix code +- fix the detection of old timer tread support in dmix +- update IEC958 status bits for recent additions of consumer mode +- move alsa-info.sh to sbindir + +------------------------------------------------------------------- +Mon Jul 28 18:16:43 CEST 2008 - tiwai@suse.de + +- fix snd_pcm_rewind() and snd_pcm_forward() for plugins, + mainly for pulseaudio + +------------------------------------------------------------------- +Wed Jul 16 12:36:55 CEST 2008 - tiwai@suse.de + +- fix baselibs.conf (remove alsa.rpm) +- add a mute-switch function to softvol +- fixed zero-division errors in softvol + +------------------------------------------------------------------- +Tue Jul 15 18:27:12 CEST 2008 - tiwai@suse.de + +- updated to version 1.0.17-final: + * including previous patches + +------------------------------------------------------------------- +Wed Jun 18 14:41:57 CEST 2008 - tiwai@suse.de + +- updated to version 1.0.17-rc2: + * including previous fixes +- updated alsa-info.sh: + * fixed URL of alsa-info.sh + +------------------------------------------------------------------- +Sat Jun 7 10:58:48 CEST 2008 - tiwai@suse.de + +- fix segfault with dmix when 3-bytes formats are used + (bnc#398265) + +------------------------------------------------------------------- +Fri Jun 6 17:48:01 CEST 2008 - tiwai@suse.de + +- fix mmap conversion in plug plugin (bnc#397523) +- fix alsa-info.sh to check whether pastebin is down + +------------------------------------------------------------------- +Wed Jun 4 13:54:50 CEST 2008 - rodrigo@suse.de + +- Removed patch to alsa.conf, to not force PulseAudio on all + apps (ie, non-GNOME installs) (bnc#394177) + +------------------------------------------------------------------- +Mon May 26 17:14:52 CEST 2008 - rodrigo@suse.de + +- Add alsa-asound-pulse-conf.diff to include asound-pulse.conf in + alsa.conf (bnc#394177) + +------------------------------------------------------------------- +Fri May 23 15:29:49 CEST 2008 - tiwai@suse.de + +- misc fixes (typo, stsderr out, distro checks) in alsa-info.sh +- initialize the volume first for any possible new volume + elements by the alsa-driver update (bnc#330409, bnc#392321) + +------------------------------------------------------------------- +Thu Apr 10 12:54:45 CEST 2008 - ro@suse.de + +- added baselibs.conf file to build xxbit packages + for multilib support + +------------------------------------------------------------------- +Fri Mar 14 14:12:50 CET 2008 - tiwai@suse.de + +- HG snapshot 2008314: + * improve file plugin ifile support + +------------------------------------------------------------------- +Mon Mar 10 13:09:16 CET 2008 - tiwai@suse.de + +- HG snapshot 20080310: + * fix build with older glibc + * fix the silence at the beginning of dmix playback + * hdmi pcm definition (experimental) + * fix name listing for non-existing devices +- improved/fixed alsa-info.sh for non-HD devices + +------------------------------------------------------------------- +Mon Mar 3 10:19:10 CET 2008 - tiwai@suse.de + +- fix a typo in configure option --enable-symbolic-functions +- HG version (20080228): + * make doxygen.cfg dynamically (for other build source dir) + * snd_seq_client_*_event_filter() API + * Add surround7.1 config for Nvidia + * iatomic.h for SH arch + +------------------------------------------------------------------- +Wed Feb 13 12:51:30 CET 2008 - tiwai@suse.de + +- fix the build of old programs that don't define *_OLD_API + properly + +------------------------------------------------------------------- +Fri Feb 8 12:18:41 CET 2008 - tiwai@suse.de + +- updated to version 1.0.16-final: + * just a version bump +- add alsa-info.sh for debugging purpose. + +------------------------------------------------------------------- +Thu Jan 31 11:50:21 CET 2008 - tiwai@suse.de + +- updated to version 1.0.16rc2 + * including the previous fixes +- deprecate run_ldconfig + +------------------------------------------------------------------- +Wed Jan 23 08:06:14 CET 2008 - tiwai@suse.de + +- fix documentation build (removed obsolete entries) +- fix dsnoop and dshare auto-configuration + +------------------------------------------------------------------- +Tue Jan 22 14:46:21 CET 2008 - tiwai@suse.de + +- updated to version 1.0.16rc1: + * just a version bump + +------------------------------------------------------------------- +Mon Jan 14 17:24:53 CET 2008 - tiwai@suse.de + +- updated to 2008.01.12 Hg version: + * Changed SND_PCM_TSTAMP_ENABLE + * Fixed SND_PCM_TSTAMP_MMAP incompatibility + * Fixed memory leaks + * Support dmix rewind + +------------------------------------------------------------------- +Wed Jan 9 17:23:25 CET 2008 - tiwai@suse.de + +- updated to 2008.01.09 HG version: + * Fix dlsym version error in plugins + * New monotonic timestamp functions + * Obsolete PCM xfer_align, sleep_min APIs + +------------------------------------------------------------------- +Fri Dec 14 15:30:57 CET 2007 - tiwai@suse.de + +- updated to 2007.12.14 HG version: + * revert aliasing in format conversions, which is rather + problematic + * add a new API for ioplug PCM (for pulse plugin) + +------------------------------------------------------------------- +Thu Dec 13 17:35:57 CET 2007 - tiwai@suse.de + +- updated to 2007.12.13 HG version: + * Fix segfault with softvol plugin + * Add support U8 format with dmix + +------------------------------------------------------------------- +Fri Nov 30 18:22:34 CET 2007 - tiwai@suse.de + +- updated to 2007.11.30 HG version + * Fix Versions file to reduce unneeded exported symbols + * fix NULL name strings in pcm plugins + * fix error codes in card probing + +------------------------------------------------------------------- +Fri Nov 23 16:48:19 CET 2007 - tiwai@suse.de + +- fix possible CPU hog problem with too small avail_min +- fix time-stamp with dmix/dsnoop plugins +- fix mmap of multi plugins + +------------------------------------------------------------------- +Fri Nov 16 12:09:29 CET 2007 - tiwai@suse.de + +- fix the wrong error codes in dmix (#339507) + +------------------------------------------------------------------- +Mon Nov 12 17:29:19 CET 2007 - tiwai@suse.de + +- fix poll_descriptors hack in rate plugin that causes many XRUNs +- fix the calculation of value ranges in alsa-lib simple mixer + layer + +------------------------------------------------------------------- +Mon Nov 5 17:29:33 CET 2007 - tiwai@suse.de + +- fix ioplug plugin (for pulse or others) to adjust period hw + params properly. + +------------------------------------------------------------------- +Tue Oct 30 14:32:59 CET 2007 - tiwai@suse.de + +- re-add assert.h to asoundlib.h since some packages got broken + +------------------------------------------------------------------- +Mon Oct 29 11:24:29 CET 2007 - tiwai@suse.de + +- remove unneeded assert from public header files +- remove assert calls in debug routines +- export TLV dB-level parser functions +- fix annoying compile warnings +- remove ac97_bus module at alsasound stop, too + +------------------------------------------------------------------- +Tue Oct 16 15:01:53 CEST 2007 - tiwai@suse.de + +- updated to version 1.0.15-final + * including all previous patches + +------------------------------------------------------------------- +Mon Sep 17 16:04:20 CEST 2007 - tiwai@suse.de + +- fix the wrong subdevice number for dmix/dsnoop plugins (#325676) +- fix the handling of "Input Source", to be as a capture element + (#325677) +- fix use after free in alsa-lib + +------------------------------------------------------------------- +Tue Aug 14 16:26:18 CEST 2007 - tiwai@suse.de + +- Add missing pcm_empty.c in doxygen configuration +- seq_midi_event: fix parsing of F9/FD bytes +- seq_midi_event: fix parsing of missing data bytes +- seq_midi_event: prevent running status after system messages +- seq_midi_event: fix encoding of data bytes after end of sysex + +------------------------------------------------------------------- +Mon Aug 6 16:13:08 CEST 2007 - schwab@suse.de + +- Fix double free. + +------------------------------------------------------------------- +Thu Aug 2 16:54:53 CEST 2007 - tiwai@suse.de + +- fix typos in set_default_volume script + +------------------------------------------------------------------- +Mon Jul 30 19:10:16 CEST 2007 - tiwai@suse.de + +- split mmap_emulation plugin from hw layer +- python support (disabled) +- generate asoundlib.h dynamically via configure options +- PS3 configuration + +------------------------------------------------------------------- +Wed Jul 4 10:20:38 CEST 2007 - tiwai@suse.de + +- fix the build of lfloat plugin +- allow big-endian with i386/x86-64 dmix +- fix ppc mac configurations for qemu + +------------------------------------------------------------------- +Wed Jun 20 15:09:51 CEST 2007 - tiwai@suse.de + +- add missing insserv_cleanup in postun +- add Short-Descriptions tag in init scripts + +------------------------------------------------------------------- +Wed Jun 13 18:42:34 CEST 2007 - tiwai@suse.de + +- updated to alsa-lib-1.0.14a: + just including previous fixes + +------------------------------------------------------------------- +Fri Jun 8 12:26:54 CEST 2007 - tiwai@suse.de + +- fix external plugin path, now it's accidentally disabled because + of a typo in configure script. +- clean up spec file. + +------------------------------------------------------------------- +Thu May 31 12:23:49 CEST 2007 - tiwai@suse.de + +- updated to version 1.0.14-final + * including the previous HG fixes + +------------------------------------------------------------------- +Thu May 24 12:55:15 CEST 2007 - tiwai@suse.de + +- HG patch as of 2007.05.24: + * configure options to specify config and plugin paths + * dB gain with softvol plugin + * digital capture softvol for hda-intel (for digital mic) + * enable slowptr option for dmix as default + +------------------------------------------------------------------- +Wed May 2 12:30:26 CEST 2007 - tiwai@suse.de + +- updated to version 1.0.14rc4: + including previous HG fixes + +------------------------------------------------------------------- +Tue Apr 17 15:03:36 CEST 2007 - tiwai@suse.de + +- move soundfont-related stuff to awesfx package + +------------------------------------------------------------------- +Tue Apr 17 08:31:42 CEST 2007 - aj@suse.de + +- Fix requires of alsa. + +------------------------------------------------------------------- +Mon Apr 16 14:13:26 CEST 2007 - tiwai@suse.de + +- split library files to libasound2 sub package +- split alsa-utils and alsa-oss to own sub packages +- remove static library and unneeded files + +------------------------------------------------------------------- +Tue Apr 10 18:54:59 CEST 2007 - tiwai@suse.de + +- update alsa-lib & utils 20070410 snapshot + * add missing smixer.conf file + * show iec958 status contents via amixer + * symbolic-functions build (not enabled yet) +- add alsa-plugins to Recommends tag for a better rate converter + +------------------------------------------------------------------- +Thu Mar 29 17:22:18 CEST 2007 - tiwai@suse.de + +- add ncurses-devel to BuildRequires +- update alsa-lib 2007.03.28 snapshot + * fix shared lib builds + * more confined plugin selections + * use speexrate as the default plugin if available + +------------------------------------------------------------------- +Wed Mar 14 16:42:02 CET 2007 - tiwai@suse.de + +- update alsa-lib-1.0.14rc3 + * include last fixes + * fix ladspa none policy + * initialize dl handles where needed + * fix error code in timer_query + * fix compile warnings + * add support for symbol prefixes in shlib + * add card_name function + * enable dmix for usb-audio + * multi-plugin fixes from HG version +- update alsa-utils-1.0.14rc2 + * include last fixes +- fix LFS ops on alsa-oss wrapper + +------------------------------------------------------------------- +Fri Jan 26 19:17:45 CET 2007 - tiwai@suse.de + +- fix file lists (#238223) + * don't include unnecessary static libraries for libaoss + * don't include libasound.so to the main package + +------------------------------------------------------------------- +Tue Jan 9 12:05:24 CET 2007 - tiwai@suse.de + +- Add empty Should-Start to alsasound init script (#231674) +- Fix compilation of alsa-lib with non-versioned symbols +- Fix LADSPA plugin with multi-channels +- Fix error handling in timer code +- Improved man page of aconnect + +------------------------------------------------------------------- +Tue Dec 19 15:50:39 CET 2006 - tiwai@suse.de + +- update to ALSA 1.0.14rc1: + * device enumeration API + * fix dmix/dsnoop memory leaks + * fix various warnings + +------------------------------------------------------------------- +Mon Oct 30 17:12:01 CET 2006 - schwab@suse.de + +- Revert part of last change. + +------------------------------------------------------------------- +Thu Oct 26 14:08:39 CEST 2006 - schwab@suse.de + +- Work around misuse of libtool. +- Fix LDFLAGS. + +------------------------------------------------------------------- +Thu Oct 5 16:38:43 CEST 2006 - tiwai@suse.de + +- updated to ALSA 1.0.13-final: + * all patches have been merged + * fix inifinite-loop with alsa-lib config alias + +------------------------------------------------------------------- +Thu Sep 21 18:39:42 CEST 2006 - tiwai@suse.de + +- updated to ALSA 1.0.13rc2: + * alisp disablement in configure + * TLV dB-range support + * fix some bugs in dB calculation +- fix dB scale check for older alsa-driver +- fix the number parsing in alsa-lib configuration +- use dB expression in alsaconf if possible +- remove the deprecated resmgr support + +------------------------------------------------------------------- +Fri Sep 1 17:25:38 CEST 2006 - tiwai@suse.de + +- updated to ALSA 1.0.13rc1: + * support of linear dB scale + * fix alsaconf for SLES10/SLED10 +- use Should-Start instead of Required-Start in alsasound init + script as olh suggests (#202075) + +------------------------------------------------------------------- +Thu Aug 24 11:42:40 CEST 2006 - tiwai@suse.de + +- updated to ALSA 1.0.12-final: + * fix possible segfaults with invalid TLV entries + * fix default paths in configure +- fix udev rules to use DRIVERS= instead of DRIVER=. + +------------------------------------------------------------------- +Wed Aug 16 11:36:53 CEST 2006 - tiwai@suse.de + +- Move 52-usx26audio.rules to alsa-firmware package since it + makes sense only with the firmware files. + +------------------------------------------------------------------- +Thu Aug 10 13:38:43 CEST 2006 - tiwai@suse.de + +- Move all rules for usx2y audio to 52-usx2yaudio.rules. + Use SUBSYSTEM=="usb_device" to avoid the messing order of + usb detection. + +------------------------------------------------------------------- +Tue Aug 8 18:15:09 CEST 2006 - tiwai@suse.de + +- fixed syntax errors in 52-usx2yaudio.rules. + +------------------------------------------------------------------- +Mon Aug 7 14:42:29 CEST 2006 - tiwai@suse.de + +- fixed udev script for usx2y drivers. + provided in a separated 52-usx2yaudio.rules because it must be + invoked after 50-udev-default.rules. +- fixed the build with the recent gettext. + +------------------------------------------------------------------- +Fri Aug 4 16:14:27 CEST 2006 - tiwai@suse.de + +- updated to version 1.0.12rc2: + * merged previous patches + * add support of dB range + * completely removal of dependency to kernel headers + * config files for new drivers + +------------------------------------------------------------------- +Mon Jul 10 15:31:44 CEST 2006 - tiwai@suse.de + +- Added missing invocation of usx2yloader for Tascam USB + devices in udev rules (#190172). + +------------------------------------------------------------------- +Thu Jul 6 12:10:30 CEST 2006 - tiwai@suse.de + +- add --datadir to configure to avoid the invalid datadir with + recent auto-tools. + +------------------------------------------------------------------- +Tue Jul 4 16:46:21 CEST 2006 - tiwai@suse.de + +- updated to version 1.0.12rc1: + * fix card configurations for ice1724 boards + * fix division-by-zero in alsa-lib + * initialize fully the slave PCM in dmix/dsnoop + * fix segfault with invalid bonding parameter in dmix + * fix manpages + * improved output of amidi -l + +------------------------------------------------------------------- +Tue Jun 20 15:55:44 CEST 2006 - dmueller@suse.de + +- build parallel + +------------------------------------------------------------------- +Mon May 29 17:33:02 CEST 2006 - tiwai@suse.de + +- added the support of delay callback in alsa external I/O + plugin (for new polypaudio support) +- fix the return value of snd_hctl_wait() +- fix surround40 PCM configuration for ens1370 cards +- added infile option for alsa-lib pcm file plugin + +------------------------------------------------------------------- +Wed May 17 15:05:40 CEST 2006 - tiwai@suse.de + +- fix endless loop bug in arecord, also code clean-up. + +------------------------------------------------------------------- +Mon May 15 12:53:24 CEST 2006 - tiwai@suse.de + +- update to ALSA 1.0.11-final + HG fixes. + * all patches in SL10.1 have been merged + * external rate plugin SDK + * fix of kernel API for embedded systems + * new dmix code using O_APPEND open mode + * misc fixes for sequencer API + * fix missing dlclose in various plugins + +------------------------------------------------------------------- +Thu Apr 27 12:59:36 CEST 2006 - tiwai@suse.de + +- fix segfault with direct plugins when invalid channel binding + parameters are given. +- fix CPU hog by artsd together with rate plugin. + +------------------------------------------------------------------- +Mon Apr 24 18:27:57 CEST 2006 - tiwai@suse.de + +- fix udev rules to use "==" instead of "=". + +------------------------------------------------------------------- +Wed Apr 12 15:15:54 CEST 2006 - tiwai@suse.de + +- revert a part of the last fix for aoss, which is rather harmful + for apps like bmp (#165555) + +------------------------------------------------------------------- +Mon Apr 3 15:58:14 CEST 2006 - tiwai@suse.de + +- fix skipping sounds with dmix on aoss (#162771, #162442) +- fix stutering playback of KDE sounds (#162261) + +------------------------------------------------------------------- +Wed Mar 29 12:15:16 CEST 2006 - tiwai@suse.de + +- fix the bogus -EPIPE detection (and thus may lead to hang up) + in 32bit compat mode (ALSA bug#1938). +- correct a typo in the help text of speaker-test + +------------------------------------------------------------------- +Fri Mar 24 18:56:05 CET 2006 - tiwai@suse.de + +- fix the endless poll() loop without starting PCM +- fix the noisy output and xrun from dmix with 2 periods +- fix the broken period/buffer size handling in speaker-test +- fix the parse of lspci output in alsaconf. + +------------------------------------------------------------------- +Tue Mar 21 14:34:06 CET 2006 - tiwai@suse.de + +- fix the wrong read size with 32bit apps on 64bit kernel + (#159308) +- fix the buffer-size restriction of dmix (#114745) +- fix generic dmix conversion code (mainly for ppc) +- fix alsasound init script to close device files properly + (#157977) + +------------------------------------------------------------------- +Mon Mar 20 12:39:24 CET 2006 - tiwai@suse.de + +- fix the possible double free in pcm rate plugin (ALSA + bug#1937) +- fix surround40/51 PCMs (ALSA bug#1914) +- fix the restoration of the original open mode in hw PCM, + resulting in CPU hog with emu10k1 (ALSA bug#1938) +- fix hw-constraints in extplug plugin, added init callback + +------------------------------------------------------------------- +Mon Mar 13 12:24:54 CET 2006 - tiwai@suse.de + +- added $LOAD_OSS_SEQ_MODULE in sysconfig/sound for (optional) + auto-loading of snd-seq-oss (#155332). +- fix bugs in drain with PCM rate plugin (taken from upstream). + +------------------------------------------------------------------- +Fri Mar 3 17:54:37 CET 2006 - tiwai@suse.de + +- Fix from upstream: fix the return value to -ENODEV from + -ENOTTY in alsa-lib functions when the device is + disconnected. + +------------------------------------------------------------------- +Thu Mar 2 13:13:06 CET 2006 - tiwai@suse.de + +- fix segfault with PCM rate plugin (ALSA bug#1878) +- fix speaker-test with 5.1 channels + +------------------------------------------------------------------- +Mon Feb 27 16:05:35 CET 2006 - tiwai@suse.de + +- fixed close functions in the disconnected state, resulting in + invalid states and memory leaks. +- fixed a typo in sequencer (possible memory leak). + +------------------------------------------------------------------- +Mon Feb 20 20:27:51 CET 2006 - tiwai@suse.de + +- avoid unnecessary call of resmgr (#145934) + +------------------------------------------------------------------- +Mon Feb 20 20:04:19 CET 2006 - tiwai@suse.de + +- fixed the infinite loop of snd_pcm_wait due to XRUN (#149894) +- fixed the compile warning on 64bit arch. + +------------------------------------------------------------------- +Fri Feb 17 21:51:58 CET 2006 - tiwai@suse.de + +- fix the assert with float conversion (#149894). +- fix full-duplex confliction with dmix/dsnoop plugin. +- fix the default behavior of non-blocking open mode. + +------------------------------------------------------------------- +Wed Feb 8 22:04:33 CET 2006 - tiwai@suse.de + +- fixed small memory leaks in the alsa-lib parser. +- fixed a typo in rawmidi_virt plugin. + +------------------------------------------------------------------- +Mon Jan 30 17:49:51 CET 2006 - tiwai@suse.de + +- fixed alsasound script for the first yast2 config (#145934) + +------------------------------------------------------------------- +Mon Jan 30 15:43:09 CET 2006 - tiwai@suse.de + +- fixed the segfault at parsing recursive definitions and the + handling of the string slave of direct PCM plugins (#146447) + +------------------------------------------------------------------- +Fri Jan 27 12:55:59 CET 2006 - tiwai@suse.de + +- removed invalid assert in alsa-lib +- fixed ladspa plugin in alsa-lib + +------------------------------------------------------------------- +Wed Jan 25 21:34:10 CET 2006 - mls@suse.de + +- converted neededforbuild to BuildRequires + +------------------------------------------------------------------- +Mon Jan 16 14:50:34 CET 2006 - tiwai@suse.de + +- Fix the non-blocking open mode (used non-blocking open mode as + default, too) +- Support of multiple cards/devices with direct plugins + +------------------------------------------------------------------- +Thu Jan 12 15:50:33 CET 2006 - tiwai@suse.de + +- PCM simple helper functions +- ICE1712 conf to use dmix/dsnoop +- Fix S24_BE format +- Fix mixer switch handling in aoss +- Improved alsasound script for restarting/reloading + +------------------------------------------------------------------- +Wed Jan 11 16:51:12 CET 2006 - tiwai@suse.de + +- Fix a typo in load-soundfont script (#141761) + +------------------------------------------------------------------- +Mon Jan 2 15:06:52 CET 2006 - tiwai@suse.de + +- updated to version 1.0.11rc2. + +------------------------------------------------------------------- +Wed Dec 14 15:56:00 CET 2005 - tiwai@suse.de + +- updated to version 1.0.11rc1. + +------------------------------------------------------------------- +Fri Nov 25 12:37:28 CET 2005 - tiwai@suse.de + +- Move udev rules to alsa package. + +------------------------------------------------------------------- +Wed Nov 23 16:44:22 CET 2005 - tiwai@suse.de + +- updated to version 1.0.10-final. +- CVS patches as of 2005.11.23. +- fixed a typo in alsasound script. + +------------------------------------------------------------------- +Tue Nov 8 16:21:47 CET 2005 - perex@suse.de + +- updated to version 1.0.10rc3 +- changed --with-prefix to --prefix +- removed RPM_BUILD_ROOT cleanup from %install + +------------------------------------------------------------------- +Thu Oct 27 20:19:07 CEST 2005 - tiwai@suse.de + +- Update to CVS 2005.10.27. + - fixed PCM mmap mode with plugins. + - optimize / improve aoss wrapper. + - improve aplay/arecord option parsing. +- Fix alsasound init script. + +------------------------------------------------------------------- +Wed Oct 12 14:06:39 CEST 2005 - tiwai@suse.de + +- updated to version 1.0.10rc2. + +------------------------------------------------------------------- +Thu Sep 29 21:12:20 CEST 2005 - tiwai@suse.de + +- Fix type-punning with the latest gcc +- Mute volume at shutdown (#117277) + +------------------------------------------------------------------- +Wed Sep 14 20:12:19 CEST 2005 - tiwai@suse.de + +- Fix bugs of dmix on big-endian architectures (#117048) + - Fix the argument of semctl() with union. + - Fix the mixing code, accepts both endians. + - Fix alsa-lib configurations. +- Fix hwcfg file name generated by alsaconf (#117046). + +------------------------------------------------------------------- +Mon Sep 12 18:54:25 CEST 2005 - tiwai@suse.de + +- Fix the error with chown() in direct plugins when the user + doesn't belong to the group (#115817). +- Fix segfault of PCM hooks plugin (#116568) +- Load snd-seq module if requested (#116557). +- Fix uninitialized pollio variable in pcm.c. + +------------------------------------------------------------------- +Thu Sep 8 11:58:05 CEST 2005 - tiwai@suse.de + +- Fix the permission of socket of direct plugins (#115817) +- Fix the modem definition on hda-intel (#115253) + +------------------------------------------------------------------- +Fri Sep 2 19:09:20 CEST 2005 - tiwai@suse.de + +- Fix the internal buffer allocation of alsa-lib plugins, + including the fix for ICE1724 config (#115019) + +------------------------------------------------------------------- +Fri Sep 2 13:41:00 CEST 2005 - tiwai@suse.de + +- Fix aoss with bi-arch (#114961) + +------------------------------------------------------------------- +Thu Sep 1 15:01:47 CEST 2005 - tiwai@suse.de + +- Fix PM resume with aoss (#114690) + +------------------------------------------------------------------- +Wed Aug 31 15:08:00 CEST 2005 - tiwai@suse.de + +- Fix crash of knotify (#105772) + +------------------------------------------------------------------- +Fri Aug 26 14:34:26 CEST 2005 - tiwai@suse.de + +- fixed alsasound restart (#113239) +- fixed the handling of -EINTR during resume of dmix (#104100) +- fixed the buffer size of speakertest (ALSA BTS #1304) +- fixed isapnp detection of alsaconf (ALSA BTS #1326) +- added a description about new init script + +------------------------------------------------------------------- +Thu Aug 18 17:02:17 CEST 2005 - tiwai@suse.de + +- Fix invalid read warnings detected by valgrind2 (#105572) + +------------------------------------------------------------------- +Thu Aug 18 15:34:54 CEST 2005 - tiwai@suse.de + +- Fixed races in direct plugins (#104884) +- Fix/clean up aoss wrapper +- Fixed memory leak in alsa-lib pcm configuration + +------------------------------------------------------------------- +Tue Aug 16 18:13:29 CEST 2005 - tiwai@suse.de + +- fix PM of direct plugins (#104100) + +------------------------------------------------------------------- +Fri Aug 12 17:04:02 CEST 2005 - tiwai@suse.de + +- fix biarch problem with dmix (#104424) +- fix default IPC permissions to 0660 + +------------------------------------------------------------------- +Wed Aug 10 15:44:22 CEST 2005 - tiwai@suse.de + +- fixed segfault of aoss (#103780) +- take back alsa udev script for soundfonts (#103814) +- fixed probing of isapnp devices + +------------------------------------------------------------------- +Fri Aug 5 11:19:23 CEST 2005 - tiwai@suse.de + +- fix alsaconf to set up hwcfg-* to follow the new sound system + on SL10.0. + +------------------------------------------------------------------- +Wed Aug 3 17:48:13 CEST 2005 - tiwai@suse.de + +- update to ALSA cvs 2005.08.03. +- removed obsolete usb map stuff. +- removed resmgr dev scripts. +- modified alsasound init script to do minimal jobs in start/stop. + reload/unload are used to force module-reloading. + +------------------------------------------------------------------- +Mon Jun 27 17:05:27 CEST 2005 - tiwai@suse.de + +- added resmgr to Requires of alsa-devel to make the build checker + script easier. + +------------------------------------------------------------------- +Thu Jun 2 15:11:23 CEST 2005 - tiwai@suse.de + +- updated to version 1.0.9-final. +- CVS updates 2005.06.02 + +------------------------------------------------------------------- +Tue May 24 16:23:59 CEST 2005 - tiwai@suse.de + +- updated to version 1.0.9rc4. + +------------------------------------------------------------------- +Fri May 20 19:17:06 CEST 2005 - tiwai@suse.de + +- CVS 2005.05.20: fixes permissions and dmix stuff. + +------------------------------------------------------------------- +Tue May 17 12:45:14 CEST 2005 - tiwai@suse.de + +- CVS 2005.05.16: more fixes on dmix and rate plugins. + +------------------------------------------------------------------- +Fri May 13 19:27:06 CEST 2005 - tiwai@suse.de + +- updated to version 1.0.9rc3. + +------------------------------------------------------------------- +Wed Apr 20 16:47:11 CEST 2005 - tiwai@suse.de + +- fix segfault of rate plugin. +- change the value of $LIBASOUND_DEBUG to integers. + +------------------------------------------------------------------- +Fri Apr 8 18:47:12 CEST 2005 - tiwai@suse.de + +- another try to fix dmix hang-up bug. + +------------------------------------------------------------------- +Tue Apr 5 19:47:35 CEST 2005 - tiwai@suse.de + +- added the large-file support on alsa-oss wrapper. +- fixed dmix hang-up problems. +- fixed the wrong channel_info on some plugins. + +------------------------------------------------------------------- +Fri Apr 1 16:51:58 CEST 2005 - tiwai@suse.de + +- updated to ALSA 1.0.9rc2. +- fixed compilation with gcc-4.0. + +------------------------------------------------------------------- +Wed Mar 16 15:21:20 CET 2005 - tiwai@suse.de + +- Fixed default "front" volume (bug #72971) +- Fixed the device-open check for sequencer (bug #72368) + +------------------------------------------------------------------- +Tue Mar 15 17:56:38 CET 2005 - tiwai@suse.de + +- fixed suspend/resume with dmix, dsnoop, dshare plugins + (#72780) + +------------------------------------------------------------------- +Fri Mar 11 20:21:15 CET 2005 - tiwai@suse.de + +- Fixed wrong memory free in alsa-lib. +- Addition of a new user-control API function for external PCMs. +- Fixed documents of external PCM plugins. +- Fixed Aureon 7.1 configuration. +- Minor fixes for valgrind. +- Fixed the segfault with PCM file plugin. +- Addition of missing sequencer macro. +- Fixed typos in iecset. + +------------------------------------------------------------------- +Thu Feb 24 14:31:19 CET 2005 - tiwai@suse.de + +- fixed the card type for each config with softvol. +- got rid of debug prints in udev scripts (bug #66476) + +------------------------------------------------------------------- +Tue Feb 22 19:19:43 CET 2005 - tiwai@suse.de + +- use ncursesw for alsamixer +- fixed distribution check in alsaconf +- split aseqdump from arecmidi +- fixed man pages +- try to modprobe always in alsasound init script at start +- updated alsasound.usermap. + +------------------------------------------------------------------- +Fri Feb 18 12:22:08 CET 2005 - tiwai@suse.de + +- CVS patch 20050218: + - fix speaker-tools + - fix the weight of Side mixer elements + - use softvol as default for VIA823/8237 +- fixed resmgr support (a typo in configure options). + +------------------------------------------------------------------- +Wed Feb 16 15:27:31 CET 2005 - tiwai@suse.de + +- fixed amidi command options. +- fixed configure option for shared alsa-lib. +- fixed the path of resmgr. + +------------------------------------------------------------------- +Mon Feb 14 14:47:46 CET 2005 - tiwai@suse.de + +- CVS patch 20050214: + - disable access to /dev/aload* + - external filter-plugin SDK + - dl-object cache +- Initialize hardware via hotplug/udev + alsactl, etc are called in dev.d/* scripts + +------------------------------------------------------------------- +Fri Feb 11 18:38:15 CET 2005 - tiwai@suse.de + +- CVS patch 20050211: + - fixed resmgr support, enable it as default + - external PCM I/O plugin support + +------------------------------------------------------------------- +Fri Feb 4 20:21:34 CET 2005 - tiwai@suse.de + +- CVS patch 20050204: + - fixed segfaults with mixer event handling. + +------------------------------------------------------------------- +Wed Feb 2 17:08:09 CET 2005 - tiwai@suse.de + +- CVS patch 20050202: + - fixed function-in-function + - fixed exit code of alsa-utils programs + +------------------------------------------------------------------- +Thu Jan 27 17:15:09 CET 2005 - tiwai@suse.de + +- CVS patch 20050127: + - dmix and dsnoop for default PCMs on many chips + - pcm link fix + - resmgr support (not enabled yet, waiting for fix in udev) + +------------------------------------------------------------------- +Tue Jan 18 21:18:33 CET 2005 - tiwai@suse.de + +- include fixes for alsa-lib and alsa-utils from CVS. + +------------------------------------------------------------------- +Thu Jan 13 15:26:33 CET 2005 - tiwai@suse.de + +- updated to version 1.0.8-final. + +------------------------------------------------------------------- +Mon Jan 3 19:10:46 CET 2005 - tiwai@suse.de + +- updated to version 1.0.8rc2. + +------------------------------------------------------------------- +Wed Nov 17 15:06:45 CET 2004 - tiwai@suse.de + +- updated to version 1.0.7. + +------------------------------------------------------------------- +Thu Sep 30 16:24:42 CEST 2004 - tiwai@suse.de + +- unmute/adjust 'Master Mono' in alsaconf as default. + +------------------------------------------------------------------- +Thu Sep 30 15:01:35 CEST 2004 - tiwai@suse.de + +- fixed segfault when printing help of aserver. +- fixed card-specific include files in alsa-lib. +- fixed ICH4 SPDIF support. +- fixed card aliases. +- fixed segfault when configuring the invalid sw_params. +- fixed shadow parameters in alsa-lib headers. +- fixed the handling of config files in alsaconf. +- fixed manpages in alsa-utils. + +------------------------------------------------------------------- +Thu Sep 16 15:27:30 CEST 2004 - tiwai@suse.de + +- fixed downsampling. +- fixed the error handling in dmix plugin. +- fixed alsa.m4 to avoid invalid reductions in $LIBS. +- fixed aplay for large file I/O and VOC file playback. + +------------------------------------------------------------------- +Mon Sep 13 17:33:10 CEST 2004 - tiwai@suse.de + +- fixed the infinite loop in alsa-lib parser. + +------------------------------------------------------------------- +Tue Aug 31 18:25:52 CEST 2004 - tiwai@suse.de + +- fixed alsaconf probing and options. +- fixed usb usermap for snd-usb-usx2y driver. + +------------------------------------------------------------------- +Fri Aug 27 16:38:34 CEST 2004 - tiwai@suse.de + +- updated to 1.0.6 final. +- added the new supported card config files. +- support the seprate playback/capture view on alsamixer. +- don't load snd-seq-oss in alsasound script. + +------------------------------------------------------------------- +Thu Aug 12 12:24:36 CEST 2004 - ro@suse.de + +- added libpng to neededforbuild (for doxygen) + +------------------------------------------------------------------- +Thu Aug 5 13:20:22 CEST 2004 - tiwai@suse.de + +- updated to 1.0.6rc1. +- Clean up alsasound init script. + +------------------------------------------------------------------- +Thu Apr 15 18:17:39 CEST 2004 - tiwai@suse.de + +- updated to version 1.0.4. +- fixed ACPI suspend/resume handling (#38571). +- removed the obsolete %post stuffs. +- removed the unneeded sleep in alsasound. +- fixed the handling of '-' and '_' letters in module names. + +------------------------------------------------------------------- +Fri Apr 2 15:02:38 CEST 2004 - kukuk@suse.de + +- alsasound: Fix Start/Stop Requires + +------------------------------------------------------------------- +Mon Mar 29 17:44:30 CEST 2004 - tiwai@suse.de + +- fixed REAME.SuSE. +- fixed the SPDIF output of Nforce. +- fixed snd_pcm_wait() for direct plugins. +- fixed the rate plugin to mangle avail_min. +- fixed the wrong copy problem in capture of rate plugin. +- fixed the closing bug of alsa-oss. +- fixed the pcm handling in alsa-oss. +- updated usb audio map. + +------------------------------------------------------------------- +Fri Mar 19 14:53:03 CET 2004 - tiwai@suse.de + +- fixed alsaconf for the legacy chip probing (#36256). +- fixed alsaconf for the dell board. +- fixed aplay/arecord for largefile support. +- improved the PCM polling. +- fixed segfaults in dmix codes. +- included some h/w specific headers into alsa-lib. +- fixed mono output definitions in emu10k1 configs. + +------------------------------------------------------------------- +Mon Mar 8 18:41:29 CET 2004 - tiwai@suse.de + +- updated to alsa-lib 1.0.3a. + +------------------------------------------------------------------- +Mon Mar 1 18:18:08 CET 2004 - tiwai@suse.de + +- updated to alsa-oss 1.0.3a. + +------------------------------------------------------------------- +Mon Mar 1 11:34:01 CET 2004 - tiwai@suse.de + +- 1.0.3-final package. + +------------------------------------------------------------------- +Fri Feb 27 18:49:42 CET 2004 - tiwai@suse.de + +- use asfxload for emu10k1 and sbawe scripts. +- added sleep in alsasound to get sync with device files. +- added LOAD_OSS_EMUL_MODULES in sysconfig/sound. +- alsa-oss 1.0.3rc3. + +------------------------------------------------------------------- +Thu Feb 26 12:17:15 CET 2004 - tiwai@suse.de + +- updated to version 1.0.3rc2. +- regenerated usb usermap. + +------------------------------------------------------------------- +Thu Feb 12 18:08:03 CET 2004 - tiwai@suse.de + +- updated to version 1.0.2. +- fix for stripping RPATH from libaoss (thanks to kraxel's script). + +------------------------------------------------------------------- +Fri Jan 16 17:41:13 CET 2004 - pth@suse.de + +- Fix quoting in alsa.m4 + +------------------------------------------------------------------- +Mon Jan 12 09:26:42 CET 2004 - adrian@suse.de + +- build as user + +------------------------------------------------------------------- +Fri Jan 9 16:14:37 CET 2004 - tiwai@suse.de + +- updated to version 1.0.1. + +------------------------------------------------------------------- +Mon Nov 17 19:34:55 CET 2003 - tiwai@suse.de + +- updated to version 1.0.0pre1. + now new API is used as default. the apps with old API should + define ALSA_PCM_OLD_HW_PARAMS_API and ALSA_OLD_SW_PARAMS_API + to keep using the old-style API. + +------------------------------------------------------------------- +Wed Sep 17 17:34:41 CEST 2003 - tiwai@suse.de + +- fixed the broken dmix plugin with 32bit samples. +- implemented the dmix plugin for x86-64. +- apply the last missing patch. + +------------------------------------------------------------------- +Mon Sep 15 14:51:12 CEST 2003 - tiwai@suse.de + +- don't remove joydev in joystick script (bug #30661). + +------------------------------------------------------------------- +Thu Sep 11 13:26:05 CEST 2003 - tiwai@suse.de + +- fixed the rate conversion plugin. +- fixed the aplay to set up correctly with unconventional rates. +- fixed the manpage of aplay and arecord. +- fixed the range calculation overflow in alsamixer. + +------------------------------------------------------------------- +Mon Sep 8 14:28:18 CEST 2003 - tiwai@suse.de + +- fixed dmix, dshare, dsnoop plugins. +- fixed alsaconf for the recent modutils. + +------------------------------------------------------------------- +Mon Sep 1 12:42:01 CEST 2003 - tiwai@suse.de + +- fixed config files for audigy boards. + +------------------------------------------------------------------- +Wed Aug 27 15:58:37 CEST 2003 - tiwai@suse.de + +- fixed the wrong name (typos) of snd_seq_port_info_timestamp + functions. +- added MEMORY-LEAK note. + +------------------------------------------------------------------- +Thu Aug 14 16:12:33 CEST 2003 - tiwai@suse.de + +- rewrite alsasound init script to accept reload for reloading + the sysconfig changes. +- added meta data to sound and joystick sysconfig files + (bug #28941, #28887). + +------------------------------------------------------------------- +Wed Aug 13 15:31:32 CEST 2003 - tiwai@suse.de + +- updated alsa-lib to 0.9.7-pre (cvs 2003.08.13) +- updated usb usermap. + +------------------------------------------------------------------- +Tue Aug 5 12:31:19 CEST 2003 - tiwai@suse.de + +- fixed lsmod path (bug #28430). + +------------------------------------------------------------------- +Thu Jul 31 11:34:39 CEST 2003 - meissner@suse.de + +- Adapted symbol version defines for ppc64 (should be reusing the + macro mess from glibc though). + +------------------------------------------------------------------- +Wed Jul 30 12:33:27 CEST 2003 - tiwai@suse.de + +- removed unsued binary file the filelist. +- added the fix for via82xx renaming. +- clean up the post-install code. +- added post_on_removal and restart_on_update for alsasound and + joystick services. + +------------------------------------------------------------------- +Mon Jul 28 17:19:46 CEST 2003 - tiwai@suse.de + +- updated to version 0.9.6. + +------------------------------------------------------------------- +Fri Jul 18 13:39:43 CEST 2003 - tiwai@suse.de + +- updated to version 0.9.5. +- fixed alsasound and alsaconf for the new modutils. + +------------------------------------------------------------------- +Fri Jul 4 13:26:23 CEST 2003 - tiwai@suse.de + +- updated to version 0.9.4. +- fixed the option of head command in alsa-scripts (bug #27413). +- updated alsaconf; -p shows the card name, too. + +------------------------------------------------------------------- +Fri Jun 13 00:47:36 CEST 2003 - ro@suse.de + +- added /etc/hotplug and /etc/hotplug/usb to filelist + +------------------------------------------------------------------- +Tue May 27 00:02:46 CEST 2003 - ro@suse.de + +- add static libaoss to filelist of devel subpackage + +------------------------------------------------------------------- +Tue Apr 15 14:26:24 CEST 2003 - tiwai@suse.de + +- fixed the option of head command in the new POSIX way. + +------------------------------------------------------------------- +Mon Mar 17 10:55:01 CET 2003 - tiwai@suse.de + +- fixed alsaconf to run for suse modules (bug #25440). +- don't unload soundcore and gameport modules in alsasound + init script - they may be used by other services/devices + (bug #24091). + +------------------------------------------------------------------- +Mon Mar 10 11:34:21 CET 2003 - tiwai@suse.de + +- fixed arecord to write a better WAV file header for stdout + (bug #24845). + +------------------------------------------------------------------- +Wed Mar 5 16:44:32 CET 2003 - tiwai@suse.de + +- try to restore the old style elements (cardX) even after the id + is changed. this will prevent the silent state after updating + the package. +- fixed the feedback address in README.SuSE. + +------------------------------------------------------------------- +Mon Feb 24 17:23:10 CET 2003 - tiwai@suse.de + +- added -F option to alsactl in alsasound init script. + +------------------------------------------------------------------- +Thu Feb 20 17:21:37 CET 2003 - tiwai@suse.de + +- don't use nested functions on non-ix86 architectures. + +------------------------------------------------------------------- +Mon Feb 17 15:06:21 CET 2003 - tiwai@suse.de + +- updated to cvs20030217. + including dmix plugin support. +- mute the master volume at unloading to avoid clicks. + +------------------------------------------------------------------- +Fri Feb 7 17:46:56 CET 2003 - tiwai@suse.de + +- updated to cvs20020307. +- fixed aplay bug. +- added the support of new timer interface. +- updated usb map. + +------------------------------------------------------------------- +Wed Jan 29 17:53:15 CET 2003 - tiwai@suse.de + +- fixed the versioned symbols of hook pcm and meter plugins. +- fixed -d option of aplay. + +------------------------------------------------------------------- +Tue Jan 21 12:39:19 CET 2003 - tiwai@suse.de + +- fixed the dlopen for hook, ladspa and meter pcm plugins. +- added configuration files for ENS1371 and VIA8233. +- fixed the handling of 24bit/3bytes samples. +- updated USB usermap. + +------------------------------------------------------------------- +Thu Jan 16 18:17:12 CET 2003 - tiwai@suse.de + +- added the metadata to sysconfig files (bug #22689). + +------------------------------------------------------------------- +Wed Dec 18 17:43:44 CET 2002 - tiwai@suse.de + +- updated to 0.9.0rc7-pre; regenrated tarballs from cvs. +- regenerated usb usermap. +- removed patches.tar.bz2. patches will be listed on spec. +- added SOUNDFONT_FILES in sysconfig/sound, which is used in sbawe + and emu10k1 init scripts (bug #21622). +- removed alsa-dummy library, since KDE2 is no longer supported. +- removed alsa-kernel header files from devel sub-package. + alsa-tools will include the necessary header files in itself. + +------------------------------------------------------------------- +Fri Dec 13 11:55:23 CET 2002 - tiwai@suse.de + +- fixed the build with the latest automake & co. + +------------------------------------------------------------------- +Mon Nov 11 00:03:30 CET 2002 - ro@suse.de + +- fix deprecated multiline string literal in aplay.c + +------------------------------------------------------------------- +Tue Sep 3 15:35:23 CEST 2002 - tiwai@suse.de + +- alsactl tries to restore the mixer elements as much as possible. + this will avoid "failure" status of alsasound after a driver is + updated. (bug #18823) +- fixed invalid use of assert in mixer. +- probe more possible dmas for cs and es18xx cards in alsaconf. +- load snd-usb-midi module additionally if necessary in alsa usb + script. + +------------------------------------------------------------------- +Thu Aug 29 17:30:39 CEST 2002 - tiwai@suse.de + +- fixed hotplug start script. +- fixed wrong assertion in alsa-lib. +- added the support for 24bit wav and new options -C and -P + to aplay. + +------------------------------------------------------------------- +Fri Aug 23 15:14:14 CEST 2002 - tiwai@suse.de + +- added the hotplug usermap and script files (bug #16768). + +------------------------------------------------------------------- +Tue Aug 20 19:23:37 CEST 2002 - tiwai@suse.de + +- fixed the detection of powermac driver on alsaconf. + +------------------------------------------------------------------- +Fri Aug 16 12:49:21 CEST 2002 - tiwai@suse.de + +- use the rc3 tarballs (meaning only version up). +- fixed alsa-lib's configure to get the newest auto-tools running. +- updated the comments on power management. + +------------------------------------------------------------------- +Wed Aug 14 16:51:26 CEST 2002 - tiwai@suse.de + +- fixed X-UnitedLinux-Should-Start in init script. + +------------------------------------------------------------------- +Thu Aug 1 15:03:21 CEST 2002 - tiwai@suse.de + +- added PreReq. +- improved alsa-lib documentations. +- fixed alsaconf for redhat :) +- added windows' path for soundfonts on emu10k1 script. +- provides scripts for more cards with opl3. + +------------------------------------------------------------------- +Sat Jul 27 17:21:40 CEST 2002 - adrian@suse.de + +- add %run_ldconfig + +------------------------------------------------------------------- +Mon Jul 22 15:32:36 CEST 2002 - tiwai@suse.de + +- fixed 3byte format conversion in plugins. +- fixed route pcm plugin. + fixed calculation of norm. + +------------------------------------------------------------------- +Tue Jul 16 15:44:36 CEST 2002 - meissner@suse.de + +- Fixed lib64 problem (/usr/lib was not created on lib64 platforms, + but is used for data files). + +------------------------------------------------------------------- +Mon Jul 15 15:46:36 CEST 2002 - tiwai@suse.de + +- split gamix and alsa-tools as individual packages. +- removed unused files from package sources. +- fixed 3byte format access and unsigned linear conversion + plugins on alsa-lib. + +------------------------------------------------------------------- +Wed Jul 3 17:01:26 CEST 2002 - tiwai@suse.de + +- fixed README.SuSE. +- alsaconf builds the card database by itself. +- added -s option to alsaconf to specify the test wav file. +- removed obsolete cardid files on docdir. + +------------------------------------------------------------------- +Wed Jun 26 11:36:02 CEST 2002 - tiwai@suse.de + +- changed the format ioctl mask. + added the backward compatible ioctls. +- don't check the error of running-mode ioctl for backward + compatibility. +- modprobe snd-ioctl32 in alsasound script. + +------------------------------------------------------------------- +Fri Jun 21 17:30:44 CEST 2002 - tiwai@suse.de + +- fixes and enhances for 64bit architectures. + sequencer has a new ioctl, RUNNING_MODE is used to check the + running 32/64 bit mode of the client. + +------------------------------------------------------------------- +Wed Jun 19 17:34:08 CEST 2002 - tiwai@suse.de + +- moved alsa drivers into kernel-source package. + this package includes only the header files from alsa-kernel + tar ball to reduce the size. + km_alsa is no longer generated. +- support for 3-bytes packed formats (e.g. usb audio 24bit + format) + +------------------------------------------------------------------- +Tue Jun 11 17:29:49 CEST 2002 - tiwai@suse.de + +- version alsa 0.9.0 rc1. +- added new pnp id for cs4236. +- improved rme32 driver. +- fixed resource handling of rme9652 driver. +- added hdsp driver. snd-rme9652-mem is renamed to + snd-hammerfall-mem. +- added experimental usb audio driver. +- fixed pmac driver. added auto-muting support as well as on + 0.5.x driver. + tone controls and DCR support for tumbler chip. + tone control and amplifier for screamer chip. +- removed own i2c functions from pmac driver. now using the + standard i2c interface and i2c-keywest module. +- added 64bit integer support on control API. +- fixed cs4281 driver. supporting two codecs experimentally. +- fixed capture of aplay on big endian. +- fixed sysex encoding of sequencer. +- fixed the module counter on gus driver. +- removed EXPORT_NO_SYMBOLS from the code of alsa-kernel. + moved to alsa-driver for compatibility. +- support of RME9636, RME9652 and GUS configurations. +- fixed the check of return values from copy_*_user(). +- fixed via8233 driver to work on via8233A. using multi-channel + SGD for playback. +- fixed es1968's hardware volume control. +- added 2ch to 4ch duplication switch to ymfpci. +- added support for spdif on cirrus logic's ac97 codecs. +- fixed Makefile and Config.in for 2.5 kernels. +- removed the obsolete snd_seq_create_event() from sequencer API. + fixed alsa.m4 for this change. +- fixed detection of ews64 card. +- fixed null pcm plugin. +- added options to set uid, gid and mode of alsa's device files + to alsaconf script. as default alsaconf doesn't set such + options. for secure set up, call with -r option. + +------------------------------------------------------------------- +Tue May 7 15:24:55 CEST 2002 - tiwai@suse.de + +- fixed hardware volume control on es1968. +- optimized rme32 driver. +- more complete naming of ich chipsets. +- fixed rear playback via wave surround on emu10k1. +- fixed trident driver for big endian. +- fixes for 2.2 kernels. +- fixed aplay to play 16bit-au format correctly. +- fixed typo in amixer. + +------------------------------------------------------------------- +Fri May 3 12:24:01 CEST 2002 - tiwai@suse.de + +- alsasound sets default volumes for all cards if no asound.state + is found. +- unmute mic in set_default_volume script. +- integrated via8233 to via686. via8233 module still exists, + though. +- fixed emu10k1 on big-endian machines. +- fixed inverted cmi8330 pcm volume. +- support --with-softfloat option to alsa-libs' configure. +- fixed check of include path in alsa-driver's configure. +- fixed compile on alpha. +- added a new control switch to toggle shared rear/line-in on + ymfpci. +- removed list-muti from Makefile of alsa-kernel. +- fixed compile of powermac drivers. +- fixed possible deadlock of timer module. +- added pcm playback using emu8000 on sbawe driver. +- fixed panning of sbawe's wavetable. +- phone and mic registers can have 5-bit resolution on ac97. +- fixed compile of drivers on 2.2 and early 2.4 kernels. + +------------------------------------------------------------------- +Thu May 2 14:53:35 CEST 2002 - meissner@suse.de + +- dropped qt dependencies, are not needed apparently. + +------------------------------------------------------------------- +Tue Apr 23 15:20:17 CEST 2002 - tiwai@suse.de + +- fixed deadlock on intel8x0. +- fixed deadlock on ice1712. +- fixed Config.in for alsa-kernel. +- improved detection of cmi8330 chip. +- improved detection of OPL4. +- fixed behavior of midi input on oss sequencer emulation. +- a bit clean up of sequencer core. +- fixed virmidi on sbawe/emu10k1 wavetables. +- clean up alsaconf script. + +------------------------------------------------------------------- +Fri Apr 19 12:42:07 CEST 2002 - tiwai@suse.de + +- build alsa static library separately from shared lib + (due to a bug of libtool). +- moved ipaq driver into alsa-kernel. +- new driver: rme32. +- fixed possible locking on sequencer. +- fixed non-compatible variables (LOAD_ALSA_SEQ). +- invoke soundfont and opl3 scripts only when LOAD_SEQUENCER + is set. +- fixed duplicated object lists in Makefile. + (a workaround for make modules_install) +- using new vararg macro on gcc3. +- fixed sound_core.c +- removed ipc code from sequencer. +- fixed capture plugins. + +------------------------------------------------------------------- +Tue Apr 16 17:20:51 CEST 2002 - tiwai@suse.de + +- fixed capture on OSS emulation mode. +- fixed digital/analog switch on SB live and audigy. + +------------------------------------------------------------------- +Mon Apr 15 19:34:22 CEST 2002 - tiwai@suse.de + +- updated ipaq driver. + +------------------------------------------------------------------- +Fri Apr 12 18:18:20 CEST 2002 - tiwai@suse.de + +- fixed build on mips. + +------------------------------------------------------------------- +Wed Apr 10 13:34:40 CEST 2002 - tiwai@suse.de + +- install non-stripped binaries as default. + +------------------------------------------------------------------- +Tue Apr 9 16:10:39 CEST 2002 - tiwai@suse.de + +- updated gamix to 1.99.p13. + added pkgconfig to neededforbuild. +- fixed compile drivers on 2.2 kernel. +- added --libdir options to configure to make sure building + for lib64. +- use dot instead of underscore in the rpm version. +- improved the detection of spdif on ens1371. +- fixed spdif i/o on ewx24/96. +- fixed OSS mmap emulation. +- added the drivers for arm (iPAQ). +- added new pnp id for cs4236. +- fixed arecord to capture raw data. +- added spdif support on wolfson ac97 codec. +- increase the max. number of rawmidi devices to 8. +- added -D option to amixer (just like on alsamixer). +- fixed digital/analog switch for audigy. +- added presario700 workaround on ac97 codec. +- added boot-up script for sb16 to load opl3 files. + +------------------------------------------------------------------- +Fri Apr 5 15:37:11 CEST 2002 - ro@suse.de + +- fixed gamix to build with new gettext + +------------------------------------------------------------------- +Mon Mar 25 16:11:13 CET 2002 - tiwai@suse.de + +- fixed spdif-input clock selection on EWX24/96. + +------------------------------------------------------------------- +Mon Mar 25 12:27:02 CET 2002 - tiwai@suse.de + +- added -Y to fillup_and_insserv joystick (bug #15433). +- removed check of joydev module at start of joystick script + (bug #15441). +- force to proceed even if ac97 not responding (bug #15428). +- fixed clock detection messages on intel8x0. +- support VIA8233 on via686 driver (bug #13786). + +------------------------------------------------------------------- +Fri Mar 22 17:31:56 CET 2002 - tiwai@suse.de + +- real fix for sb16 vibra. merged forgotten patch. +- fixed aseqnet. +- fixed the use of size_t in sequencer headers. +- fixed alsamixer; no longer aborted on es1938 mixer. + +------------------------------------------------------------------- +Wed Mar 20 18:50:07 CET 2002 - tiwai@suse.de + +- fixed capture on sb16 vibra. + +------------------------------------------------------------------- +Tue Mar 19 17:57:13 CET 2002 - tiwai@suse.de + +- fixed assignment of DMAs on als100 driver. +- removed zero-initialization of static variables to move (to + data block). +- fixed compile of emu10k1 on 2.2 kernel. +- fixed detection of Delta 1010LT. +- moved description of serial driver to Documentation directory. + +------------------------------------------------------------------- +Wed Mar 13 12:12:30 CET 2002 - tiwai@suse.de + +- corrected texts. +- fixed playback rate on via686 driver. +- clean up via8233 driver. +- improved rate converter again. + +------------------------------------------------------------------- +Tue Mar 12 13:38:45 CET 2002 - tiwai@suse.de + +- more fix for alsa-lib rate converter. +- fixed handling of capture volume/switch on simple mixer API. + fixed alsamixer, too. +- fixed pci ids for AMD chips. + cards.txt and cardids.txt are updated, too. + +------------------------------------------------------------------- +Mon Mar 11 16:01:51 CET 2002 - tiwai@suse.de + +- fixed support of vibra16 on sb16 driver. + +------------------------------------------------------------------- +Mon Mar 11 13:52:33 CET 2002 - tiwai@suse.de + +- fixed xrun problems on alsa-lib rate converter. +- fixed pci id definitions for AMD8111. + +------------------------------------------------------------------- +Mon Mar 11 11:44:02 CET 2002 - tiwai@suse.de + +- fixed/clean-up rawmidi driver. +- fixed compile or rtc-timer. + +------------------------------------------------------------------- +Sat Mar 9 12:11:42 CET 2002 - tiwai@suse.de + +- fixed segfault of aplay with a larger wav header. +- clean up emu8000 and wavefront drivers; added __init prefixes. +- fixed capture on audigy. + +------------------------------------------------------------------- +Fri Mar 8 17:29:23 CET 2002 - tiwai@suse.de + +- fixed alsaconf: asound.conf -> asound.state. + +------------------------------------------------------------------- +Fri Mar 8 15:14:35 CET 2002 - tiwai@suse.de + +- fixed segfault in alsa-lib regarding rate conversions. +- don't show colon at start up when no card is configured. +- fixed collision of resources for legacy opl3 and midi in ymfpci + and cmipci drivers. +- fixed audigy FX capture. +- fixed compile of powermac driver. +- fixed emu10k1 5.1 surround output. + +------------------------------------------------------------------- +Thu Mar 7 13:47:36 CET 2002 - tiwai@suse.de + +- reverted pci quirk code from 0.5.x for opl3sa2 driver. +- fixed es1968, maestro3, ymfpci: don't call + snd_pcm_period_elapsed() more than once per interrupt. +- removed unused sequencer codes from the source. +- fixed ioctl32 wrapper. +- fixed memory leak in rawmidi. +- return rc 5 (skipped) when no joystick device is configured. + +------------------------------------------------------------------- +Wed Mar 6 10:18:56 CET 2002 - tiwai@suse.de + +- fixed some bugs in gamix. +- use rwlock instead of spinlock in the pcm operation. +- fixed maestro3 driver to avoid picking the modem up. +- fixed module descriptions in wavefront driver. +- remove invalid snd_id module options in alsa post install + script (bug #14542). +- suppress "unexpected hwpointer.." debug messages (bug + #14275). +- fixed initialization of sequencer midi decoder. +- moved some documents into alsa-kernel directory. +- fixed module depenency descriptions. +- added the arm support (not compiled for rpms). +- moved oss related proc files to /proc/asound/oss. +- fixed floppy-hangup problem on ymfpci driver. + +------------------------------------------------------------------- +Wed Feb 27 19:12:15 CET 2002 - tiwai@suse.de + +- fixed handling of capture volumes/switches in alsamixer. +- added support for x86-64 to alsa drivers' configure script. +- set alsa's header path prior to the kernel headers. +- added ioctl32 wrappers for 64bit architectures (still not + compiled on existing architecturs). + +------------------------------------------------------------------- +Mon Feb 25 19:08:52 CET 2002 - tiwai@suse.de + +- fixed spdif phase inverse on cmipci for the recent models. + +------------------------------------------------------------------- +Mon Feb 25 16:40:08 CET 2002 - tiwai@suse.de + +- fixed AC3 passthrough on SB Live. +- added support for AMD-8111. +- fixed SPDIF input inverse switch on cmipci. +- added SPDIF input select switch on cmipci (for recent models). +- added Config.help in alsa-kernel. +- use normal printk with KERN prefixes for usual messages + instead of snd_printk. +- fixed pci_alloc_consistent hack for ppc. +- fixed module depenency in alsa-kernel. +- fixed count overflow problem on aplay. +- fixed legacy isa probing of alsaconf. now killing aplay/arecord + with -9. + +------------------------------------------------------------------- +Fri Feb 22 16:12:29 CET 2002 - tiwai@suse.de + +- added -p option to alsaconf to be invoked from external + programs. +- alsaconf checks TP600E and tries to configure cs4236 + automatically. +- fixed oops on cs423x drivers. + +------------------------------------------------------------------- +Fri Feb 22 13:56:38 CET 2002 - tiwai@suse.de + +- fixed surround and center/lfe (analog) outputs on audigy. +- added snd_mmap_valid option to cs46xx driver to support OSS + mmap mode. as default it is disabled (to be sure). +- fixed alsa-lib to adapt the recent API changes. + +------------------------------------------------------------------- +Thu Feb 21 17:34:25 CET 2002 - tiwai@suse.de + +- fixed memory allocation for ISA. +- improved alsa-lib xrun checks. +- fixed audigy driver + analog front is output through ac97. + enabled digital outputs. + fixed ADC capture. + support for line2 and aux2 inputs. +- fixed volumes of wavetable on emu* drivers. + +------------------------------------------------------------------- +Thu Feb 21 12:11:17 CET 2002 - tiwai@suse.de + +- improved xrun check - a new ioctl is added for xrun. +- llseek lock fixed for 2.5 kernel. + +------------------------------------------------------------------- +Wed Feb 20 19:57:44 CET 2002 - tiwai@suse.de + +- fixed oops on SB Audigy. +- fixed/improved set_default_volume script. + +------------------------------------------------------------------- +Wed Feb 20 17:33:26 CET 2002 - tiwai@suse.de + +- added (partial) midi / joystick support to intel8x0 driver. +- fixed ac97 initialization of via686 driver (bug #13404). +- added set_default_volume script and fixed alsasound init script + to set up volumes automatically when no config file is found + (bug #13649). +- fixed module depencies in alsa-kernel. +- added --with-kernel and --with-soundbase options to configure + scripts in alsa-tools. +- wait for the codec ready status for more longer time in ac97 + driver. +- fixed typos (lockups) in rme9652 driver. +- fixed inverted aux playback switch on cmipci driver. +- added verbose (debug) printk mode. fixed printk prefixes. +- alsasound script does't show failure messages even if ALSA is + already running (bug #13614). + +------------------------------------------------------------------- +Tue Feb 19 15:29:00 CET 2002 - tiwai@suse.de + +- fixed spdif on cmipci driver (for the recent chip models) + +------------------------------------------------------------------- +Tue Feb 19 13:36:15 CET 2002 - tiwai@suse.de + +- configurable verbose level of messages in alsa-driver. +- fixed isa memory allocation for old codes. +- fixed error handling of sequencer core. +- added/fixed include files for correct compile. + +------------------------------------------------------------------- +Mon Feb 18 17:47:54 CET 2002 - tiwai@suse.de + +- fixed joystick init script. +- fixed es18xx driver to support pm correctly. + +------------------------------------------------------------------- +Mon Feb 18 17:05:04 CET 2002 - tiwai@suse.de + +- fixed intel8x0 driver for nVidia nForce. + +------------------------------------------------------------------- +Mon Feb 18 10:42:27 CET 2002 - tiwai@suse.de + +- fixed renaming/moving of LOAD_ALSA_SEQ variable to sysconfig + (Bug #13941) +- fixed endian check in the kernel. +- revert to the old isa allocator code. +- fixed power management codes. +- fixed obsolete usage of __FUNCTION__. +- fixed compile on ppc64. +- check the compile date in configure script. + +------------------------------------------------------------------- +Fri Feb 15 19:37:38 CET 2002 - tiwai@suse.de + +- support for ppc64. +- use pci_alloc_consistent for allocation of ISA buffers. + +------------------------------------------------------------------- +Fri Feb 15 14:57:26 CET 2002 - tiwai@suse.de + +- fixed compile on 2.5.5 kernel. +- fixed typo in pcm_preallocate_all(). now should be built on + ia64. + +------------------------------------------------------------------- +Thu Feb 14 12:13:47 CET 2002 - tiwai@suse.de + +- more alsa-lib document fixes/improvements. +- fixed build of alsa-driver on the latest alpha kernel. + +------------------------------------------------------------------- +Wed Feb 13 17:23:25 CET 2002 - tiwai@suse.de + +- building drivers with debug option. +- fixed wrong kfree's after release_resource(). +- fixed possible collision of macros with ACPI patches. +- moved joystick support from module option to controls in + ymfpci and via686 drivers. +- removed snd_enable_midi option from es1968 driver. + mpu401 is enabled as default. +- fixed initialization of joystick address in joystick init + script. +- more docuemnts for timer releated issues in alsa-lib. + +------------------------------------------------------------------- +Tue Feb 12 19:47:41 CET 2002 - tiwai@suse.de + +- fixed mixer volumes on ad1816a. +- fixed playback/capture on ad1816a. + +------------------------------------------------------------------- +Mon Feb 11 16:10:35 CET 2002 - tiwai@suse.de + +- clean up module descriptions for yast2. +- fixed memory leaks before release_resources. +- introduced isa_virt_to_bus macro. +- fixed swap bugs in korg1212 driver. +- compilation fixes for sequencer-related modules. +- moved compatibility layer code to alsa-driver. +- fixed es1968 suspend/resume code. +- make sure intel8x0 driver working on non-intel archs. + +------------------------------------------------------------------- +Fri Feb 8 15:12:21 CET 2002 - tiwai@suse.de + +- fixed mpu401 handling and wave table devices on audigy. +- fixed mpu401 interrupts on ymfpci. snd_mpu_irq options is + removed. + +------------------------------------------------------------------- +Thu Feb 7 13:00:18 CET 2002 - tiwai@suse.de + +- fixed compile of pmac driver. +- added hack for panasonic CF-28. +- fixed handling of irq 0 on cs4236. + +------------------------------------------------------------------- +Tue Feb 5 12:39:53 CET 2002 - tiwai@suse.de + +- added pci_enable_device() in resume. +- removed commas from end of enum lists. +- fixed typo in header files. + +------------------------------------------------------------------- +Mon Feb 4 15:04:11 CET 2002 - tiwai@suse.de + +- added GPL license tags on some modules. +- fixed capture rate on ens1371. +- changes for the latest doxygen. +- fixed oss mixer misbehavior. +- added a new pnp id for cs4236. +- fixed emu10k1 wavetable function. +- fixed compile warning of emu10k1 mpu401 code. +- added missing MODULE_DEVICE_TABLES to some modules. + +------------------------------------------------------------------- +Fri Feb 1 14:58:39 CET 2002 - tiwai@suse.de + +- open OSS pcm devices on the non-blocking mode as default. + +------------------------------------------------------------------- +Fri Feb 1 11:49:20 CET 2002 - tiwai@suse.de + +- added initial support for SB Audigy. +- added initial support for TerraTec DMX 6Fire. +- fixed oops on ALS4000. +- fixed the installation path of modules. +- fixed oops in oss plugin module. +- improved/fixed digital output on cmipci driver. +- added pnp id for ALS200 to alsa100 driver. +- improved mpu401 input check. +- clean up of driver codes. addition of __devinit and + __devinitdata. +- fixed typo in the description of module option in sb16. +- updated cards.txt and cardids.txt. +- renamed varibles for joystick init script. +- added comments about ac3dec in README.SuSE. + +------------------------------------------------------------------- +Fri Jan 25 17:22:18 CET 2002 - tiwai@suse.de + +- more fixes for cmipci driver. +- fix for nm256 (Dell Latitude LS). +- kmerge/Config.in fixes. +- removed ac3dec from alsa-tools tarball due to potential + license problems. disabled build of ac3dec. +- added a colon in start up of alsasound again. + it's better :) +- more fixes for alsa-lib docs. + +------------------------------------------------------------------- +Tue Jan 22 15:58:02 CET 2002 - tiwai@suse.de + +- added a new pci id for ens1371. +- added support for NVidia Nforce (intel8x0). +- removed snd_enable_midi/fm options from cmipci driver. +- fixed 4ch playback mode on cmipci driver. +- more fixes of documents for alsa pcm plugins. +- fixed id of mixer on ESS Allego. +- fixed module names in README.SuSE. + +------------------------------------------------------------------- +Thu Jan 17 15:11:22 CET 2002 - tiwai@suse.de + +- better handling of enum strings in alsactl get/set. + +------------------------------------------------------------------- +Wed Jan 17 12:29:56 CET 2002 - tiwai@suse.de + +- removed gpm from StartRequires in alsasound init script. +- fixed maestro3 initialization bug. +- improved documentation of alsa-lib plugins. +- merged ARM patch into alsa-lib. + +------------------------------------------------------------------- +Thu Jan 17 12:28:43 CET 2002 - uli@suse.de + +- fixed to build on ARM + +------------------------------------------------------------------- +Wed Jan 16 18:50:57 CET 2002 - egmont@suselinux.hu + +- removed colons from startup/shutdown messages. + +------------------------------------------------------------------- +Tue Jan 15 14:21:19 CET 2002 - schwab@suse.de + +- Fix missing declarations in kernel drivers. + +------------------------------------------------------------------- +Mon Jan 14 16:50:40 CET 2002 - tiwai@suse.de + +- added get & set commands to alsactl. +- fixed joystick init script. +- more documents for doxygen. + +------------------------------------------------------------------- +Fri Jan 11 17:56:22 CET 2002 - tiwai@suse.de + +- fixed compile of alsa-kernel on ia64. +- fixed renaming via686a -> via686. + +------------------------------------------------------------------- +Wed Jan 9 16:41:49 CET 2002 - tiwai@suse.de + +- fixed infinite loop when playback drain is failed. + +------------------------------------------------------------------- +Tue Jan 8 18:36:58 CET 2002 - tiwai@suse.de + +- don't call depmod in alsa-driver when DESTDIR is set. + +------------------------------------------------------------------- +Tue Jan 8 14:18:33 CET 2002 - tiwai@suse.de + +- renamed from sysconfig/alsa to sysconfig/sound. +- fixed routing of ice1712 driver. +- added enable_loopback option to snd-ac97-codec module. +- updated gamix to ver.1.99.p11. +- added -c option to envy24control. +- fixed -c option for ac3dec. +- added the list of drivers compiled for each arch. + Makefile.module reads the generated list file when exists. + so far provided only for ia64. + +------------------------------------------------------------------- +Tue Jan 8 10:41:42 CET 2002 - tiwai@suse.de + +- removed sysconfig files from filelist. + +------------------------------------------------------------------- +Mon Jan 7 15:33:44 CET 2002 - tiwai@suse.de + +- fixed name of synth modules (for auto-loading). +- checked linux/pm.h in configure script. + +------------------------------------------------------------------- +Mon Jan 7 12:21:20 CET 2002 - tiwai@suse.de + +- added missing header files from alsa-kernel to devel package. +- fixed calculations of timeout in some drivers. +- many fixes for compile on 2.2 kernel. +- asoundef.h is incldued in alsa-lib (not symlinked). +- added sysconfig files as ghost to filelist. +- check old modules names in /etc/modules.conf and rename them + automatically during post-install. + +------------------------------------------------------------------- +Fri Jan 4 17:08:57 CET 2002 - tiwai@suse.de + +- renaming of driver modules. + all snd-card-xxx modules are renamed to snd-xxx. + the old module configuration must be updated. sorry. + together with this change, cardids.txt is converted, too. +- split alsa driver sources. + (a step for kernel 2.5 integration.) + alsa-kernel tarball is provided individually. +- move LOAD_ALSA_SEQ variable to /etc/sysconfig/alsa. +- fixed alsasound script. + +------------------------------------------------------------------- +Thu Dec 13 12:30:10 CET 2001 - tiwai@suse.de + +- fix alsasound: don't try to load sequencer and version-check + when no card drivers are loaded. +- better renaming from START_ALSA_SEQ to LOAD_ALSA_SEQ. +- added joystick init script. (only for testing yet) + using /etc/sysconfig/joystick for configuration. +- remove (rename) the old /etc/asound.conf if found. +- removed kernel-source from neededforbuild. + +------------------------------------------------------------------- +Thu Dec 13 10:38:17 CET 2001 - tiwai@suse.de + +- fixed eapd hack on cs46xx (now km_alsa is fixed for build). +- more configurable pcm parameter for dummy driver. +- added snd_pcm_route_determine_ttable(). + +------------------------------------------------------------------- +Wed Dec 12 15:38:19 CET 2001 - iwai@suse.de + +- added missing alsa-driver documents. + +------------------------------------------------------------------- +Tue Dec 11 18:59:34 CET 2001 - tiwai@suse.de + +- added joystick support on ymfpci driver: + snd_joystick_port module option is added (default disabled). + Needs ns558 module. +- added joystick support on es1938 (ess solo1) and sonicvibes + drivers (on 2.4 kernel only). + The driver handles gameport directly, so ns558 module is + not necessary. +- added joystick support on es1968 (maestro2) driver. + A new control switch "Joystick" is added. Needs ns558. +- added joystick support on cs4281 driver. + handles gameport directly. No ns558 needed. +- fixed alsasound script to unload gameport module automatically. +- run update-deps on alsa-driver during build stage so that + configure in km_alsa is properly generated. +- fixed compile of alsa-lib on ia64. +- changed snd_pcm_mmap_* handling. + +------------------------------------------------------------------- +Mon Dec 10 11:19:01 CET 2001 - tiwai@suse.de + +- fixed typo in tumbler driver. +- fixed mono conversion plugin in alsa-lib. +- fixed configure of alsa-driver on alpha. +- fixed window resizing of alsamixer. + +------------------------------------------------------------------- +Fri Dec 7 19:01:27 CET 2001 - tiwai@suse.de + +- PM support on opl3sa driver. +- HW volume support from docking station on es1968. +- Fixed GPL license tag on some modules. +- experimental support of LADSPA plugin layer. + +------------------------------------------------------------------- +Fri Dec 7 14:29:53 CET 2001 - tiwai@suse.de + +- fixed pmac (tumbler) driver. +- fixed trident latency problem. +- no longer inclusion of linux asm header files in alsa-lib. +- fixed module descriptions in cs4232 and es18xx modules. +- check ALSA driver version in alsasound init script. +- fixed compile of maestro3 driver on 2.2 kernel. + +------------------------------------------------------------------- +Tue Dec 4 11:49:16 CET 2001 - tiwai@suse.de + +- fixed typo in intel8x0 driver. +- build alsa-docs package on all architectures. +- merged kernel-header hack patch for non-intel architectures. + +------------------------------------------------------------------- +Mon Dec 3 16:22:22 CET 2001 - tiwai@suse.de + +- updated to ALSA 0.9.0 beta (CVS 2001.12.03) +- split alsa-docs package for ALSA documentation. + (so far only on i386 due to problem of doxygen) +- as10k1 is not built to avoid conflict with emu-tools package. + +------------------------------------------------------------------- +Tue Nov 27 12:58:30 CET 2001 - tiwai@suse.de + +- fixed oops at removing cs461x driver with amp hack. + +------------------------------------------------------------------- +Fri Nov 23 16:03:15 CET 2001 - tiwai@suse.de + +- added the last missing patch into patch archive.. sorry. + +------------------------------------------------------------------- +Fri Nov 23 12:45:09 CET 2001 - tiwai@suse.de + +- fixed compile of maestro3 driver on 2.2 kernel. + +------------------------------------------------------------------- +Thu Nov 22 14:10:44 CET 2001 - tiwai@suse.de + +- use new macros for fill-up and init script +- fixes for building with normal user mode: + rpm --rebuild should work with normal user. + +------------------------------------------------------------------- +Wed Nov 21 17:54:57 CET 2001 - tiwai@suse.de + +- fixed permission of proc device files on the latest kernel. +- fixed IrDA on Dell Inspiron 4000 notebook. +- replaced include malloc.h with slab.h (obsoleted). +- fixed expansion of variable length argument macros. +- use set_current_state() macro. +- fixed typo in ymfpci capture switch. + +------------------------------------------------------------------- +Fri Nov 9 19:21:30 CET 2001 - tiwai@suse.de + +- merged with the latest 0.5.12 tarball release. +- fixed installation of alsa.m4 file. +- fixed potential compile warnings. +- clean up spec file. +- build alsa-lib and alsa-utils inside specfile without extra + Makefile. +- gettextize gamix + +------------------------------------------------------------------- +Mon Nov 5 10:26:16 CET 2001 - tiwai@suse.de + +- libtoolized alsa-lib & alsa-utils. +- fix compile of alsa-lib on non-gcc system. + the mixer sort functions become thread-unsafe. + +------------------------------------------------------------------- +Wed Oct 17 17:55:22 CEST 2001 - tiwai@suse.de + +- fixed compile of isapnp.o on 2.2 kernel. + +------------------------------------------------------------------- +Mon Oct 15 16:03:42 CEST 2001 - tiwai@suse.de + +- fixed missing exported symbols in snd-synth-emux module. +- added GPL module license to each module. + necessary for the latest 2.4 kernel and modutils. + +------------------------------------------------------------------- +Fri Oct 12 18:27:05 CEST 2001 - tiwai@suse.de + +- added missing EXPORT_NO_SYMBOLS to the relevant modules. + +------------------------------------------------------------------- +Thu Oct 11 12:19:28 CEST 2001 - tiwai@suse.de + +- fixed new feature calls for the latest benh kernel + (only for ppc) +- improved cardname output of pmac driver. + +------------------------------------------------------------------- +Tue Oct 9 12:03:21 CEST 2001 - tiwai@suse.de + +- added a new pnp id for cs4236. +- fixed again mute bitmask for screamer dev.10. +- added new pnp entries to card id database. + +------------------------------------------------------------------- +Mon Oct 8 18:45:19 CEST 2001 - tiwai@suse.de + +- fixed auto-muting on screamer dev.10 (bug #11690). +- added a new pnp id for sbawe. + +------------------------------------------------------------------- +Tue Oct 2 13:19:38 CEST 2001 - tiwai@suse.de + +- fixed oops / lock-up on es1968 driver (bug #11562). +- fixed oops / lock-up when ROM soundfont is loaded on emu10k1. +- added check for 586MMX in configure script. + +------------------------------------------------------------------- +Mon Oct 1 13:26:52 CEST 2001 - tiwai@suse.de + +- added snd_enable option to awacs driver again (bug #11339). +- fixed auto-mute check on screamer dev.8 (ppc driver). +- added conditional rescheduling while loading samples on emu8000. + +------------------------------------------------------------------- +Thu Sep 27 17:06:36 CEST 2001 - tiwai@suse.de + +- fixed line-out plug check for screamer with dev != 0. + now auto-muting should work on most of pmacs. +- added snd_auto_mute_mask flag for user to set the bit-mask + value. + +------------------------------------------------------------------- +Thu Sep 20 15:27:39 CEST 2001 - tiwai@suse.de + +- changed OSS version number to 3.8.2, to avoid warning from + gmix (Bug #10523) + +------------------------------------------------------------------- +Thu Sep 20 12:23:24 CEST 2001 - tiwai@suse.de + +- added a new pnp id (SMM7180) for ad1816a. +- added toggle command to amixer. + +------------------------------------------------------------------- +Wed Sep 19 15:50:17 CEST 2001 - tiwai@suse.de + +- added missing pnp id to card database. + +------------------------------------------------------------------- +Fri Sep 14 19:02:20 CEST 2001 - tiwai@suse.de + +- removed cache for snd_cards_mask() in alsa-lib + so that alsa-lib can detects the change of status (Bug #10314). + +------------------------------------------------------------------- +Wed Sep 12 18:42:31 CEST 2001 - tiwai@suse.de + +- improved measurement of clock on es1968. +- increased maximum timer frequency on es1968. + better responce expected for small fragments. +- improved measurement of ac97 clock on intel8x0. + +------------------------------------------------------------------- +Mon Sep 10 12:07:06 CEST 2001 - tiwai@suse.de + +- fixed mpu initialization on ymf744/754. +- added snd_mpu_irq option for cmipci driver. some cards need + an extra interrupt for mpu401. when the interrupt is shared + with pcm, pass -1 (as default). + +------------------------------------------------------------------- +Fri Sep 7 14:39:43 CEST 2001 - tiwai@suse.de + +- added auto measurement of clock on es1968 chips. +- added amplifier switch for DACA on pmac. As default it's on. + +------------------------------------------------------------------- +Thu Sep 6 18:29:40 CEST 2001 - tiwai@suse.de + +- fixed the clock value of es1978 chip. +- Makefile.module accept ALSA_MODULE_TO_BUILD to pass as + a configure option. Each kernel package can give --with-cards + option to specify the drivers to be compiled. + As default all drivers are built. + +------------------------------------------------------------------- +Wed Sep 5 18:20:32 CEST 2001 - tiwai@suse.de + +- fixed playback on ymfpci with small fragment size. +- fixed clicking noises during playback on es1968. + +------------------------------------------------------------------- +Tue Sep 4 17:28:49 CEST 2001 - tiwai@suse.de + +- fixed initialization/suspend/resume on pmac DACA and Tumbler + chips. patch is merged to cvs. +- changes "Wave Playback Volume" on alsatest (for ymfpci driver). +- updated README.SuSE, power management section. + +------------------------------------------------------------------- +Thu Aug 30 17:37:41 CEST 2001 - tiwai@suse.de + +- pmac (awacs) driver detects the status of headphone and + mutes/unmutes the speaker automatically. +- alsaconf changes "Speaker" and "Line Out" volumes at sound test + (for awacs driver). + +------------------------------------------------------------------- +Tue Aug 28 16:39:48 CEST 2001 - tiwai@suse.de + +- fixed pc-speaker driver for playback. +- fixed detection of keywest i2c device on ppc. + +------------------------------------------------------------------- +Mon Aug 27 18:45:02 CEST 2001 - tiwai@suse.de + +- integrated i2c-keywest code into awacs driver. + no longer i2c-core and i2c-keywest modules are required. + +------------------------------------------------------------------- +Mon Aug 27 12:14:27 CEST 2001 - tiwai@suse.de + +- fixed deadlock during capture on maestro3 driver (SMP). +- added support for ESS Canyon3D-2/LE PCI (to maestro3 driver). +- merged additional patches to cvs. +- do not return the error code at stopping alsasound script + (bug #9888). +- added isa pnp id for ALS200 to als100 driver. + +------------------------------------------------------------------- +Fri Aug 24 16:52:05 CEST 2001 - tiwai@suse.de + +- added mixer control for DACA (iBook) on awacs driver. + i2c support on kernel (i2c-core and i2c-keywest) is required + as well. + +------------------------------------------------------------------- +Thu Aug 23 16:54:36 CEST 2001 - tiwai@suse.de + +- added experimental support for ibook2 (tumbler) on awacs driver. + i2c support on kernel is required. for mixer control, + i2c-keywest module should be formerly loaded. + only master and beep playback volumes are available. +- reduced clocks at beginning of playback on ad1848. + +------------------------------------------------------------------- +Wed Aug 22 16:42:58 CEST 2001 - tiwai@suse.de + +- fixed race condition in open/close of cmipci driver. + protected by mutex. +- fixed the bug in rate conversion of alsa-lib (this happens + only when different format rate is returned in setup like sb8). +- added pci_enable_device in emu10k1 driver. +- fixed deadlock of mozart driver. +- added snd_isapnp option to snd-card-opti9x driver. + +------------------------------------------------------------------- +Mon Aug 15 10:23:54 CEST 2001 - tiwai@suse.de + +- fixed start up scripts for emu10k1/sbawe to support multiple + cards. +- disabled isapnp on ppc prep (only for 2.2 kernel). +- fixed configure script to set CONFIG_SND_ISA correctly. +- added pc speaker driver (not compiled as default :) + +------------------------------------------------------------------- +Tue Aug 14 19:20:12 CEST 2001 - schwab@suse.de + +- Fix alsa-driver configure script: don't force CONFIG_SND_ISA. + +------------------------------------------------------------------- +Thu Aug 9 14:26:39 CEST 2001 - tiwai@suse.de + +- fixed card id database. +- fixed stereo playback on es1968. +- fixed pcm playback on emu10k1. + +------------------------------------------------------------------- +Fri Aug 3 12:43:57 CEST 2001 - tiwai@suse.de + +- fixed alsasound compliant to LSB. + +------------------------------------------------------------------- +Wed Aug 1 16:01:29 CEST 2001 - tiwai@suse.de + +- removed snd_max_channels module option from cmipci driver. +- support for large soundfonts (caching) on emu10k1 driver. +- fixed card database. +- fixed module descriptions. + +------------------------------------------------------------------- +Fri Jul 13 15:39:53 CEST 2001 - tiwai@suse.de + +- use _prefix & co. + +------------------------------------------------------------------- +Fri Jul 13 13:06:11 CEST 2001 - grimmer@suse.de + +- fixed man page file list (using wild cards instead including + the directory itself) + +------------------------------------------------------------------- +Tue Jul 10 17:11:49 CEST 2001 - tiwai@suse.de + +- improved mixer volumes for spdif controls on ymfpci driver. + +------------------------------------------------------------------- +Thu Jul 5 17:13:04 CEST 2001 - iwai@suse.de + +- added new pnp id for terratec maestro32/96. +- fixed compile on ppc - isa cards are enabled. +- check undefined dma_addr_t & etc in configure script. + +------------------------------------------------------------------- +Tue Jun 26 11:31:31 CEST 2001 - tiwai@suse.de + +- added snd_nonblock_open module option to pcm-oss module. +- fixed clkrun hack on cs461x driver. + +------------------------------------------------------------------- +Thu Jun 7 10:44:35 CEST 2001 - tiwai@suse.de + +- added a new pnp id for sb16. +- improved intel8x0 driver. + + auto-probing of ac97 clock. + + pm support. + + fragment size fix. + + lowlevel module is removed. +- added snd_dsp_map and snd_adsp_map module options to pcm-oss + module. + +------------------------------------------------------------------- +Mon May 28 11:25:17 CEST 2001 - tiwai@suse.de + +- added a new pnp id for azt2320. +- fixed amp_enable hack for hercules game theatre xp. +- swapped spdif 5V switch on cmipci driver. +- initialize more two registers on ymfpci driver. +- fixed kernel-version numbering (in alsa-driver rpms). + +------------------------------------------------------------------- +Tue May 15 18:12:03 CEST 2001 - tiwai@suse.de + +- include alsa-driver 0.5.11 tarball. patches removed. + +------------------------------------------------------------------- +Tue May 15 14:08:21 CEST 2001 - tiwai@suse.de + +- fixed/improved alsaconf: + + added -l, -m options + + use static card db + + use /proc/isapnp instead of pnpdump + + add /sbin path to modutils commands (to start from KDE menu) + +------------------------------------------------------------------- +Fri May 11 17:24:09 CEST 2001 - tiwai@suse.de + +- fixed alsaconf. + +------------------------------------------------------------------- +Fri May 11 13:37:12 CEST 2001 - tiwai@suse.de + +- Fixed pm code. +- Added ali5451 driver. + +------------------------------------------------------------------- +Thu May 10 12:19:49 CEST 2001 - tiwai@suse.de + +- Fixed pm code on ymfpci, es1968, nm256 and cs461x. +- Workaround against hang up on es1968. + +------------------------------------------------------------------- +Wed May 9 11:07:22 CEST 2001 - tiwai@suse.de + +- Added a workaround for buzzing on ymf754. +- alsaconf uses cardids.txt if exists. + +------------------------------------------------------------------- +Tue May 8 15:10:50 CEST 2001 - tiwai@suse.de + +- Added auto-probing of legcay isa chips to alsaconf. + +------------------------------------------------------------------- +Mon May 7 17:34:16 CEST 2001 - tiwai@suse.de + +- Improved alsaconf: + + can choose a soundcard if multiple cards exit. + + saner manipulation of /etc/modules.conf +- Added a new pnp id for ad1816. +- Acquire irq after chip detection on es1968 driver. +- fm/mpu_port don't have to be set on non-isapnp opl3sa2. + +------------------------------------------------------------------- +Thu May 3 11:33:44 CEST 2001 - tiwai@suse.de + +- Added a new pnp id for sbawe. +- Fixed build on 2.2 smp kernel. + +------------------------------------------------------------------- +Wed May 2 15:09:35 CEST 2001 - tiwai@suse.de + +- Fixed sequencer tempo bug. +- Fixed compile warnings regarding pointer cast. +- Check address bit mask of allocated region on es1968 and + maestro3 drivers. + +------------------------------------------------------------------- +Mon Apr 30 15:19:19 CEST 2001 - tiwai@suse.de + +- Fixed alsaconf (for the latest modinfo). +- Added gpm to RequireStart in init script (to avoid irq conflicts) +- Fixed private_value of kswitch from int to long. (This fixes the + bug below correctly.) + +------------------------------------------------------------------- +Sun Apr 29 20:54:20 CEST 2001 - schwab@suse.de + +- Fix invalid cast in cmipci driver. + +------------------------------------------------------------------- +Fri Apr 27 13:04:45 CEST 2001 - bk@suse.de + +- fixed all_notes_off script(no \r's and no delay) +- fixed alsa driver start scripts emu10k1 and sbawe + (fix for creative soundfont path used by yast2 and status improvement) +- fixed permissions of alsa driver start scripts (/etc/alsa.d files) +- filelist fix: add /etc/alsa.d (the dir itself) also to the alsa + filelist (/etc/alsa.d is not mentionend in aaa_dir) + +------------------------------------------------------------------- +Tue Apr 10 18:24:47 CEST 2001 - tiwai@suse.de + +- Fixed INSTALL document. +- Added new chips to cards.txt and cardids.txt. +- Fixed compile on the very recent kernel. +- Clean up of emu10k1/sbawe scripts. + +------------------------------------------------------------------- +Tue Apr 10 13:52:37 CEST 2001 - tiwai@suse.de + +- Added all_notes_off script. +- Added -P/-C options to aplay for AC3 playback. +- Fixed typos in documents. +- Fixed version numbering of alsa-utils. + +------------------------------------------------------------------- +Fri Apr 6 14:34:53 CEST 2001 - tiwai@suse.de + +- New test sound by mana@suse.de. +- Improved spdif/mixer support on cmipci driver. +- Fixed overflow / zero-divide error of timer tempo calculation. + +------------------------------------------------------------------- +Mon Apr 2 16:38:12 CEST 2001 - kukuk@suse.de + +- Remove kernel_headers from requires + +------------------------------------------------------------------- +Fri Mar 23 16:59:20 CET 2001 - tiwai@suse.de + +- Fixed compile on 2.2 kernel again. +- Fixed memory leak. +- Added external amp and clkrun hacks for cs461x (untested). + snd_clkrun module option is obsoleted. +- Disabled debug options. +- Fixed sequencer bugs. + +------------------------------------------------------------------- +Wed Mar 21 14:55:28 CET 2001 - tiwai@suse.de + +- Removed tricky SuSEconfig for alsa-devel header files. + All header files will be installed simplly to /usr/include/linux + and /usr/include/sys, since /usr/include/linux is now included + in glibc-devel package. + +------------------------------------------------------------------- +Wed Mar 21 11:25:54 CET 2001 - tiwai@suse.de + +- Fixed compile of alsa-driver on 2.2 kernel. + +------------------------------------------------------------------- +Tue Mar 20 14:57:21 CET 2001 - tiwai@suse.de + +- Support for ia64. +- Fixed typo in azt2320 driver. + +------------------------------------------------------------------- +Mon Mar 12 18:07:04 CET 2001 - tiwai@suse.de + +- Added a pseudo master volume to awacs driver + (to keep compatibility with other ones). +- Removed invalid elements from awacs / burgundy mixer. + +------------------------------------------------------------------- +Fri Mar 9 16:15:10 CET 2001 - tiwai@suse.de + +- Fixed bogus export of pm_xxx functions on 2.4 kernel. + (fixed conflict with pcmcia_core.o) + +------------------------------------------------------------------- +Tue Mar 6 18:24:54 CET 2001 - tiwai@suse.de + +- Added a new pnp id for neomagic neowave (on acer notebook) + to opl3sa2 driver. +- Fixed nm256 signature detection more strictly. + +------------------------------------------------------------------- +Mon Mar 5 14:32:36 CET 2001 - tiwai@suse.de + +- Fixed endian and rate checks for screamer of ppc awacs driver. + +------------------------------------------------------------------- +Thu Mar 1 14:33:44 CET 2001 - tiwai@suse.de + +- Synced with the latest 0.5.x source (awacs is now in main tree). +- Fixed spinlock in awacs driver. + +------------------------------------------------------------------- +Mon Feb 26 13:09:28 CET 2001 - tiwai@suse.de + +- Fixed Makefile.module for km_alsa. +- Added -b option to depmod in alsa-driver Makefile. +- Improved sbawe/emu10k1 scripts. + +------------------------------------------------------------------- +Tue Feb 20 13:07:48 CET 2001 - tiwai@suse.de + +- Added a new pnp id for sb16. + +------------------------------------------------------------------- +Thu Feb 15 14:48:33 CET 2001 - tiwai@suse.de + +- Minor fixes of awacs. +- Added mic-gain, aux input mixer controls for cmipci. +- Added support of card-dependent scripts (under /etc/alsa.d). + +------------------------------------------------------------------- +Fri Feb 9 13:15:36 CET 2001 - tiwai@suse.de + +- Added new pnp id for cs4236. +- Fixed OSS GET_DSP_RATE ioctl to get the nearest pcm rate. +- Fixed alsasound script. +- Changed byte-swap detection on awacs driver. +- Disabled capture on awacs driver with DACA chip. +- Saner nm256 signature check. + +------------------------------------------------------------------- +Mon Feb 5 17:42:18 CET 2001 - tiwai@suse.de + +- Added reboot notifier callback to ymfpci, es1968 and maestro3 + drivers. +- Fixed ac97 codec routine. + +------------------------------------------------------------------- +Thu Feb 1 10:02:35 CET 2001 - tiwai@suse.de + +- Fixed Makefile again. +- Updated to alsa-lib-0.5.10b. + +------------------------------------------------------------------- +Wed Jan 31 18:18:56 CET 2001 - tiwai@suse.de + +- Fixed initialization on some CS4236 chip. + +------------------------------------------------------------------- +Wed Jan 31 15:16:34 CET 2001 - tiwai@suse.de + +- Fixed Makefile of alsa-driver for DESTDIR support. + +------------------------------------------------------------------- +Mon Jan 29 16:51:36 CET 2001 - tiwai@suse.de + +- Added $remote_fs to RequestStart/Stop in alsasound init script. + +------------------------------------------------------------------- +Mon Jan 29 12:25:38 CET 2001 - tiwai@suse.de + +- Updated to alsa-driver-0.5.10b. + (Addition of VIA VT8233 driver) +- Fixed typo wrt CS4281 pci id. +- Added check for pmac-awacs driver to alsaconf script. + +------------------------------------------------------------------- +Tue Jan 23 11:29:23 CET 2001 - schwab@suse.de + +- Reenable building of kernel module on ia64. + +------------------------------------------------------------------- +Wed Jan 17 13:06:33 CET 2001 - tiwai@suse.de + +- Added experimental support for ibook DACA (no mixer yet). +- Fixed DESTDIR in alsa-driver's Makefile. + +------------------------------------------------------------------- +Tue Jan 16 13:40:45 CET 2001 - tiwai@suse.de + +- Fixed initialization of maestro3 driver on 2.4 kernel. +- Fixed 8bit linear conversion in pcm_misc.c. + +------------------------------------------------------------------- +Thu Jan 11 15:00:16 CET 2001 - tiwai@suse.de + +- Fixed typos in documents. +- Added missing alsamixer & gamix documents. + +------------------------------------------------------------------- +Thu Jan 11 14:36:39 CET 2001 - tiwai@suse.de + +- More fix on ac97codec. +- Fixed alsasound script to avoid hang at shutdown. + +------------------------------------------------------------------- +Wed Jan 10 14:18:53 CET 2001 - tiwai@suse.de + +- Fixed missing exports of pci_compat stuffs. + +------------------------------------------------------------------- +Wed Jan 10 10:52:38 CET 2001 - tiwai@suse.de + +- Fixed clkrun init in resume of cs461x. +- Fixed initialization of ac97 on CS4297A rev B. +- Fixed alsaconf script (Bug #5393). +- Fixed snd_dma_size function. +- Fixed documentation, README.SuSE, README.alsadev. + +------------------------------------------------------------------- +Mon Jan 8 18:20:20 CET 2001 - tiwai@suse.de + +- Fixed warning on comiple. +- Added a note for irq problem on via686a-SMP mobo to + alsa-driver/INSTALL. +- Changed compile condition: CONFIG_APM -> CONFIG_PM + +------------------------------------------------------------------- +Mon Jan 8 12:11:28 CET 2001 - tiwai@suse.de + +- Updated to alsa-driver-0.5.10a. + (including better condition check for wavefront.c) +- Fixed compile on 2.2 kernel. +- Fixed handling of non-interleave data in the mmap plugin. + +------------------------------------------------------------------- +Fri Jan 5 16:16:24 CET 2001 - tiwai@suse.de + +- Improve/bugfix of es1968 (maestro/2e) driver. + + Dead spinlock is fixed. + + Stereo capture is available now. + + APM support. +- Added a new pnp id for cs4236. +- Fixed compile on 2.4.0 kernel. Can no longer compile on old + 2.4.0-testXX kernels. + +------------------------------------------------------------------- +Thu Jan 4 17:55:27 CET 2001 - tiwai@suse.de + +- Added new revision id for ens1371. + +------------------------------------------------------------------- +Wed Jan 3 18:38:00 CET 2001 - tiwai@suse.de + +- Fixed typo in amixer (wrong memory allocation). +- Fixed silent notes on sequencer. +- Added snd_vaio_hack option to nm256 driver. +- Fixed FM801 capture bug. +- Added new pnp id for cs4232. +- Fixed power management on maestro3. +- Fixed typo in cmi8330 driver. + +------------------------------------------------------------------- +Tue Jan 2 17:55:26 CET 2001 - olh@suse.de + +- add DESTDIR to Makefile.module and Makefile + +------------------------------------------------------------------- +Sun Dec 31 19:48:11 CET 2000 - kukuk@suse.de + +- Remove postinstall on SPARC and IA64 + +------------------------------------------------------------------- +Mon Dec 18 18:16:58 CET 2000 - tiwai@suse.de + +- Fixed initialization of ymfpci driver. + +------------------------------------------------------------------- +Mon Dec 18 17:06:36 CET 2000 - tiwai@suse.de + +- Improved maestro3 driver: multiple streams & duplex support. +- Fixed pm support on cs4231,cs4232,cs4236. +- Fixed pm support on cs461x. +- Fixed alsaconf script to display the correct device name. +- Fixed cards.txt and cardids.txt entries. + +------------------------------------------------------------------- +Fri Dec 15 13:59:54 CET 2000 - tiwai@suse.de + +- Added Copyright tag to alsa-devel. + +------------------------------------------------------------------- +Thu Dec 14 15:36:36 CET 2000 - tiwai@suse.de + +- Fixed pm support on nm256. +- Fixed memory barrier problems on some alpha chips. +- Fixed alsasound script to kill OSS apps. + +------------------------------------------------------------------- +Tue Dec 12 13:04:24 CET 2000 - tiwai@suse.de + +- Added pm support for cs461x. +- Fixed typo on maestro3 - m3 chips should work now. +- Added pm support for maestro3. +- Added pm support for nm256. +- Fixed a wrong pnp id of azt2320. + +------------------------------------------------------------------- +Mon Dec 11 12:37:44 CET 2000 - tiwai@suse.de + +- Fixed compile on suse 2.2.17 kernel. + +------------------------------------------------------------------- +Fri Dec 8 15:17:27 CET 2000 - tiwai@suse.de + +- Added NeoMagic NM256AV/ZX driver. + +------------------------------------------------------------------- +Thu Dec 7 14:06:34 CET 2000 - tiwai@suse.de + +- Updated to 0.5.10. + +------------------------------------------------------------------- +Mon Dec 4 19:57:43 CET 2000 - tiwai@suse.de + +- Added experimental Maestro3/Allegro driver. +- Added experimental CS4281 driver. +- Added START_ALSA and START_ALSA_SEQ in /etc/rc.config + to ask start up of alsa services. + +------------------------------------------------------------------- +Mon Dec 4 01:58:19 CET 2000 - ro@suse.de + +- fix km_alsa build + +------------------------------------------------------------------- +Mon Nov 27 13:51:10 CET 2000 - tiwai@suse.de + +- alsa-driver package is no longer compiled. cards.txt and + cardids.txt are provided as extra sources. +- Added new id for cs4236. +- Moved /sbin/init.d -> /etc/init.d + /sbin/rcalsasound -> /usr/sbin/rcalsasound + +------------------------------------------------------------------- +Fri Nov 24 13:51:29 CET 2000 - tiwai@suse.de + +- Added hack to avoid hang on opl3sa2 driver. +- Fixed AWACS driver. +- Enabled basic debug option. + +------------------------------------------------------------------- +Mon Nov 20 19:30:23 CET 2000 - tiwai@suse.de + +- Use insserv in post-install for creating init.d scripts. +- Fixed oops in sequencer. +- Added new id for cs4236. +- Fixed oops in ac97 (some of cs461x chips have caused). +- Updated PMac AWACS driver. + +------------------------------------------------------------------- +Thu Nov 16 13:31:25 CET 2000 - tiwai@suse.de + +- Added PMac AWACS driver (experimentally). +- New pnp id for cs4236. +- Fixed initialization of es1968 on 2.4 kernel. +- Fixed rate and voices plugins for big-endian. +- Fixed usage and man page of alsamixer and aplay. + +------------------------------------------------------------------- +Fri Nov 10 14:59:30 CET 2000 - kukuk@suse.de + +- Change requires from libc to glibc-devel + +------------------------------------------------------------------- +Thu Nov 9 17:23:53 CET 2000 - tiwai@suse.de + +- Updated gamix to 1.11. +- Load sequencer modules automagically in alsasound script. + +------------------------------------------------------------------- +Mon Nov 6 18:05:22 CET 2000 - tiwai@suse.de + +- Move libasound.so into alsa-devel package. +- Fixed autobuild on beta-i386. +- New pnp id for sb16. + +------------------------------------------------------------------- +Thu Nov 2 12:48:49 CET 2000 - tiwai@suse.de + +- Change for long-name packages (alsa-devel and alsa-driver). +- No longer generate sndcards.ycp (contained in y2t_snd package). + +------------------------------------------------------------------- +Tue Oct 31 12:39:26 CET 2000 - tiwai@suse.de + +- Added ALS4000 driver. +- Fixed typo of ac97 codec. +- Changed loops_per_sec to loops_per_jiffy in wavefront.c. +- Added snd_ac97_clock module parameter for i815 chip. + +------------------------------------------------------------------- +Tue Oct 17 14:18:06 CEST 2000 - tiwai@suse.de + +- Fixed a bug in sb8 MIDI input. +- Fixed bugs in standard mpu401-uart. + +------------------------------------------------------------------- +Wed Oct 11 16:56:07 CEST 2000 - tiwai@suse.de + +- Added a new pnp id for SB16. +- Added a new id for AC97. + +------------------------------------------------------------------- +Tue Oct 10 11:05:33 CEST 2000 - tiwai@suse.de + +- Updated to alsa-driver-0.5.9d. +- Fixed a minor bug of sequencer midi emulation. +- Fixed MIDI UART on CMIPCI driver. + +------------------------------------------------------------------- +Fri Oct 6 16:00:29 CEST 2000 - tiwai@suse.de + +- Added new id for CS4236. +- Fixed NOTE events handling in sequencer. +- Updated to gamix-1.09p17. + +------------------------------------------------------------------- +Wed Sep 27 14:27:53 CEST 2000 - tiwai@suse.de + +- Use /lib/modules/%{kernel_version}/misc directory for generating + sndcards.ycp + +------------------------------------------------------------------- +Mon Sep 25 18:35:29 CEST 2000 - tiwai@suse.de + +- Fixed generating sndcards.ycp. +- New pnp id for cs4236. +- New pci id for CM8738B. +- More SPDIF support on CMI PCI driver. +- Fixed loopback bug in alsa-lib. + +------------------------------------------------------------------- +Thu Sep 14 16:27:11 CEST 2000 - tiwai@suse.de + +- Fixed deadlock of OSS sequencer emulation. +- Fixed S/PDIF input on YMFPCI driver. +- Support new switches for CMIPCI driver. +- Support for 2.2.18 kernel. +- Send MIDI reset after closing sequencer MIDI devices. +- Minor update of README.SuSE. + +------------------------------------------------------------------- +Mon Sep 4 14:14:05 CEST 2000 - tiwai@suse.de + +- Updated to alsa-driver-0.5.9c / utils-0.5.9b. +- Fixed emu10k1 filter cutoff pops and clicks. +- Put all patches into patches.tar.bz2. +- Put (currently unused) files for custom subpackages into + custom.*.tar.bz2. +- Include gendb script from y2t_sndd to allow users rebuild the + source RPM without the SuSE internal package. +- More fixes of README.SuSE. + +------------------------------------------------------------------- +Fri Sep 1 19:08:04 CEST 2000 - tiwai@suse.de + +- Added support of i815. +- Fixed ymfpci typos. +- Fixed sequencer instrument layer. +- Fixed emu8000 filter cutoff pops and clicks. +- New option -x for aconnect. +- Bug fixes of memory leak by aseqnet. + +------------------------------------------------------------------- +Mon Aug 28 15:18:24 CEST 2000 - tiwai@suse.de + +- Add new ids for ad1816a, aztec and sb32. +- Fix internal synth of emu8000 and emu10k1. +- Aplay bugfix. +- CMI PCI bugfix. + +------------------------------------------------------------------- +Mon Aug 21 10:35:32 CEST 2000 - tiwai@suse.de + +- Update to alsa-utils 0.5.9a. + +------------------------------------------------------------------- +Mon Aug 14 14:19:24 CEST 2000 - tiwai@suse.de + +- 64bit support on emu10k1. +- Bugfix of ENS1371 initialization. +- More bugfix of 64bit support. + +------------------------------------------------------------------- +Mon Aug 14 10:52:29 CEST 2000 - tiwai@suse.de + +- Update to 0.5.9a +- Minor bugfix of alsactl + +------------------------------------------------------------------- +Wed Aug 9 17:12:33 CEST 2000 - tiwai@suse.de + +- More fixes for 64bit support. + +------------------------------------------------------------------- +Wed Aug 9 11:27:24 CEST 2000 - kukuk@suse.de + +- On SPARC, only include the alsa libraries + +------------------------------------------------------------------- +Mon Aug 7 14:09:59 CEST 2000 - tiwai@suse.de + +- Update to 0.5.9. +- Fix warning messages due to 64bit support. + +------------------------------------------------------------------- +Fri Aug 4 14:25:13 CEST 2000 - tiwai@suse.de + +- Ignore MPU initialization on CS4236 if not reported by isapnp + (for Dell 410 Workstation). +- Fix annoying kmix messages for emu10k1 mixer. +- Improve YMFPCI fragment size calculation. + +------------------------------------------------------------------- +Tue Aug 1 14:57:26 CEST 2000 - tiwai@suse.de + +- Fix Oops in rawmidi when accessed through ALSA sequencer. + +------------------------------------------------------------------- +Fri Jul 28 11:50:19 CEST 2000 - tiwai@suse.de + +- Take KDE_Startup.wave from kbase package as test.wav to reduce + autobuild time. kbase is removed from the neededtobuild list. + +------------------------------------------------------------------- +Thu Jul 27 10:49:53 CEST 2000 - tiwai@suse.de + +- Fix NULL pointer access in Opti93x driver. +- Add CLKRUN support for CS461x. T20 and TP570E will work w/o + disabling PCI Bus power management in BIOS. +- Use modprobe -c instead of reading config file in alsasound + script. + +------------------------------------------------------------------- +Fri Jul 21 13:39:27 CEST 2000 - tiwai@suse.de + +- Fix wrong directory name with $RPM_BUILD_ROOT in libasound.la + (in alsadev package only). +- Remove strict asound.h check at configuring alsa-lib. +- Call autoheader explicitly before compiling alsa-lib and + alsa-utils. + +------------------------------------------------------------------- +Wed Jul 19 11:34:28 CEST 2000 - tiwai@suse.de + +- Allow non-blocking mode to OSS rawmidi access. +- Fix a bug in caputer pointer calculation of via686a driver. +- Fix typos in README.SuSE. +- Install forgotten mo files of gamix. + +------------------------------------------------------------------- +Fri Jul 14 15:16:35 CEST 2000 - tiwai@suse.de + +- Fix cards.txt. +- Add a missing codec ID for AC97. +- Add small i/o delays in ENS1370 driver. + +------------------------------------------------------------------- +Thu Jul 13 17:23:21 CEST 2000 - tiwai@suse.de + +- Fixed triggerrun script. +- Fixed a bug in virmidi causing double kfree(). +- Add README to alsadev package. + +------------------------------------------------------------------- +Mon Jul 10 11:40:37 CEST 2000 - tiwai@suse.de + +- Swap left and right playback voices on YMF PCI. +- Fix alsaconf to display correct ISA-PnP card. +- Fix mixer input MUX of AD1816a driver. +- added %{_docdir}/cardids.txt with full dirver info for hwinfo(bk). +- Alsasound script terminates processes using sound devices when + stopped. +- Added status command to alsasound script. + +------------------------------------------------------------------- +Fri Jul 7 13:04:59 CEST 2000 - tiwai@suse.de + +- Fix a wrong PnP FM-port initialization in sb16. +- Fix playback/capture clicks on SB-1.0. +- Fix Opti92x chip detection bug. +- Fix loud noises at start up of Opti92x-cs4231 driver. + +-------------------------------------------------------------------- +Thu Jul 6 15:13:49 CEST 2000 - tiwai@suse.de + +- Fix emu10k1 PCM playback bug. +- Fix YMFPCI plaback/record bug. +- Avoid freezing of YMFPCI driver when USB is uninitialized. +- Fix MPU401 SMP lock. +- Replace applause.wav with KDE_Startup.wav as test wave data + for alsaconf and YaST2. +- Disable debug flag in km_alsa Makefile. +- Add -fno-builtin option for compile on PPC. +- Fix typos in INSTALL document. +- Fix unexported module parameters. + +------------------------------------------------------------------- +Tue Jul 4 19:32:08 CEST 2000 - kukuk@suse.de + +- Don't include sndcards.ycp on ia64 and SPARC + +------------------------------------------------------------------- +Mon Jul 3 13:08:32 CEST 2000 - tiwai@suse.de + +- Add /usr/lib/YaST2/sndcards.ycp to both alsa and alsadrv packages. +- Change from whistle.au to applause.wav for test sound (installed + as /usr/share/sounds/alsa/test.wav). + +------------------------------------------------------------------- +Wed Jun 28 15:45:31 CEST 2000 - tiwai@suse.de + +- Bugfix of devfs support. +- Bugfixes of emu10k1, cs461x and es1968 drivers. +- Include both libasound.so.1 and 1.0.1 in alsa package. + +------------------------------------------------------------------- +Tue Jun 27 11:18:13 CEST 2000 - tiwai@suse.de + +- Update to ALSA driver 0.5.8b +- Update to gamix-1.09p15 +- Fix a typo in README.SuSE + +------------------------------------------------------------------- +Mon Jun 26 10:11:34 CEST 2000 - kukuk@suse.de + +- Don't build kernel modules on SPARC + +------------------------------------------------------------------- +Fri Jun 23 12:51:38 CEST 2000 - schwab@suse.de + +- Fix use of %suse_update_config. +- Don't build kernel modules on ia64. + +------------------------------------------------------------------- +Fri Jun 16 17:15:21 CEST 2000 - tiwai@suse.de + +- Add pciutils as Requirements. +- Update of gamix to 1.0-p13. +- Bugfixes of ES1938 driver. +- Backport of ES1968 driver from 0.6.0 (with bugfixes). +- Add new pnp id to cs4236. +- Trident joystick support. + +------------------------------------------------------------------- +Fri Jun 16 09:24:28 CEST 2000 - cihlar@suse.cz + +- linux/* header files installed under /usr/include/alsa/linux +- added SuSEconfig.alsa +- added triggers + +------------------------------------------------------------------- +Fri Jun 9 00:12:13 CEST 2000 - bk@suse.de + +- fixed kernel_version define -> %(uname -r) +- changed linux_header_dir to /usr/src/linux/include/linux + (should fit with the pre-install then) + +------------------------------------------------------------------- +Thu Jun 8 23:23:05 CEST 2000 - ro@suse.de + +- added pre-install for alsadev: create linux-srcdir if nonexistant + +------------------------------------------------------------------- +Thu Jun 8 11:01:23 CEST 2000 - tiwai@suse.de + +- linux/* header files are installed under + /usr/src/linux-VERSION.SuSE instead of /usr/src/linux + (for avoiding confliction with lx_suse). +- Fix: minor bugs in ad1816 +- Fix: sequencer patch loader +- Experimental APM support on YMF PCI driver + +------------------------------------------------------------------- +Tue Jun 6 12:49:53 CEST 2000 - tiwai@suse.de + +- Official release of alsa-driver-0.5.8a, lib & utils-0.5.8 are + included. +- alsadev installs header files under /usr/src/linux/include/linux + instead of /usr/include/linux, owing to confliction with libc. + libc and alsa packages are declared as requirements explicitly. + +------------------------------------------------------------------- +Fri Jun 2 18:39:37 CEST 2000 - tiwai@suse.de + +- ALSA development package (alsadev) is split. + It contains header files and static libraries. +- Updated to 06/02 snapshot of 0.5.8-pre version. + YMF PCI driver is newly added. + +------------------------------------------------------------------- +Fri May 26 20:27:08 CEST 2000 - tiwai@suse.de + +- updated to 0.5.8 pre-release version including bug fixes, + addition of new driver (CMI 8x38 PCI) and device (direct FM + OPL3 hwdep). +- bugfix of gamix + +------------------------------------------------------------------- +Tue May 2 15:53:36 CEST 2000 - bk@suse.de + +- merged latest ppc and alpha fixes to one package +- fixed missing documentation +- added subpackage alsai8x0, customer package for intel8x0 chipset + +------------------------------------------------------------------- +Fri Apr 28 11:29:04 CEST 2000 - olh@suse.de + +- add loops_per_sec.dif for ppc, guessing... + +------------------------------------------------------------------- +Fri Apr 28 09:55:21 CEST 2000 - olh@suse.de + +- fix Makefile for 6.4-ppc + +------------------------------------------------------------------- +Thu Apr 27 21:23:00 CEST 2000 - bk@suse.de + +- added fix for card out of range message from tiwai. + +------------------------------------------------------------------- +Thu Apr 27 02:25:44 CEST 2000 - bk@suse.de + +- added subpackage alsadrv, includes update modules for k_deflt +- added subpackage alsavia6, special package for via chipset +- general cleanup +- converted buildroot + +------------------------------------------------------------------- +Thu Apr 6 14:55:19 CEST 2000 - bk@suse.de + +- Updated to alsa-0.5.7, +- -%{version} added to alsa-driver tree in km_alsa +- Updated README.SuSE +- Package build documentation updates. +- added config.{sub,guess} update call from schwab + +------------------------------------------------------------------- +Fri Mar 31 01:08:20 CEST 2000 - ro@suse.de + +- libasound has version 1.0.0 now + +------------------------------------------------------------------- +Fri Mar 17 13:35:02 CET 2000 - bk@suse.de + +- updated to alsa-0.5.6, cvsexport 2000-03-17.tar.bz2 + +------------------------------------------------------------------- +Tue Mar 14 05:55:57 CET 2000 - bk@suse.de + +- disabled kernel headers in the file list + +------------------------------------------------------------------- +Sat Mar 11 23:13:44 CET 2000 - bk@suse.de + +- added isapnp to Requires: + +------------------------------------------------------------------- +Thu Mar 9 07:55:43 CET 2000 - ro@suse.de + +- removed k_deflt from neededforbuild (endless rebuild-loop) + +------------------------------------------------------------------- +Thu Mar 9 07:39:46 CET 2000 - bk@suse.de + +- fixed new selfwritten 0.5.5 alsaconf to actually work, new version: 0.5.5a + +------------------------------------------------------------------- +Tue Mar 7 01:49:20 CET 2000 - bk@suse.de + +- added gamix from http://www1.tcnet.ne.jp/fmurata/linux/down/ +- alsa modules are no longer built here. +- wrote listcards.sh and added generated /usr/doc/packages/alsa/cards.txt + +------------------------------------------------------------------- +Sun Mar 5 23:44:42 CET 2000 - ro@suse.de + +- added Makefile.module and subpackage km_alsa to build the + kernel-modules + +------------------------------------------------------------------- +Sat Mar 4 04:16:24 CET 2000 - bk@suse.de + +- updated to cvsexport 2000-03-03.tar.bz2 +- removed not longer needed alsa-driver-configure.in.dif +- wrote quick hack alsaconf update from 0.4 to 0.5 + +------------------------------------------------------------------- +Thu Mar 2 19:26:31 CET 2000 - bk@suse.de + +- updated to alsa-0.5.5, cvsexport 2000-03-02.tar.bz2 + +------------------------------------------------------------------- +Thu Feb 24 21:18:41 CET 2000 - bk@suse.de + +- fixed alsa-driver configure to check autoconfig.h instead of cpuinfo + +------------------------------------------------------------------- +Thu Feb 24 16:47:15 CET 2000 - bk@suse.de + +- fixed up /usr/src/kernel-modules/alsa-driver source dir. + +------------------------------------------------------------------- +Thu Feb 24 02:44:14 CET 2000 - bk@suse.de + +- added alsa-driver source tree in /usr/src/kernel-modules/alsa-driver + +------------------------------------------------------------------- +Fri Feb 18 22:15:12 CET 2000 - bk@suse.de + +- ALSA 0.5 is back! Version 0.5.3 (cvsexport 2000-02-19) +- alsa config will be done through the yast2 module, or thorugh + a termplat in the default modules.conf, which will be simple + because 0.5 has PnP and PCI support. +- removed hack which got alsa compiled even if lx_suse disabled + soundcore.o +- Added missing Dependency to dialog(Bug #1998) + +------------------------------------------------------------------- +Mon Feb 14 19:49:09 CET 2000 - bk@suse.de + +- went back to alsa-0.4.1i, last 0.5.2 version moved to BETA for + later re-use when the new alsaconf for 0.5.2 is stable. + +------------------------------------------------------------------- +Tue Feb 8 18:57:54 CET 2000 - bk@suse.de + +- updated to improved, sent-back Makefile version from Jaroslav +- fixed and improved the Makefile further (now builds on AXP too) +- ensure that /usr/src/linux/.config is suitable for building ALSA + (didn't exist on AXP) + +------------------------------------------------------------------- +Mon Feb 7 17:16:59 CET 2000 - uli@suse.de + +- fixed (again) for PPC + +------------------------------------------------------------------- +Sun Feb 6 04:49:55 CET 2000 - bk@suse.de + +- updated to alsa-0.5.2, cvsexport 2000-02-05 +- based on pthomas's initial alsa5 work. +- alsaconf for alsa5 included and works if only the alsa modules + which this package actively lists in the filelist are installed. + +------------------------------------------------------------------- +Fri Jan 14 19:53:46 CET 2000 - bk@suse.de + +- rpm version number fix (0.4.1d -> 0.4.1i) + +------------------------------------------------------------------- +Thu Jan 13 16:21:31 CET 2000 - uli@suse.de + +- fixed wavefront.c for PPC + +------------------------------------------------------------------- +Wed Jan 5 16:49:00 CET 2000 - pthomas@suse.de + +- fixed spec file to include the OSS emulation modules in file list + +------------------------------------------------------------------- +Tue Jan 4 22:55:06 CET 2000 - bk@suse.de + +- another fix related to the previous alsaconf fixes. + +------------------------------------------------------------------- +Tue Jan 4 18:51:22 CET 2000 - bk@suse.de + +- updated alsa-driver to alsa-driver-0.4.1i +- updated alsa-lib to alsa-lib-0.4.1e +- fixed some problems in alsaconf (Audiodrive18xx,ES1370 and others) +- improved alsaconf and alsasound scripts for /etc/asound.conf handling. + +------------------------------------------------------------------- +Thu Nov 11 21:07:25 CET 1999 - bk@suse.de + +- added changes from Phillip, oss-Modules vanished, I hope, this is correct. + +------------------------------------------------------------------- +Sun Nov 7 19:44:55 CET 1999 - bk@suse.de + +- fixed garbled sceen messages in alsaconf, now pretty window. +- run alsaconf stop on if alsa is loaded at startup of alsaconf. + +------------------------------------------------------------------- +Sat Nov 6 02:54:19 CET 1999 - bk@suse.de + +- added rcalsasound stop to alsaconf and say in the intro: close all sndapps + +------------------------------------------------------------------- +Fri Nov 5 19:10:20 CET 1999 - bk@suse.de + +- fixed ESS AudioDrive ES16x8 detecton and generating of + /etc/conf.modules for this card. It works now, great! + +------------------------------------------------------------------- +Fri Nov 5 15:33:54 CET 1999 - bk@suse.de + +- fixes and updates to alsasound.diff from Phillip +- updated alsaconf to alsaconf-0.4.2(only change: fix for AWE64) + +------------------------------------------------------------------- +Fri Nov 5 15:24:08 CET 1999 - bk@suse.de + +- added changes from Klaus: Initilaze 2nd PCM on ESS 1969 chipset + and fix y/z-typo. +- set PCM volume initial to 100%(Master output is still 50%) so people + without a big amplifier will hear something and added a note for + people with big amplifiers to lower volumer or say no at the play + test sample question. + +------------------------------------------------------------------- +Fri Nov 5 11:18:26 CET 1999 - ro@suse.de + +- removed devices, now in "devs" package + +------------------------------------------------------------------- +Tue Nov 2 14:53:19 CET 1999 - bk@suse.de + +- fixed a bug alsaconf to configure the ESS Solo 1 Type Sound cards. + (thanks to Thorsten Kukuk for testing and lending me his Travelmate + to fix it) + BTW: The ESS Solo 1 is detected and configured automatically now. + +------------------------------------------------------------------- +Tue Nov 2 05:11:28 CET 1999 - bk@suse.de + +- this one should make alsa really nice to use: +- run /sbin/init.d/alsasound stop&start from alsaconf +- initialize mixers to open channels +- added a sound sample to the package and play it in alsaconf +- added some help for the user to the end of alsaconf + +------------------------------------------------------------------- +Mon Nov 1 01:52:34 CET 1999 - bk@suse.de + +- fixed a small bug in alsaconf and added a supporting ending message + +------------------------------------------------------------------- +Fri Oct 29 07:09:19 CEST 1999 - bk@suse.de + +- added /usr/sbin/alsaconf to the filelist + +------------------------------------------------------------------- +Mon Oct 25 04:49:01 CEST 1999 - bk@suse.de + +- added alsaconf, a tool for configuring the alsa driver! Try it! +- added updates for README.SuSE and /sbin/init.d/alsasound from Philipp Thomas + +------------------------------------------------------------------- +Sun Oct 24 20:20:53 CEST 1999 - bk@suse.de + +- updated alsa-driver to 0.4.1d + minor bugfixes (CMI8330, 2+ soundcards, modules.conf handling, + documentation files). + Upgrade is recommended if your system has 2 or more soundcards. +- updated alsa-lib to 0.4.1d (PCM cleanup fixes) + +------------------------------------------------------------------- +Wed Oct 20 21:54:03 CEST 1999 - bk@suse.de + +- %files: use a static list of sound drivers instead of wildcards. + +------------------------------------------------------------------- +Mon Oct 11 04:13:42 CEST 1999 - bk@suse.de + +- updated alsa-driver to 0.4.1c + +------------------------------------------------------------------- +Mon Oct 11 01:39:02 CEST 1999 - ro@suse.de + +- patched to compile wavefront.c on axp +- simplified specfile + +------------------------------------------------------------------- +Tue Sep 21 00:56:42 CEST 1999 - ro@suse.de + +- fixed filelist + +------------------------------------------------------------------- +Sat Sep 18 07:24:08 CEST 1999 - bk@suse.de + +- major update to version 0.4.1b, many changes + +------------------------------------------------------------------- +Mon Sep 13 17:23:57 CEST 1999 - bs@suse.de + +- ran old prepare_spec on spec file to switch to new prepare_spec. + +------------------------------------------------------------------- +Sun Aug 29 15:05:56 CEST 1999 - ro@suse.de + +- set kernel-version to 2.2.12 + +------------------------------------------------------------------- +Tue Jul 20 15:12:18 MEST 1999 - bk@suse.de + +- added libtoolize --force to use ltconfig and ltmain from libtool + +------------------------------------------------------------------- +Sat Jul 17 00:14:14 MEST 1999 - ro@suse.de + +- set kernel version to 2.2.10 + +------------------------------------------------------------------- +Fri Jul 16 01:09:00 MEST 1999 - ro@suse.de + +- fixed filelist + +------------------------------------------------------------------- +Thu Jul 15 16:14:19 MEST 1999 - bk@suse.de + +- minor doku update, Check added, postinstall exits with value 0. + +------------------------------------------------------------------- +Mon Jun 28 19:19:07 MEST 1999 - uli@suse.de + +- added missing header files + +------------------------------------------------------------------- +Fri Jun 4 01:15:21 MEST 1999 - ro@suse.de + +- changed kernel-ver to 2.2.9 + +------------------------------------------------------------------- +Sat May 22 09:50:40 MEST 1999 - bk@suse.de + +- fixed compile problem on alpha +- Documentation cleanup +- postinstall fixes + +------------------------------------------------------------------- +Sat May 1 13:15:31 MEST 1999 - ro@suse.de + +- made the kernel-version a macro + +------------------------------------------------------------------- +Mon Apr 5 14:26:29 MEST 1999 - bs@suse.de + +- fixed date strings in .changes. + +------------------------------------------------------------------- +Thu Apr 1 12:53:25 MEST 1999 - ro@suse.de + +- changed "-"in Version to "_" +- activated patch to get README.SuSE +- cut down post-script + +------------------------------------------------------------------- +Thu Apr 1 04:05:30 MEST 1999 - bk@suse.de + +- new package - Advanced Linux Sound Architecture (ALSA) + version : CVS snapshot 1993-03-28 + homepage: http://alsa.jcu.cz + patches : none, except README.SuSE and a fix to the alsasound script. + diff --git a/alsa.spec b/alsa.spec new file mode 100644 index 0000000..3f6c7e2 --- /dev/null +++ b/alsa.spec @@ -0,0 +1,310 @@ +# +# spec file for package alsa +# +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +#Compat macro for new _fillupdir macro introduced in Nov 2017 +%if ! %{defined _fillupdir} + %define _fillupdir /var/adm/fillup-templates +%endif + +%if 0%{?suse_version} < 1200 +%define _udevrulesdir /lib/udev/rules.d/ +%endif + +Name: alsa +Version: 1.1.9 +Release: 0 +Summary: Advanced Linux Sound Architecture +License: LGPL-2.1-or-later +Group: System/Libraries +Url: http://www.alsa-project.org/ +Source: ftp://ftp.alsa-project.org/pub/lib/alsa-lib-%{version}.tar.bz2 +Source2: baselibs.conf +Source8: 40-alsa.rules +Source9: 42-hd-audio-pm.rules +Source11: alsasound +Source12: sysconfig.sound +Source13: joystick +Source14: sysconfig.joystick +Source16: set_default_volume +Source17: test.wav +Source21: README.testwav +Source30: all_notes_off +Source31: all_notes_off.bin +Source32: all_notes_off.mid +Source34: alsa-init.sh +# upstream fixes +Patch1: 0001-pcm-direct-Add-generic-hw_ptr_alignment-function-for.patch +Patch2: 0002-pcm-dshare-Added-hw_ptr_alignment-option-in-configur.patch +Patch3: 0003-pcm-dsnoop-Added-hw_ptr_alignment-option-in-configur.patch +Patch4: 0004-pcm-file-add-support-for-infile-reading-in-non-inter.patch +Patch5: 0005-pcm-file-use-snd_pcm_file_areas_read_infile-for-read.patch +Patch6: 0006-pcm-file-add-missing-unlock-on-early-return.patch +Patch7: 0007-ucm-Add-UCM-profile-for-CX2072X-codec-on-Baytrail-Ch.patch +Patch8: 0008-pcm-add-mmap_begin-callback-to-snd_pcm_fast_ops_t-ap.patch +Patch9: 0009-pcm-file-add-infile-read-support-for-mmap-mode.patch +Patch10: 0010-aserver-fix-resource-leak-coverity.patch +Patch11: 0011-src-conf.c-add-missing-va_end-call-coverity.patch +Patch12: 0012-config-parse_string-fix-the-dynamic-buffer-allocatio.patch +Patch13: 0013-control_shm-remove-duplicate-code-coverity.patch +Patch14: 0014-control_shm-add-missing-socket-close-to-the-error-pa.patch +Patch15: 0015-pcm-fix-memory-leak-in-_snd_pcm_parse_config_chmaps-.patch +Patch16: 0016-pcm_file-call-pclose-correctly-for-popen-coverity.patch +Patch17: 0017-pcm_hw-close-file-descriptor-in-the-error-path-in-sn.patch +Patch18: 0018-rawmidi-use-snd_dlobj_cache_get2-in-rawmidi-open-cov.patch +Patch19: 0019-rawmidi_hw-add-sanity-check-for-the-invalid-stream-a.patch +Patch20: 0020-topology-various-coverity-fixes.patch +Patch21: 0021-ucm-coverity-fixes.patch +Patch22: 0022-pcm_file-coverity-fixes-including-double-locking.patch +Patch23: 0023-topology-next-round-of-coverity-fixes.patch +Patch24: 0024-pcm_file-another-locking-fix-coverity.patch +Patch25: 0025-ucm-another-coverity-fix-in-uc_mgr_config_load.patch +# rest suse fixes +Patch101: alsa-lib-ignore-non-accessible-ALSA_CONFIG_PATH.patch +BuildRequires: doxygen +BuildRequires: libtool +BuildRequires: pkgconfig +Requires: alsa-utils +Requires(post): %fillup_prereq +Recommends: alsa-oss +Recommends: alsa-plugins +BuildRoot: %{_tmppath}/%{name}-%{version}-build +%if 0%{?suse_version} <= 1310 +Requires(post): %insserv_prereq +%endif +%if 0%{?suse_version} > 1200 +BuildRequires: pkgconfig(udev) +%else +BuildRequires: udev +%endif + +%description +ALSA stands for Advanced Linux Sound Architecture. It supports many +PCI, ISA PnP and USB sound cards. + +This package contains the ALSA init scripts to start the sound system +on your Linux box. To set it up, run yast2 or alsaconf. + +%package devel +Summary: Header files for ALSA development +License: LGPL-2.1-or-later +Group: Development/Libraries/C and C++ +Requires: glibc-devel +Requires: libasound2 = %{version} +Obsoletes: alsadev < %{version} +Provides: alsa-lib-devel = %{version} +Provides: alsadev = %{version} + +%description devel +This package contains all necessary include files and libraries needed +to develop applications that require ALSA. + +%package docs +Summary: Additional Package Documentation for ALSA +License: GPL-2.0-or-later +Group: Documentation/Other +%if 0%{?suse_version} > 1110 +BuildArch: noarch +%endif + +%description docs +This package contains optional documentation provided in addition to +this package's base documentation. + +%package -n libasound2 +Summary: Advanced Linux Sound Architecture Library +License: LGPL-2.1-or-later +Group: System/Libraries +Provides: alsa-lib + +%description -n libasound2 +This package contains the library for ALSA, Advanced Linux Sound +Architecture. + +%prep +%setup -q -n alsa-lib-%{version} +%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 +%patch101 -p1 + +%build +# disable LTO; otherwise some apps confused with versioned symbols (boo#1149461) +%define _lto_cflags %{nil} +export AUTOMAKE_JOBS="%{?_smp_mflags}" +# build alsa-lib +autoreconf -fi +%configure \ + --disable-static \ + --enable-symbolic-functions \ + --disable-aload \ + --disable-alisp \ + --disable-python +make V=1 %{?_smp_mflags} +# run doxygen +make -C doc doc %{?_smp_mflags} + +%install +# install shared library +%make_install +# clean up unneeded files +rm -f %{buildroot}%{_libdir}/*.*a +# rm -f %{buildroot}%{_libdir}/alsa-lib/smixer/*.*a +rm -f %{buildroot}%{_bindir}/aserver +# +# install helper scripts +mkdir -p %{buildroot}%{_bindir} +mkdir -p %{buildroot}%{_sbindir} +install -c -m 0755 %{SOURCE16} %{buildroot}%{_bindir} +install -c -m 0755 %{SOURCE34} %{buildroot}%{_sbindir}/alsa-init +%if 0%{?suse_version} < 1140 +sed -i -e 's@%{_localstatedir}/lib/alsa/asound.state@%{_sysconfdir}/asound.state@g' %{buildroot}%{_bindir}/set_default_volume +sed -i -e 's@%{_localstatedir}/lib/alsa/asound.state@%{_sysconfdir}/asound.state@g' %{buildroot}%{_sbindir}/alsa-init +%endif +# install test wave file +mkdir -p %{buildroot}%{_datadir}/sounds/alsa +install -c -m 0644 %{SOURCE17} %{buildroot}%{_datadir}/sounds/alsa/test.wav +# install all_notes_off stuff +install -c -m 0755 %{SOURCE30} %{buildroot}%{_bindir} +mkdir -p %{buildroot}%{_prefix}/lib +install -c -m 0644 %{SOURCE31} %{buildroot}%{_prefix}/lib +install -c -m 0644 %{SOURCE32} %{buildroot}%{_prefix}/lib +%if 0%{?suse_version} <= 1310 +# +# install init scripts +# +mkdir -p %{buildroot}%{_sysconfdir}/init.d +install -c -m 0755 %{SOURCE11} %{buildroot}%{_sysconfdir}/init.d +install -c -m 0755 %{SOURCE13} %{buildroot}%{_sysconfdir}/init.d +%if 0%{?suse_version} < 1140 +sed -i -e 's@%{_localstatedir}/lib/alsa/asound.state@%{_sysconfdir}/asound.state@g' %{buildroot}%{_initddir}/alsasound +%endif +rm -f %{buildroot}%{_sbindir}/rcalsasound +ln -s ../..%{_initddir}/alsasound %{buildroot}%{_sbindir}/rcalsasound +rm -f %{buildroot}%{_sbindir}/rcjoystick +ln -s ../..%{_initddir}/joystick %{buildroot}%{_sbindir}/rcjoystick +%endif +# +# udev rules +# +mkdir -p %{buildroot}%{_udevrulesdir} +%if 0%{?suse_version} < 1140 +install -c -m 0644 %{SOURCE8} %{buildroot}%{_udevrulesdir} +%endif +install -c -m 0644 %{SOURCE9} %{buildroot}%{_udevrulesdir} +# +# install template to update rc.config and sysconfig files: +# (updating the actual files is done in the %post-script) +# +mkdir -p -m 755 %{buildroot}%{_fillupdir} +mkdir -p -m 755 %{buildroot}%{_sysconfdir}/sysconfig +install -m 644 %{_sourcedir}/sysconfig.sound %{buildroot}%{_fillupdir} +%if 0%{?suse_version} <= 1310 +install -m 644 %{_sourcedir}/sysconfig.joystick %{buildroot}%{_fillupdir} +%endif +# +# documents +# +mkdir -p %{buildroot}%{_docdir}/%{name} +cp %{_sourcedir}/README* %{buildroot}%{_docdir}/%{name} +%if 0%{?suse_version} < 1200 +cp COPYING %{buildroot}%{_docdir}/%{name} +%endif +mkdir -p %{buildroot}%{_docdir}/%{name}/alsa-lib +cp ChangeLog INSTALL TODO MEMORY-LEAK %{buildroot}%{_docdir}/%{name}/alsa-lib +cp doc/asoundrc.txt %{buildroot}%{_docdir}/%{name}/alsa-lib + +%post +%if 0%{?suse_version} > 1310 +%{fillup_only -n sound} +%else +%{fillup_and_insserv -ny sound alsasound} +%{fillup_and_insserv -n joystick joystick} +%endif +exit 0 + +%if 0%{?suse_version} <= 1310 +%preun +%stop_on_removal alsasound joystick +exit 0 + +%postun +%restart_on_update alsasound joystick +%insserv_cleanup +exit 0 +%endif + +%post -n libasound2 -p /sbin/ldconfig +%postun -n libasound2 -p /sbin/ldconfig + +%files +%defattr(-, root, root) +%doc %{_docdir}/%{name} +%if 0%{?suse_version} >= 1200 +%license COPYING +%endif +%if 0%{?suse_version} <= 1310 +%{_initddir}/* +%endif +%{_sbindir}/* +%{_bindir}/* +%{_prefix}/lib/all_notes_off.* +%{_datadir}/sounds/alsa +%{_fillupdir}/* +%{_udevrulesdir}* + +%files devel +%defattr(-, root, root) +%{_libdir}/libasound.so +%{_includedir}/sys/* +%{_includedir}/alsa +%{_includedir}/asoundlib.h +%{_datadir}/aclocal/*.m4 +%{_libdir}/pkgconfig/*.pc + +%files docs +%defattr(-, root, root) +%doc doc/doxygen/html/* + +%files -n libasound2 +%defattr(-, root, root) +%{_libdir}/libasound.so.* +%{_datadir}/alsa + +%changelog diff --git a/alsasound b/alsasound new file mode 100644 index 0000000..ed641a7 --- /dev/null +++ b/alsasound @@ -0,0 +1,214 @@ +#!/bin/sh +# +# alsasound This shell script takes care of starting and stopping +# the ALSA sound driver. +# +# This script requires /usr/sbin/alsactl program from alsa-utils package. +# +# Copyright (c) by Jaroslav Kysela +# +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +# +# +# For RedHat 5.0+: +# chkconfig: 2345 87 14 +# description: ALSA driver +# +# modified to visually fit into SuSE 6.0+ by Philipp Thomas +# further improvements by Bernd Kaindl, Olaf Hering and Takashi Iwai. +# +### BEGIN INIT INFO +# Provides: alsasound +# Required-Start: $local_fs +# Should-Start: $remote_fs resmgr +# Required-Stop: $local_fs +# Should-Stop: $remote_fs resmgr +# Default-Start: 2 3 5 +# Default-Stop: +# Short-Description: Set up ALSA sound system +# Description: Loading ALSA drivers and store/restore the current setting +### END INIT INFO + +. /etc/rc.status +. /etc/sysconfig/sound + +# Shell functions sourced from /etc/rc.status: +# rc_check check and set local and overall rc status +# rc_status check and set local and overall rc status +# rc_status -v ditto but be verbose in local rc status +# rc_status -v -r ditto and clear the local rc status +# rc_failed set local and overall rc status to failed +# rc_reset clear local rc status (overall remains) +# rc_exit exit appropriate to overall rc status + +# First reset status of this service +rc_reset + +alsactl=/usr/sbin/alsactl +asoundcfg=/var/lib/alsa/asound.state +aconnect=/usr/bin/aconnect + +get_drivers() { + /sbin/modprobe -c | \ + grep -E "^[[:space:]]*alias[[:space:]]+snd-card-[[:digit:]]" | sort -u | \ + while read a b card; do + echo $card + done +} + +# +# insert all sound modules +# +load_modules() { + module_loaded=0 + c="" + drivers=`get_drivers` + for i in $drivers; do + if [ $i != off ]; then + if [ x$c = x ]; then + echo -n ": " + c=1 + fi + echo -n " ${i##snd-}" + /sbin/modprobe $i && module_loaded=1 + fi + done + rc_status -v -r + test $module_loaded -eq 0 && return 1 + return 0 +} + +# +# rest of start action +# + +# manual load and force to store the status +start_all() { + echo -n "Starting sound driver" + load_modules + rc_status -r +} + +do_kill() { + fuser $* /dev/admmidi* /dev/adsp* /dev/amidi* /dev/audio* /dev/dmfm* \ + /dev/dmmidi* /dev/dsp* /dev/dspW* /dev/midi* /dev/mixer* /dev/music \ + /dev/patmgr* /dev/sequencer* /dev/sndstat >/dev/null 2>&1 + if [ -d /dev/snd ]; then + fuser $* /dev/snd/* >/dev/null 2>&1 + fi +} + +terminate() { + # + # Kill processes holding open sound devices + # + do_kill -TERM -k + sleep 1 + do_kill -k + + # + # remove all sequencer connections if any + # + if [ -f /proc/asound/seq/clients -a -x $aconnect ]; then + $aconnect --removeall + fi +} + +# mute master to avoid clicks at unload/shutdown +mute_system() { + /usr/bin/amixer set Master mute >/dev/null 2>&1 +} + +# +# remove all sound modules +# +unload_modules() { + mute_system + mod=$(grep -m1 -E '^(snd[^ ]*|ac97_bus) [0-9]+ 0' /proc/modules) + while [ -n "$mod" ]; do + mod=${mod%% *} + /sbin/modprobe -r $mod + mod=$(grep -m1 -E '^(snd[^ ]*|ac97_bus) [0-9]+ 0' /proc/modules) + done + rc_failed 0 +} + +unload_all() { + echo -n "Shutting down sound driver" + terminate + unload_modules + rc_status -v +} + +stop_all() { + if [ -d /proc/asound ]; then + $alsactl -g -f $asoundcfg store + unload_all + fi +} + +# See how we were called. +case "$1" in + start) + if test "$PREVLEVEL" = "N" -a -d /proc/asound ; then + # re-run alsactl when /var is a seprate partition (bnc#700781) + case $asoundcfg in + /var/*) + grep -q " /var " /proc/mounts && \ + $alsactl -F -f $asoundcfg restore >/dev/null 2>&1 + ;; + esac + else + start_all + fi + ;; + stop) + if [ "$RUNLEVEL" = "6" -o "$RUNLEVEL" = "0" ]; then + if [ -d /proc/asound ]; then + $alsactl -f $asoundcfg store + # kill pulseaudio before muting the system (bnc#499445) + if killall -q -TERM pulseaudio; then + usleep 200 + fi + mute_system + fi + else + stop_all + fi + ;; + unload) + test -d /proc/asound && unload_all + ;; + reload|restart) + stop_all + start_all + ;; + status) + if [ -d /proc/asound ]; then + echo -n "ALSA sound driver loaded." + rc_status -v + else + echo -n "ALSA sound driver not loaded." + rc_status -u + fi + ;; + *) + echo "Usage: $0 {start|stop|restart|reload|unload|status}" + exit 1 + ;; +esac + +rc_exit diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..49fb6b5 --- /dev/null +++ b/baselibs.conf @@ -0,0 +1,7 @@ +libasound2 + obsoletes "alsa-" + provides "alsa-" + recommends "alsa-oss-" +alsa-devel + requires -alsa- + requires "libasound2- = " diff --git a/joystick b/joystick new file mode 100644 index 0000000..9e1e436 --- /dev/null +++ b/joystick @@ -0,0 +1,113 @@ +#! /bin/bash +# Copyright (c) 2002 SuSE Linux AG Nuernberg, Germany. +# (c) 2014 SUSE Linux Products GmbH +# +# Author: Takashi Iwai , 2001 +# +# /etc/init.d/joystick +# +### BEGIN INIT INFO +# Provides: joystick +# Required-Start: alsasound +# Required-Stop: alsasound +# Default-Start: 2 3 5 +# Default-Stop: +# Short-Description: Set up analog joysticks +# Description: Loading joystick drivers +### END INIT INFO + +. /etc/rc.status +. /etc/sysconfig/joystick + +alsactl=/usr/sbin/alsactl +if [ -x /sbin/lsmod ]; then + lsmod=/sbin/lsmod +else + lsmod=/bin/lsmod +fi + +# load joystick drivers +function start () { + # first load joydev module + if [ -z "${JOYSTICK_MODULE_0}${JOYSTICK_MODULE_1}${JOYSTICK_MODULE_2}${JOYSTICK_MODULE_3}" ]; then + rc_failed 5 + return + fi + + /sbin/modprobe joydev + for js in 0 1 2 3; do + # load gameport module + eval jsmod=\$GAMEPORT_MODULE_$js + if [ -n "$jsmod" -a "$jsmod" != off ]; then + /sbin/modprobe $jsmod >/dev/null 2>&1 + fi + # load joystick module + eval jsdev=\$JOYSTICK_MODULE_$js + eval jsdev_opts=\$JOYSTICK_MODULE_OPTION_$js + if [ -n "$jsdev" -a "$jsdev" != off ]; then + /sbin/modprobe $jsdev $jsdev_opts >/dev/null 2>&1 + fi + done +} + +function stop () { + for js in 0 1 2 3; do + # remove gameport module + eval jsmod=\$GAMEPORT_MODULE_$js + if [ -n "$jsmod" -a "$jsmod" != off ]; then + /sbin/modprobe -r $jsmod + fi + # remove joystick module + eval jsdev=\$JOYSTICK_MODULE_$js + if [ -n "$jsdev" -a "$jsdev" != off ]; then + /sbin/modprobe -r $jsdev + fi + done +} + +# See how we were called. +case "$1" in + start) + echo -n "Starting joystick driver" + start + rc_status -v + ;; + stop) + # Stop daemons. + echo -n "Stopping joystick driver" + stop + rc_status -v + ;; + try-restart) + $0 status >/dev/null && $0 restart + rc_status + ;; + restart) + $0 stop + $0 start + rc_status + ;; + force-reload) + $0 stop && $0 start + rc_status + ;; + reload) + rc_failed 3 + rc_status -v + ;; + status) + if $lsmod | grep -q joydev; then + echo -n "Joystick driver loaded." + rc_status -v + else + echo -n "Joystick driver not loaded." + rc_status -u + fi + ;; + *) + echo "Usage: $0 {start|stop|try-restart|restart|force-reload|reload|status}" + exit 1 + ;; +esac + +rc_exit diff --git a/set_default_volume b/set_default_volume new file mode 100644 index 0000000..93653da --- /dev/null +++ b/set_default_volume @@ -0,0 +1,99 @@ +#!/bin/sh +# +# set default volumes for playback on ALSA +# +# set_default_mixer [-f] [card#] +# +# written by Takashi Iwai +# + +forced= +if [ x$1 = x-f ]; then + forced=yes + shift +fi + +if [ -f /var/lib/alsa/asound.state -a -z "$forced" ]; then + /usr/sbin/alsactl restore >/dev/null 2>&1 + exit 0 +fi + +if [ -n "$1" ]; then + case "$1" in + [0-9]*) + card="-D hw:$1";; + *) + card="-D $1";; + esac +fi + +if amixer $card | grep -q "'Master"; then + slavevolp="100%" + slavevoldb="0dB" +else + slavevolp="75%" + slavevoldb="-12dB" +fi + +amixer -q -s $card <