Detailed changes v1.2.7.1 v1.2.7.2: Difference between revisions

From AlsaProject
Jump to navigation Jump to search
No edit summary
 
m (1 revision)
 

Latest revision as of 16:52, 8 July 2022

Detailed changelog between 1.2.7.1 and 1.2.7.2 releases

Changelog between 1.2.7.1 and 1.2.7.2 releases

alsa-lib

Core

- Release v1.2.7.2

Mixer API

- mixer: add documentation about postcondition of removal event processing

PulseAudio and PipeWire seems to appear including careless code to
process events of mixer element in implementation of mixer class.

 * https://lore.kernel.org/alsa-devel/YrbxZ2b+3rIdi7Ut@workstation/

They register own implementation of mixer class. At addition event,
they attach own mixer element into hcontrol element. However at removal
event, they never detach the mixer element from hcontrol element. They
hit assertion in mixer API internal due to unsatisfied postcondition.

This commit adds documentation about postcondition of removal event
processing so that developer for implementation of mixer class easily
realize the way to satisfy the postcondition.

PCM API

- pcm: share plugin: handle -EINTR - pcm: share plugin: return error if socket read or write call fails

RawMidi API

- rawmidi: fix the params_mode check condition in snd_rawmidi_tread()

The condition should be obviously reversed.

Use Case Manager API

- ucm: fix st_mode check for symbolic links

The file type in the st_mode field is not encoded as unique bits but as
an enumerator. Checking if some bits of S_IFLNK are set does not work
correctly because it happens to evaluate to true for regular files as
well.

The POSIX man page suggests using the following approach to check
the file type:

    if ((sb.st_mode & S_IFMT) == S_IFLNK)

Alternatively, there is a S_ISLNK() macro to check this more easily.

Make use of the latter so that readlink() is only called on actual
symbolic links and not regular files. This makes audio work again
with slightly older alsa-ucm-conf versions or alternative top-level
ucm.conf configurations that do not make use of symlinks.

Kernel Headers

- include/sound/type_compat.h: fix include guard

include/sound/type_compat.h uses #define __TYPE_COMPAT_H but it conflicts
same include guard of include/type_compat.h

now, include/sound/type_compat.h uses #define __SOUND_TYPE_COMPAT_H

this is already done in NetBSD's pkgsrc patch.

(thanks to tsutsui@netbsd.org)

alsa-ucm-conf

Configuration

- tegra: max98090: cleanups

- add "all switches (devices) off" to the verb's enable sequence
- reshuffle positions of device enable/disable sequences in HiFi.conf
- add missing newline to the end of file

- tegra: max98090: move enable sequence to main file - tegra: max98090: disable all inputs and outputs in enable sequence - tegra: max98090: use only needed switches - tegra: max98090: add speakers and internal mic - ucm2: sof-soundwire: rt711-sdca: use codec volume/switch consistently

We already use

                CaptureSwitch "rt711 FU0F Capture Switch"
                CaptureVolume "rt711 FU0F Capture Volume"

but the enable/disable sequences used the SOF 'PGA2.0 2 Master Capture
Switch'

- ucm2: sof-soundwire: rt711: use codec volume/switch instead of SOF ones

When possible, it's better to use the codec volume and switch. The
firmware PGA is provided mostly for testing.

- Add support for the Traktor Kontrol Z1

This is a small DJ mixer with a main output and a monitor output.
The outputs appear as a single subdevice, we use the SplitPCM macros to
present separate outputs.

Link: https://www.native-instruments.com/en/products/traktor/dj-controllers/traktor-kontrol-z1/specifications/

- Allow direct cards that only work in one direction

Allow DirectCaptureChannels or DirectPlaybackChannels to be left
undefined.

- USB-Audio: Dell-WD15-Dock: add jack controls

I recently added support for these to Linux, see
https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git/commit/?id=4b8ea38fabab45ad911a32a336416062553dfe9c

- SplitPCM: Set buffer parameters for dshare/dsnoop

Set the period time to 20ms and buffer time to 500ms by default.
For USB devices, use the period time 10ms for the better latency.

- UMC204HD: Add PCM control autodetection

The USB driver has two variants for the PCM control
names:

  UMC204HD 192k Output Playback Switch / Volume
    and
  PCM Playback Switch / Volume

BugLink: https://github.com/alsa-project/alsa-ucm-conf/issues/177

- common: ctl - remap.conf - switch Dst / Src use

The Dst and Src macro arguments were improperly used. Switch them.

BugLink: https://github.com/alsa-project/alsa-ucm-conf/issues/177

- USB-Audio: Audient-ID4 - add device number to file names (0009 variant) - USB-Audio: add support for Audient-ID4 (variant 0003) - common: direct - fix the case where DirectCardName variable is undefined - ucm2: sof-hda-dsp,sof-soundwire - fix typo devdisall -> disdevall

BugLink: https://github.com/alsa-project/alsa-ucm-conf/issues/171

Description

- Release v1.2.7.2