Changelog: 1.2.4 Core Release v1.2.4 pcm: dmix: make lockless operation optional Control API control: Add documentation for snd_ctl_elem_value_*. control: Improve general control interface documentation. control: Add documentation for snd_ctl_elem_list_*. control: ctlparse - fix enum values in or "" ctl: improve documentation for identifier of control element PCM API pcm: file plugin - implement safe_write pcm: fix the pcm_frames_diff -> pcm_frame_diff typo pcm: dshare - apply the boundary wrap in snd_pcm_dshare_sync_area() pcm: introduce pcm_frame_diff and pcm_frame_diff2 helpers pcm: meter / s16 - add protection for the maximum copied frames dlmisc, pcm: export the old symbols (for -flto) pcm: fix the snd_pcm_plugin_status() avail and delay fields pcm: dmix: fix access to sum-buffer in non-interleaved mixing mode pcm: iec958: set channel status bits according to rate and format pcm: iec958: implement HDMI HBR audio formatting pcm: dmix: Fix semaphore usage with lockless operation pcm: dmix: make lockless operation optional Topology API topology: straight printf and error path fixes topology: save_config - fix the error path handling tplg: fix the unaligned_get32/put32 helpers for big endian topology: improve the printf buffer management topology: fix the unaligned access topology: fix sort_config() topology: fix some gcc10 warnings (labs, signess) topology: return correct value in tplg_save_printf() topology: Make buffer for saving dynamic size topology: decode: Add DAI name printing topology: decode: Print sig_bits field in PCM capabilities section topology: decode: Fix decoding PCM formats and rates topology: decode: Change declaration of enum decoding function topology: decode: Fix printing texts section topology: decode: Add enum control texts as separate element topology: decode: Remove decoding values for enum control topology: decode: Fix infinite loop in decoding enum control topology: decode: Fix channel map memory allocation Use Case Manager API ucm: handle correctly Linked configuration ucm: rename once_list to boot_list ucm: substitute the comment string also in the main configuration file ucm: add a check for the empty configuration ucm: Handle 'Error' keyword in the master file ucm: substitute the merged tree completely ucm: fix parse_get_safe_name() - safe name must be checked after substitution ucm: substitution - remove duplicate allow_empty assignment Configuration conf: quote also strings with '*' and '#' characters in string_print() conf: USB-Audio: Disable IEC958 on Lenovo ThinkStation P620 conf: pcm - USB - Added S/PDIF fix for Asus Xonar SE Documentation README: add patch submission instructions Dynamic Loader helpers dlsym: use the only alsa plugins directory for the internal modules dlmisc, pcm: export the old symbols (for -flto) dlsym: add support for ALSA_PLUGIN_DIR environment variable 1.2.3 Core Release v1.2.3 snd_dlopen: implement the relocatable version for glibc github actions: ubuntu - fix the non-interactive build pcm: dmix: assembly: fix the interface for safety (mmx) configure: add --embed for python3-config (python 3.8) Config API conf: add snd_config_is_array() function Control API tlv: implement nearest rounding in snd_tlv_convert_from_dB() for xdir == 0 control: use more precise rounding in snd_ctl_ascii_value_parse() snd_dlopen: do not use absolute plugin path for snd_dlopen() calls namehint: remember the direction from the upper levels conf: namehint - add omit_noargs to the hint section Mixer API tlv: implement nearest rounding in snd_tlv_convert_from_dB() for xdir == 0 snd_dlopen: do not use absolute plugin path for snd_dlopen() calls PCM API pcm: Fix memory leak at snd_pcm_new when THREAD_SAVE_API is defined pcm: clarify -ENODATA description (recovery, event) pcm: fix spelling in documentation for -EBADFD pcm: add documentation for -ENODATA error code snd_dlopen: do not use absolute plugin path for snd_dlopen() calls pcm: return immediately when the state is SETUP in snd_pcm_drain() pcm: fix snd_pcm_drain() excluding SETUP state from valid states pcm: rate: Fix uninitialized variable warning pcm: rate: Fix compile warning wrt bit ops and comparison pcm: dmix: assembly: give more freedom over the constraints pcm: dmix: assembly: refactor the PIC mode pcm: dmix: assembly: fix the interface for safety (mmx) pcm: dmix: assembly: fix the interface for safety pcm: dmix: assembly: change the token by symbolic names fix infinite draining of the rate plugin in SND_PCM_NONBLOCK mode pcm: rate - fix the remaining size calculation in snd_pcm_rate_drain() pcm: dmix: fix sw_params handling of timestamp types in direct plugins pcm: add chmap option to route plugin Topology API topology: Add missing ATTRIBUTE_UNUSED topology: use snd_config_is_array() function topology: Use bool parser to parse boolean value topology: add back asrc to widget_map in dapm.c Use Case Manager API ucm: fix the wrong return value in uc_mgr_open_ctl() ucm: remove strict: in ${OpenName} substitution ucm: fix the error path in parse_toplevel_path() ucm: fix the wrong uc_mgr_open_ctl() call in if_eval_control_exists() use-case.h: define Linked variable ucm: implement CardIdByName substitution ucm: shuffle code in compound_merge() ucm: substitute arguments in sequences only for syntax 3+ ucm: substitute RenameDevice and DeleteDevice lists ucm: substitute Comment in Transition and Device ucm: substitute verb name and file field ucm: substitute component sequence string ucm: substitute device strings in the device lists ucm: substitute device / modifier names, too ucm: implement the toplevel ucm configuration file parser ucm: substitute ${CardNumber} ucm: substitute ${OpenName} ucm: Define/DefineRegex is supported in Syntax 3 ucm: String condition - implement Empty ucm: handle strict: prefix correctly for the UCM card name ucm: substitute also value strings ucm: allow to specify the toplevel directory using '/' as first character in File path ucm: config - change the in-place include evaluation order ucm: allow syntax version 3 ucm: substitute arguments in sequences ucm: configuration - add DefineRegex ucm: configuration - allow to define the configuration variables ucm: config - substitute File string to allow variables in include ucm: configuration - substitute ${ConfDir} and ${ConfTopDir} ucm: configuration - implement in-place Include ucm: rename _once command to _boot command ucm: rename SectionOnce to BootSequence ucm: fix compilation error in set_defaults_user() ucm: fix SectionOnce comment ucm: initialize mgr->once_list ucm: handle 'set _defaults' command ucm: handle 'set _once' command ucm: execute SectionDefaults lately (when the first verb is set) ucm: parse SectionOnce section in the master UCM configuration file ucm: merge the array items from the condition blocks use-case.h: add USB as allowed device name ucm: fix copy-n-paste typo (RemoveDevice list) ucm: fix the device remove operation usecase: allow indexes also for modifier names ucm: fix uc_mgr_scan_master_configs() ucm: clarify the index syntax for the device names Configuration conf: USB-Audio: Add HP Thunderbolt Dock in the IEC958 blacklist conf: remove debug printf() in snd_config_hook_load() conf: add support for XDG_CONFIG_HOME search path conf: load function (hook) - add OR support conf: USB-Audio.conf - add another card name for Asus Xonar 5 conf: add snd_config_is_array() function conf: use bool type for the join member in the config structure conf: change namehint for pcm.front conf: USB-Audio: Fix S/PDIF output of ASUS Xonar AE pcm: dmix: fix sw_params handling of timestamp types in direct plugins conf: fix namehint for pcm.front and pcm.iec958 conf: USB-Audio: Add C-Media USB Headphone Set to the IEC958 blacklist Change PCM device number of Asus Xonar U5 conf: namehint - add omit_noargs to the hint section conf: changc Loader helpers dlsym: fix the snd_dlopen(), incorrect variable use dlsym: fix again snd_dlpath() dlsym: fix the reference to the origin lib directory snd_dlopen: implement the relocatable version for glibc Kernel Headers header: Fix build error with old kernel headers Simple Abstraction Mixer Modules snd_dlopen: implement the relocatable version for glibc snd_dlopen: do not use absolute plugin path for snd_dlopen() calls Test/Example code test: pcm_min - add snd_pcm_drain() call and indentation fixes 1.2.1.2 Core Release v1.2.1.2 local.h: remove sound/asoundef.h dependency asoundef.h: add CEA861_AUDIO_INFOFRAME defines Control API control: ctlparse - accept enum values in or "" PCM API pcm_file: fix pipe stall when pclose() is called too early Topology API include/sound: sync with the kernel v5.4 Use Case Manager API ucm: add support for ControlEnum in ControlExists condition ucm: conditions - fix the wrong string/substring match use-case: add priority values from pulseaudio use-case: improve comment for mixer elements ucm: rename mixer element identifiers ucm: fix the cdev initialization sequence ucm: remove the new-line for uc_error() calls ucm: use-case.h - add <alsa/asoundlib.h> include ucm: add ${CardDriver} substitution ucm: implement ${sys:sysfs/path} substitution Kernel Headers include/sound/Makefile.am: remove asoundef.h local.h: remove sound/asoundef.h dependency include/sound: sync with the kernel v5.4 Utils alsa.m4: Fix the detection of topology library availability 1.2.1.2 Core Release v1.2.1.2 local.h: remove sound/asoundef.h dependency asoundef.h: add CEA861_AUDIO_INFOFRAME defines Control API control: ctlparse - accept enum values in or "" PCM API pcm_file: fix pipe stall when pclose() is called too early Topology API include/sound: sync with the kernel v5.4 Use Case Manager API ucm: add support for ControlEnum in ControlExists condition ucm: conditions - fix the wrong string/substring match use-case: add priority values from pulseaudio use-case: improve comment for mixer elements ucm: rename mixer element identifiers ucm: fix the cdev initialization sequence ucm: remove the new-line for uc_error() calls ucm: use-case.h - add <alsa/asoundlib.h> include ucm: add ${CardDriver} substitution ucm: implement ${sys:sysfs/path} substitution Kernel Headers include/sound/Makefile.am: remove asoundef.h local.h: remove sound/asoundef.h dependency include/sound: sync with the kernel v5.4 Utils alsa.m4: Fix the detection of topology library availability 1.2.1.1 Core Release v1.2.1.1 PCM API pcm: add braces to condition (coverity) Use Case Manager API ucm: quick fix for the previous commit when ALSA_CONFIG_UCM_VAR is set ucm: fix again the long name configuration filename lookup ucm: parser: Fix snprintf usage ucm: Only look in ucm[1] or ucm2 dir once we've found a config file in one ucm: Fix fallback to card_name (shortname) config for ucm1 profiles ucm: Fix opening of master-configs by the card's longname ucm: fix memory leaks detected by the coverity checker Configuration conf: check for include path duplicates conf: fix the include paths support 1.2.1 Core Release v1.2.1 conf: implement snd_config_add_before() and snd_config_add_after() topology: remove configuration files (moved to alsa-topology-conf repository) create separated libatopology library with the topology routines ucm: remove configuration files (moved to alsa-ucm-conf repository) conf: improve the include paths code Use __func__ instead of __FUNCTION__ rawmidi: use snd_dlobj_cache_get2() in rawmidi open (coverity) ucm: Add UCM profile for CX2072X codec on Baytrail/Cherrytrail profiles Config API conf: implement snd_config_add_before() and snd_config_add_after() ucm: change the If block parsing ucm: add If condition block Control API control_shm: add missing socket close to the error path (coverity) control_shm: remove duplicate code (coverity) Mixer API mixer: simple - add snd_mixer_selem_id_parse() from amixer PCM API pcm: the maximal rate is 768000Hz, fix the remain code pcm: fix the period_size for direct plugins (dmix, dsnoop, dshare) pcm: Fix the wrong PCM object passed for locking/unlocking pcm: chmap: Fix memory leak at snd_pcm_set_chmap() pcm: dshare: allow missing bindings pcm: return -ENOSYS when ops or fast_ops callback is NULL pcm_file: improve error checking in write_wav_header function pcm_file: in case of failed write clear file buffer variables pcm_file: use EIO instead of EPIPE when failing to write output file pcm_file: return errno in case of a failed write operation pcm_file: remove double line pcm_file: report write output file error to api user pcm_file: do not disrupt playback on output file write fail pcm: rate: Avoid pointer arithmetic on `void *` pcm: direct: Remove unused empty struct pcm: Make sure parameter qualifiers match between declaration and definition pcm: hw: Don't return in a void function Use __func__ instead of __FUNCTION__ pcm_file: another locking fix (coverity) pcm_file: coverity fixes (including double locking) pcm_hw: close file descriptor in the error path in snd_pcm_hw_open() (coverity) pcm_file: call pclose() correctly for popen() (coverity) pcm: fix memory leak in _snd_pcm_parse_config_chmaps() (coverity) pcm: file: add infile read support for mmap mode pcm: add mmap_begin callback to snd_pcm_fast_ops_t api pcm: file: add missing unlock on early return pcm: file: use snd_pcm_file_areas_read_infile for readi pcm: file: add support for infile reading in non interleaved mode pcm: dsnoop: Added "hw_ptr_alignment" option in configuration for slave pointer alignment pcm: dshare: Added "hw_ptr_alignment" option in configuration for alignment of slave pointers pcm: direct: Add generic hw_ptr_alignment function for dmix, dshare and dsnoop PCM Plugin API pcm: the maximal rate is 768000Hz, fix the remain code RawMidi API rawmidi_hw: add sanity check for the invalid stream arguments (coverity) rawmidi: use snd_dlobj_cache_get2() in rawmidi open (coverity) Topology API create separated libatopology library with the topology routines topology: Fix variable overflow in split_format topology: add support to parse private data for pcm topology: next round of coverity fixes topology: various coverity fixes Use Case Manager API ucm: add possibility to keep order of childs for If blocks ucm: change the If block parsing ucm: docs: Add MinBufferLevel value ucm: docs: Add EDID File value use-case header file: add more references to correct ASCII ID parsers for CTL/mixer IDs ucm: add snd_use_case_parse_selem_id() ucm: add If.Condition.RegexMatch ucm: add ${CardComponents} substitution to the value string processing ucm: evaluate nested If blocks also in True/False blocks ucm: add If.Condition.String to match strings and substrings ucm: add snd_use_case_parse_ctl_elem_id() ucm: add PlaybackCTL and CaptureCTL default values when they are not set ucm: small cosmetic uc_error change in execute_sequence() ucm: add If condition block ucm: do not cache all control devices in get_card_long_name() ucm: parser - use less memory for integer/real values in parse_value() ucm: save the whole ctl info to the ctl_list structure ucm: add the run-time variable substitution ucm: fix memory leaks for cdev, bin-file and tlv elements ucm: do not report failure when long name configuration does not exist ucm: add support for multiple control devices, more aggresive caching ucm: extend snd_use_case_mgr_open() to address the sound card directly ucm: switch to ucm2 directory and v2 format, keep backward compatibility conf: improve the include paths code ucm: parse_verb_file() - remove folder_name variable and extra logic ucm: fix uc_mgr_scan_master_configs() - skip correctly component directories ucm: cosmetic fix in get_card_long_name() ucm: another coverity fix in uc_mgr_config_load() ucm: coverity fixes /Makefile.am create separated libatopology library with the topology routines /src/Makefile.am create separated libatopology library with the topology routines ALSA Server Use __func__ instead of __FUNCTION__ aserver: fix resource leak coverity Configuration conf: implement snd_config_a_config_add_after() topology: remove configuration files (moved to alsa-topology-conf repository) ucm: remove configuration files (moved to alsa-ucm-conf repository) conf: improve the include paths code conf: List cases in range explicitly config: parse_string() fix the dynamic buffer allocation failure code (coverity) src/conf.c: add missing va_end() call (coverity) ucm: Add UCM profile for CX2072X codec on Baytrail/Cherrytrail profiles Dynamic Loader helpers rawmidi: use snd_dlobj_cache_get2() in rawmidi open (coverity) Utils create separated libatopology library with the topology routines 1.1.9 Core Release v1.1.9 add support for GCC's LTO add snd_strlcpy() and use it everywhere ucm: Add ucm files for DB820c board Control API add support for GCC's LTO Print unsigned ints with %u instead of %i. (snd_ctl_ascii_elem_id_get) add snd_strlcpy() and use it everywhere PCM API add support for GCC's LTO pcm: multi plugin: reset hw/appl pointers in prepare/reset functions pcm: multi plugin: detach the hw_ptr and appl_ptr from master_slave pcm: fix wait condition in snd_pcm_write_areas() to avoid return zero pcm: multi plugin - fix wait_for_avail_min pcm: null: Do not allow a period size of 0 pcm: rate plugin - fix signess in snd_pcm_rate_avail_update() comparison add snd_strlcpy() and use it everywhere pcm: add the missing <strings.h> include pcm: dshare: Fix overflow when slave_hw_ptr rolls over boundary pcm: Preserve period_event in snd_pcm_hw_sw_params() call Sequencer API add snd_strlcpy() and use it everywhere Timer API add support for GCC's LTO Topology API Close topology config file after parsing it. add snd_strlcpy() and use it everywhere Use Case Manager API Android: avoid using versionsort /include/Makefile.am Drop -I$includedir/alsa from alsa.pc ALSA Lisp alisp: add the missing include Configuration Android: avoid using versionsort conf: pcm dmix - add CHANNELS argument ucm: bytcr/PlatformEnableSeq.conf update some comments ucm: Add ucm files for DB820c board Revert "conf/ucm: Add a UCM profile for Dell WD19 Dock USB-audio" conf/ucm: Add a UCM profile for Dell WD19 Dock USB-audio Dynamic Loader helpers add support for GCC's LTO Error handler add snd_strlcpy() and use it everywhere Test/Example code Printf unsigned longs with %lu instead of %ld (playmidi1.c) Printf unsigned ints with %u instead of %i (pcm.c) Printf unsigned long longs with %llu (mixtest.c) Printf unsigned longs with %lu instead of %li (midifile.c) Printf unsigned long with %lu instead of %li (latency.c) test/latency: use frame bytes correctly in writebuf() Utils Drop -I$includedir/alsa from alsa.pc 1.1.8 Core Release v1.1.8 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 1.1.7 Core Release v1.1.7 conf/ucm: bytcr-rt5651: Add bytcr-rt5651-mono-spk-in2-mic-hp-swapped config conf/ucm: bytcr-rt5651: Add long-name UCM profiles conf/ucm: bytcr-rt5651: Use generic SSP enable + disable sequence, support SSP0 conf/ucm: chtnau8824: Add Cube iWork8 Air and Pipo W2S specific profiles conf/ucm: chtnau8824: Add UCM profile for chtnau8824 boards conf/ucm: bytcr-rt5640: Add long-name UCM profiles conf/ucm: bytcr-rt5640: Add generic bytcr-rt5640 UCM profile configure: Fix forgotten ucm entry conf/ucm: chtrt5645: At config for the Lenovo Ideapad Miix 320 conf/ucm: chtrt5645: At config for the Asus T100HA configure: remove src/conf/alsa.conf.d/Makefile Control API control_hw: Fix issue when applying seccomp policy hcontrol: use position offset macro of TLV data control: use position offset macro of TLV data PCM API pcm: ioplug: Transfer all available data pcm: rate: Add error check for snd_pcm_avail_update() pcm: ioplug: Provide avail helper function for plugins pcm: snd_interval_refine_first/last: exclude value only if also excluded before pcm: Define refine mask bits explicitly (and fix missing DSD support) pcm: dmix: Fix hwptr updates at status call pcm ioplug: fix some coverity issues (switch, missing unlock in snd_pcm_ioplug_drain()) pcm: add missing flags initialization for the fallback control data pcm: softvol: use position offset macro of TLV data pcm: hw: use position offset macro of TLV data pcm: softvol: Allow up to 90 dB of gain PCM Plugin API pcm: Fix header guard in pcm_plugin.h Sequencer API seq: Fix signedness in MIDI encoder/decoder Topology API ASoC: topology: Add alias conf parameter names for hw_configs ASoC: topology: Add definitions for mclk_direction values ASoC: topology: Add missing clock gating parameter when parsing hw_configs ASoC: topology: Fix bclk and fsync inversion in set_link_hw_format() Use Case Manager API ucm: adding the folder of card_long_name when finding verb conf file Configuration conf/ucm: bytcr-rt5640: Improve human readable input/output names conf/ucm: bytcr-rt5651: Add bytcr-rt5651-mono-spk-in2-mic-hp-swapped config conf/ucm: bytcr-rt5651: Add long-name UCM profiles conf/ucm: bytcr-rt5651: Add mono speaker output profile conf/ucm: bytcr-rt5651: Split into 1 .conf file per input / output conf/ucm: bytcr-rt5651: Add support for mic input on various pins conf/ucm: bytcr-rt5651: Fix ADC and Mic capture volumes conf/ucm: bytcr-rt5651: Use generic SSP enable + disable sequence, support SSP0 conf/ucm: bytcr-rt5651: Change Speaker/Headphone en/disable sequences to fix switching conf/ucm: bytcr-rt5651: Start with all outputs and inputs disabled conf/ucm: bytcr-rt5651: Configure all volumes at 0dB conf/ucm: bytcr-rt5651: Do not use both DAC1 and HPVOL inputs for HP conf/ucm: bytcr-rt5645: Use the generic bytcr/PlatformEnableSeq.conf conf/ucm: VEYRON-I2S: Add internal speakers and mic, other fixes conf/ucm: chtnau8824: Add Cube iWork8 Air and Pipo W2S specific profiles conf/ucm: chtnau8824: Add UCM profile for chtnau8824 boards conf/ucm: bytcr-rt5640: Add default DisableSequence conf/ucm: bytcr-rt5640: Add long-name UCM profiles conf/ucm: bytcr-rt5640: Add generic bytcr-rt5640 UCM profile conf: USB-audio: Fix for Xonar U7 SPDIF device conf/ucm: Add a UCM profile for Dell WD15 Dock USB-audio conf/ucm: chtrt5645: At config for the Lenovo Ideapad Miix 320 conf/ucm: chtrt5645: At config for the Asus T100HA conf/ucm: chtrt5645: Fix recording from internal analog microphone conf/ucm: chtrt5645: Microphone recording fixes conf/ucm: chtrt5645: Cleanup and playback fixes conf/ucm: increase the input volume for LineIn ASoC: topology: Fix bclk and fsync inversion in set_link_hw_format() conf: remove alsa.conf.d from the datadir alsa.conf: change the location for add-on configs to /etc/alsa/conf.d External PCM I/O Plugin SDK ioplug: Fix comment in struct snd_pcm_ioplug pcm: ioplug: Provide avail helper function for plugins Kernel Headers timer: fix wrong comment to refer to 'SNDRV_TIMER_PSFLG_*' control: add a series of macro for offset of several types of TLV ASoC: topology: Add definitions for mclk_direction values ASoC: topology: Add missing clock gating parameter when parsing hw_configs ASoC: topology: Fix bclk and fsync inversion in set_link_hw_format() Test/Example code test: use position offset macro of TLV data 1.1.6 Core Release v1.1.6 a set of fixes to reduce gcc warnings modules: smixer_python - add support for python3 conf/ucm: Add chtrt5645-mono-speaker-analog-mic configuration core: Proper reference of internal snd_dlopen() conf/ucm: Add Gigabyte mobo UCM profile with dual HD-audio codecs conf/ucm: Add dual HD-audio codecs config for Lenovo conf/ucm: Rearrange Makefile.am configure.ac: do not enable alisp code by default configure.ac: build extra mixer modules conditionally Change snd_dlopen() function to return the error string Change FSF address (Franklin Street) Control API control ext: fix the default .rawmidi_next_device callback control: Proper reference of internal versioned functions HWDEP API core: Proper reference of internal snd_dlopen() Mixer API core: Proper reference of internal snd_dlopen() PCM API pcm: ioplug: Implement proper drain behavior pcm: Skip avail_min check during draining a set of fixes to reduce gcc warnings pcm: hw: Keep control data from kernel when SND_PCM_APPEND pcm: ioplug: update prepare and draining state correctly pcm: Provide areas_copy function which handles buffer wrap around pcm: ioplug: Provide hw_avail helper function for plugins pcm: Do not access lock_enabled if thread safe API pcm: ioplug: Use boundary for wrap around pcm: another fix for the snd_pcm_area_silence() fast path pcm: fix a bug to copy silent samples aligned to 64 pcm: Fix two bugs in snd_pcm_area_silence() pcm: Return the consistent error code for unexpected PCM states core: Proper reference of internal snd_dlopen() timer: Proper reference of internal versioned symbols pcm: fix wrong comments for some cases of linear interpolation of PCM samples pcm: remove unused macros of NORMS_LABELS/NORMS_END pcm: remove unused macros of GETU_LABELS/GETU_END pcm: remove unused macros of COPY_LABELS/COPY_END pcm: plug: add SND_PCM_FORMAT_{S, U}20 to linear_preferred_formats pcm: linear, route: handle linear formats with 20-bit sample on 4 bytes pcm: add and describe SND_PCM_FORMAT_{S, U}20 pcm: route: Fix use_getput flag computation for 3 byte formats Timer API timer: Proper reference of internal versioned symbols Topology API a set of fixes to reduce gcc warnings topology: Fix parsing config with multiple hw_configs topology: Fix to skip writing of header for compound elements ALSA Lisp control: Proper reference of internal versioned functions Change FSF address (Franklin Street) ALSA Server a set of fixes to reduce gcc warnings Change FSF address (Franklin Street) Compatibility routines Change FSF address (Franklin Street) Configuration conf: USB-Audio: Add second S/PDIF device on Phiree U2SX conf/ucm: Add chtrt5645-mono-speaker-analog-mic configuration core: Proper reference of internal snd_dlopen() conf/ucm: Add Gigabyte mobo UCM profile with dual HD-audio codecs conf/ucm: Add dual HD-audio codecs config for Lenovo conf/ucm: Rearrange Makefile.am configure.ac: build extra mixer modules conditionally Change snd_dlopen() function to return the error string Documentation Change FSF address (Franklin Street) Dynamic Loader helpers core: Proper reference of internal snd_dlopen() External PCM I/O Plugin SDK pcm: ioplug: Provide hw_avail helper function for plugins pcm: ioplug: Use boundary for wrap around Kernel Headers asound.h: add SNDRV_PCM_FORMAT_{S, U}20 Simple Abstraction Mixer Modules modules: smixer_python - add support for python3 configure.ac: build extra mixer modules conditionally Change snd_dlopen() function to return the error string Test/Example code test: correct emulation for channel-map TLV 1.1.5 Core Release v1.1.5 conf/ucm: rt5651: Add UCM config for bytcr-rt5651 snd_user_file: avoid use wordexp cleanup: fix poll.h includes Release v1.1.4.1 conf: Check the availability of PTHREAD_MUTEX_RECURSIVE Control API ctl: deprecate APIs of dimensional information ctl: ext: Fail with error code if snd_ctl_ext_callback::read_event() callback is not defined cleanup: fix poll.h includes PCM API pcm: softvol: add support for S24_LE cleanup: Use uint*_t instead of u_int*_t everythwere cleanup: fix poll.h includes pcm: hw: remove superfluous code to call of SNDRV_PCM_IOCTL_SYNC_PTR in snd_pcm_hw_forward() pcm: hw: add a helper function to issue avail_min without side-effects pcm: hw: add a helper function to issue appl_ptr without side-effects pcm: hw: add a helper function to request hwsync without side-effects pcm: hw: add a helper function just to query status data pcm: hw: add a helper function to query status/control data pcm: hw: minor refactoring for initialization of control data pcm: hw: fix to initialize function local variable pcm: hw: Call USER_PVERSION ioctl at open pcm: hw: maintain fallback mode for control data mapping independently pcm: hw: maintain fallback mode for status data mapping pcm: hw: allocate fallback buffer in advance of trials of mapping pcm: hw: deallocate fallback buffer when trials of unmapping finished pcm: hw: add an arrangement for initialization of appl_ptr/avail_min pcm: hw: add helper functions to map/unmap status/control data for runtime of PCM substream pcm: hw: Remove superfluous call of snd_pcm_set_appl_ptr() pcm: minor code cleanup for ioctl call 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 API rawmidi: symbols: use rawmidi_virt only when available Sequencer API seq: fix snd_seq_set_queue_tempo() usage example in the documentation cleanup: fix poll.h includes Topology API alsa-lib: topology: fix DSP_B mode string topology: fix coverity issues topology: fix usage of SND_TPLG_INDEX_ALL when checking routes topology: Fix private data for BEs topology: improve verbose output for block output. topology: Add support for new widget types topology: Add parsing for rates from conf topology: disable alsa-lib topology debug output by default. topology: Add support for missing fields parser. ALSA Server cleanup: fix poll.h includes Compatibility routines cleanup: Use uint*_t instead of u_int*_t everythwere Configuration conf/ucm: rt5651: Mute speakers on boot conf/ucm: rt5651: Add missing cdev conf/ucm: rt5651: Fix HiFi file name conf/ucm: rt5651: Add UCM config for bytcr-rt5651 conf: HdmiLpeAudio: remove the "front" pcm definition conf: HdmiLpeAudio: add support for 3 devices 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 conf: Check the availability of PTHREAD_MUTEX_RECURSIVE Filename helpers snd_user_file: avoid use wordexp Kernel Headers topology: Add support for new widget types pcm: hw: Call USER_PVERSION ioctl at open SHM helpers cleanup: fix poll.h includes Test/Example code test: obsolete usage of APIs of dimensional information test/seq-decoder: enable timestamping for external subscribers test: apply optimization for v4.14 kernel about changes for TLV data handling on user-defined element set test: add a test for list operation to user-defined element sets 1.1.4.1 Core Release v1.1.4.1 conf: Check the availability of PTHREAD_MUTEX_RECURSIVE PCM API 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 Configuration conf: Check the availability of PTHREAD_MUTEX_RECURSIVE Test/Example code test: add a test for list operation to user-defined element sets
19 lines
992 B
C
19 lines
992 B
C
$NetBSD: patch-include_sound_uapi_asound.h,v 1.1 2021/05/12 14:12:13 ryoon Exp $
|
|
|
|
--- include/sound/uapi/asound.h.orig 2020-06-29 10:51:08.000000000 +0000
|
|
+++ include/sound/uapi/asound.h
|
|
@@ -545,12 +545,12 @@ struct __snd_pcm_sync_ptr {
|
|
} c;
|
|
};
|
|
|
|
-#if defined(__BYTE_ORDER) ? __BYTE_ORDER == __BIG_ENDIAN : defined(__BIG_ENDIAN)
|
|
+#if (defined(__BYTE_ORDER) ? __BYTE_ORDER == __BIG_ENDIAN : defined(__BIG_ENDIAN)) || (defined(BYTE_ORDER) ? BYTE_ORDER == BIG_ENDIAN : defined(BIG_ENDIAN))
|
|
typedef char __pad_before_uframe[sizeof(__u64) - sizeof(snd_pcm_uframes_t)];
|
|
typedef char __pad_after_uframe[0];
|
|
#endif
|
|
|
|
-#if defined(__BYTE_ORDER) ? __BYTE_ORDER == __LITTLE_ENDIAN : defined(__LITTLE_ENDIAN)
|
|
+#if defined(__BYTE_ORDER) ? __BYTE_ORDER == __LITTLE_ENDIAN : defined(__LITTLE_ENDIAN) || defined(BYTE_ORDER) ? BYTE_ORDER == LITTLE_ENDIAN : defined(LITTLE_ENDIAN)
|
|
typedef char __pad_before_uframe[0];
|
|
typedef char __pad_after_uframe[sizeof(__u64) - sizeof(snd_pcm_uframes_t)];
|
|
#endif
|