Detailed changes v1.0.28 v1.0.29
Jump to navigation
Jump to search
Detailed changelog between 1.0.26 and 1.0.29 releases
Changelog between 1.0.28 and 1.0.29 releases
alsa-python
Core
- - Release v1.0.29
- - setup.py: indent changes
pyalsa.alsaseq module
- - alsaseq: fix memory leaks
- Fix a bunch of dangling reference issues. Also switch to Py_BuildValue
- where appropriate, since that makes it easier to build complex
- dictionary/tuple structures without leaking integer/string references.
- - alsaseq: remove dead code in Sequencer_set_clientname()
Detailed changelog between 1.0.28 and 1.0.29 releases
Changelog between 1.0.28 and 1.0.29 releases
alsa-lib
Core
- - Release v1.0.29
- - conf/ucm: GoogleNyan: Add configuration
- Taken from the ChromeOS sources, this configuration should apply to all
- Nyan boards from Google, so far HP Chromebook 14 (nyan-blaze) and Acer
- Chromebook 13 (nyan-big).
- - conf/ucm: PAZ00: add Toshiba AC100/Dynabook AZ new config
- Recent mainline kernels threat Toshiba AC100 audio hardware as hw:PAZ00
- vs old hw:tegraalc5632.
- This patch adds config files for new hw name and include them to
- makefiles.
Control API
- - control: complement comment for subscribe API
- When minus value is given as a parameter, the API returns whether
- the caller has already subscribed or not.
- This commit adds a comment about this so as better documentation.
- - Remove unused hostname resolution in shm plugins and aserver
- PCM and control shm plugins and aserver have some codes to resolve the
- host address and check whether it's a local host although the given
- address is never used. In addition, the code contains gethostbyname()
- that is known to be obsoleted. So, let's get rid of all these unused
- codes.
- The host configuration item is still accepted (but just ignored) for
- keeping the compatibility.
- - control: enable octal and hexadecimal parse
- Use zero-base for strtol(), so get_integer() and get_integer64()
- can parse decimal, octal and hexadecimal data from input string.
- - control: return negative value in case of error
HWDEP API
- - hwdep: add OXFW driver support
- Linux 3.19 newly support this driver. By hardware dependent interface,
- userspace applications can get hardware information, lock/unlock kernel
- streaming and receive lock status event.
- - hwdep: add missing declaration for snd_hwdep_poll_descriptors_count()
- The alsa-lib has 'snd_hwdep_poll_descriptors_count()' but hwdep.h has no
- declaration for the function. No applications can call the function just
- by including the header.
- This commit adds a line to the file for this function.
- - Sync enum snd_hwdep_iface_t with include/asound/asound.h
- Some members in this enumerated type has not updated for 9 years, although
- kernel-drivers added them during this period. This commit adds them following
- to a commit 87df9f3 'sync include/asound/asound.h with 3.17-rc1 kernel'.
Mixer API
- - mixer: Fix unused parameter warnings
- mixer_simple.h:35:64: warning: unused parameter 'mixer' [-Wunused-parameter]
- static inline int snd_mixer_simple_basic_register(snd_mixer_t *mixer,
- ^
- mixer_simple.h:36:40: warning: unused parameter 'options' [-Wunused-parameter]
- struct snd_mixer_selem_regopt *options,
- ^
- mixer_simple.h:37:29: warning: unused parameter 'classp' [-Wunused-parameter]
- snd_mixer_class_t **classp)
- ^
- - mixer: Fix inclusion of config.h
- config.h wasn't read or read too late in some files in src/mixer.
- - mixer: Fix missing hctl handle free in snd_mixer_attach_hctl()
- Yet another missing piece.
- Also, update the function document to warn about the behavior at
- error.
- - simple_abst: null check for lib
- - mixer: fixed double free
PCM API
- - Remove unused hostname resolution in shm plugins and aserver
- PCM and control shm plugins and aserver have some codes to resolve the
- host address and check whether it's a local host although the given
- address is never used. In addition, the code contains gethostbyname()
- that is known to be obsoleted. So, let's get rid of all these unused
- codes.
- The host configuration item is still accepted (but just ignored) for
- keeping the compatibility.
- - pcm: fix buffer overflow in snd_pcm_chmap_print()
- The size argument is wrong for one of the snprintf() calls in
- snd_pcm_chmap_print(), allowing an overflow to happen (the user-provided
- buffer may be written data up to 2x its actual size).
- Seen in an user report here: http://trac.kodi.tv/ticket/15641
- - pcm: Fix assorted tstamp_type bugs/omissions.
- Just a couple of quick fixes related to tstamp_type.
- - snd_pcm_sw_params(): copy tstamp_type field
- - snd_pcm_tstamp_type_name(): fix argument type
- - snd_pcm_dump_sw_setup(): fix dumping of tstamp_type field
- - pcm: Fix DSD sample format endianess and add big-endian format
- This patch adds big-endian DSD sample format and fixes return value of DSD
- formats for snd_pcm_format_little_endian().
- - pcm: dmix: Don't ignore SND_TIMER_EVENT_MSTOP
- When a slave PCM gets an error like XRUN, it stops and notifies with
- SND_TIMER_EVENT_MSTOP event. But the current code filters out this
- type and eventually hang due to the empty timer queue. The fix is to
- just add this event type to the filter bit mask.
- - pcm: return negative value in case of error
- - pcm_hooks: null check for h
- - pcm_share: fixing missing mutex unlock
- - pcm_file: fixed missing free
- - pcm, rate: hw_avail must not be negative before starting the stream
- If it is, then it means most likely the driver problem, so we should
- return error immediately instead.
- - pcm route: Fix the bad condition (always false)
- - Revert "pcm: rewindable, forwardable: don't return stale data"
- This reverts commit 6db0fe495ef1db1fd8f0ed791996f834665a926b.
- - pcm, file: don't recurse in the rewindable and forwardable callbacks
- - pcm: rewindable, forwardable: don't return stale data
- The current behavior of snd_pcm_rewindable and snd_pcm_forwardable means
- that the returned value is only accurate to one period. Or maybe even
- meaningless if period interrupts are off. Fetch the up-to-date position
- of the hardware pointer, as that's what is wanted by callers.
- - dsnoop: rewindable and forwardable logic was swapped
- - rate: handle negative values from snd_pcm_mmap_playback_hw_avail
- Such negative returns are possible during an underrun if xrun detection
- is disabled.
- So, don't store the result in an unsigned variable (where it will
- overflow), and postpone the trigger in such case, too.
- - pcm, null: use the snd_pcm_mmap_avail function
- instead of the open-coded equivalent
- - pcm, rate: use the snd_pcm_mmap_hw_avail function
- instead of the open-coded equivalent
- - pcm: handle negative values from snd_pcm_mmap_hw_avail
- Such negative values can happen when an underrun happens and xrun
- detection is disabled. Another situation is if the device updated the
- pointer before alsa-lib has a chance to detect the xrun.
- The problem is that these negative values could propagate to the
- snd_pcm_rewindable return value, where it is specified that negative
- returns must be interpreted as error codes and not as negative amount of
- samples.
- - pcm: express the rewind size limitation logic better
- There are a few places where the argument of the .rewind or .forward
- callback is checked against the same value as returned by .rewindable or
- .forwardable. Express this "don't rewind more than rewindable" logic
- explicitly, so that the future fixes to the rewindable size can go to
- one function instead of two.
- While at it, take advantage of the fact that snd_pcm_mmap_avail() cannot
- return negative values (except due to integer overflow, which is AFAICS
- impossible given the current boundary choice).
- - dmix: actually rewind when running or being drained
- - pcm: add new 32-bit DSD sample format
- Add the new DSD_U32_LE sample format to alsa-lib.
- NB include/pcm.h and include/sound/asound.h are updated so a new sync with the
- kernel headers is not needed
- - pcm: fix return value of snd_pcm_share_slave_avail
- The return value was wrong for playback if slave->hw_ptr was near the
- boundary and *pcm->appl.ptr was near zero. The wrong result was greater
- than the boundary.
- - pcm: fix snd_pcm_mmap_hw_avail() near the boundary
- This function returned incorrect results when hw.ptr was near the
- boundary and hw.appl_ptr was near zero. Here "incorrect" means "greater
- than the boundary".
- The result was incorrect, because it was used as a return value of
- various *_rewindable() functions and also as the delay for ioplug.
- - pcm: 2nd round of pcm_misc DSD fixes
- Functions 'snd_pcm_format_silence_64' and 'snd_pcm_format_size' also need to be
- able to handle the DSD smaple format.
- Changes from v1:
- - Correct silence pattern for DSD
- - pcm: Add missing signed and endianess definitions for DSD formats
- - pcm: Fix DSD formats userland usability
- Support for DSD sample formats has been added a while ago. This patch makes
- those sample formats beter usable from userland (e.g. aplay).
- [These implementation details have been forgotten in the previous DSD
- support patch -- tiwai]
- - pcm: pcm_local.h: include <time.h> to enable CLOCK_MONOTONIC
- CLOCK_MONITONIC is defined in <bits/time.h>, add <time.h> before
- <sys/time.h>.
- - pcm: Drop snd_pcm_linear_{get|put}32_index()
- These are identical with snd_pcm_linear_{get|put}_index().
- - pcm: route: Use get32 for multi-source route calculation
- The PCM route plugin can assign the destination value from average of
- multiple sources with attenuation. This requires the read of each
- channel value, sums and writes the resultant value in the requested
- format.
- Currently, get_labels is used for reading source values while
- put32_labels is used for writing the dest value. This is, however,
- a buggy implementation; get_labels gives the value as is only with
- endianness and signedness conversions, but put32_labels assumes that
- the value is normalized to 32bit int and it shifts down to the dest
- format. In addition, the current code lacks get_labels entries for
- the 24bit formats, as Shengjiu Wang spotted out.
- For fixing these bugs, this patch replaces the read with
- get32_labels and use always 64bit int for sum. This simplifies the
- code a lot and drops many lines.
- - pcm: Fill sw_params proto field
- Fill the new proto field introduced to sw_params with the current PCM
- protocol version. This makes tstamp_type evaluated properly in the
- kernel.
- - pcm: route: Use get/put labels for all 3 byte formats
- So far, use_getput flag is set only when the src or dest format is
- 24bit physical width. But, also 18 and 20 bit physical width formats
- should set the flag, too. This patch makes the check broader to cover
- all 3 bytes formats.
- - pcm: Implement timestamp type handling in all plugins
- Now all PCM plugins do support the proper timestamp type or pass it
- over slaves. The internal monotonic flag is dropped and replaced with
- tstamp_type in all places.
- - pcm: Implement timestamp type setup in hw plugin
- This patch implements the support for sw_params timestamp type in PCM
- hw layer. As gettimestamp() is still unchanged, the resultant
- timstamps may be still with CLOCK_MONOTONIC even if you pass monotonic
- raw type. More fixes will follow.
- - pcm: Add sw_params API functions to get/set timestamp type
- For obtaining / changing the timestamp type, add the corresponding
- sw_params accessor API functions together with the public definitions
- of timestamp types.
- This patch only adds the functions and defines but doesn't bring the
- functional changes yet.
- - pcm: rate: fix hw_ptr exceed the boundary
- For long time test case, the hw_ptr will exceed the boundary, then cause
- the avail size wrong.
RawMidi API
- - rawmidi: close handle h
Use Case Manager API
- - ucm: fix some variable constness issues
- I submitted earlier a patch that made the value parameter of
- snd_use_case_get() non-const, but as that changed the public API, the
- patch couldn't be accepted. This is the same patch, modifying the
- internal code so that there are fewer issues with constness, but the
- public API is left alone (a comment was added to the function
- documentation, though, so that hopefully nobody else will try to fix
- the same unfixable problem).
- - ucm: fix the logic of choosing the default cdev
- If the cdev has not been configured explicitly, use the PlaybackCTL
- or CaptureCTL value if one of them is set. If neither are set, or if
- both are set to different values, then there's no sensible default, so
- executing the sequence should fail. The previous code probably tried
- to implement this logic, but it was buggy.
- Also use more descriptive variable names than "cdev1" and "cdev2".
- - ucm: fix incorrect error code sign
- Reported-by: Takashi Iwai <tiwai@suse.de>
- - ucm: fix variable mixup
- I assume the intention was to use cdev1 for PlaybackCTL and cdev2 for
- CaptureCTL, but cdev1 was being used for both and cdev2 was not used
- for anything.
- - ucm: add binary configure file parse
- with cset command, UCM set kcontrol parameters directly:
- cset "name='<KCONTROL_NAME>' 1<,2,3,...>"
- This patch enables UCM to set kcontrol with parameters from
- configure file:
- cset-bin-file "name='<KCONTROL_NAME>' <path/to/file>"
- where "cset-bin-file" is a newly added keyword alongside of "cset",
- to indicate cset with binary data in file.
- The binary data in file is parameter for audio DSPs, and it's just
- passed by UCM/ALSA as raw data. The data type of parameter elements
- must be byte, and the count must matches driver definition.
- - ucm: Fix uninitialized err in snd_use_case_set()
- The compiler warns like:
- main.c:1664:9: warning: 'err' may be used uninitialized in this function [-Wmaybe-uninitialized]
- and actually there are slight code paths that slip.
- This patch adds the proper initializations to 0 to return the success
- code in these code paths.
- - ucm: Document PlaybackPCMIsDummy and CapturePCMIsDummy values
- At least PulseAudio needs special handling for dummy devices. To allow
- that to happen automatically, the UCM configuration should contain the
- information about which PCMs are dummy.
/include/Makefile.am
- - autotools: fix ucm partial build
- When --disable-ucm configure option is specified,
- don't install related include file.
ALSA Server
- - Remove unused hostname resolution in shm plugins and aserver
- PCM and control shm plugins and aserver have some codes to resolve the
- host address and check whether it's a local host although the given
- address is never used. In addition, the code contains gethostbyname()
- that is known to be obsoleted. So, let's get rid of all these unused
- codes.
- The host configuration item is still accepted (but just ignored) for
- keeping the compatibility.
Configuration
- - conf: add support for USB AudioSport Quattro (tm)
- This patch resulted from discussion with redlion_ on #alsa IRC channel
- on Freenode. 4-channel playback now works. 4-channel capture works too,
- but not simultaneously with playback (hardware limitation).
- Alsa-info before the fix:
- http://www.alsa-project.org/db/?f=a3673622074b88a1abf4ccc6e7f37d0b5b72f34a
- - conf/ucm: GoogleNyan: Add configuration
- Taken from the ChromeOS sources, this configuration should apply to all
- Nyan boards from Google, so far HP Chromebook 14 (nyan-blaze) and Acer
- Chromebook 13 (nyan-big).
- - USB-audio: Add five more cards to IEC958 blacklist
- These devices do not have any IEC958 outputs, so prevent them from
- being opened.
- - USB-Audio: Add Scarlett 2i4 USB to S/PDIF blacklist
- Like Scarlett 2i2, the 2i4 does not have any S/PDIF connections.
- - conf/ucm: PAZ00: add Toshiba AC100/Dynabook AZ new config
- Recent mainline kernels threat Toshiba AC100 audio hardware as hw:PAZ00
- vs old hw:tegraalc5632.
- This patch adds config files for new hw name and include them to
- makefiles.
- - conf: return negative value in case of error
- - USB-Audio: Add second S/PDIF device on Phiree U2
- Phiree U2 has an unusual configuration. It only has S/PDIF output, but
- there are still two devices presented:
- - device 0: PCM audio, subject to volume control
- - device 1: non-PCM data (passthrough), not subject to volume control
- It looks like the AES bits are set according to the selected device,
- since outputting PCM data via device 1 will not work (silence).
- Currently only the device 0 is shown via the "iec958" alias, and the
- second device is not accessible via hinted aliases.
- Simply provide access to both of these devices via the "iec958" alias.
- Reported-by: touc @ XBMC forum
- - ICE1712: add surround71 pcm definition
- The M-Audio Delta 1010 card has 7.1 analog output, but no ready-made pcm
- definition to use it.
- Reported-and-tested-by: Matt Zagrabelny <mzagrabe@d.umn.edu>
Documentation
- - doc: fix cross-compiling example
- Simplest way to configure cross-compilation with configure
- script is to pass '--host' option.
- Passing just '--target' doesn't work.
Dynamic Loader helpers
- - dlmisc: Remove unused label
- Fix a compile warning
- dlmisc.c:329:2: warning: label 'unlock' defined but not used [-Wunused-label]
- - snd_dlsym: only do versioning checks if built --with-versioning
- a combination of some of the following garbage collecting LD/CFLAGS
- -Os -g0 -fdata-sections -ffunction-sections -s -Wl,--gc-sections
- -fno-unwind-tables -fno-asynchronous-unwind-tables
- causes the symbol versioning marker symbols to be removed from BSS
- since they're otherwise unreferenced. this causes dlsym failing to
- find them which results in runtime breakage:
- $ alsamixer
- ALSA lib dlmisc.c:142:(snd_dlsym_verify) unable to verify version for symbol snd_config_hook_load
- ALSA lib conf.c:3328:(snd_config_hooks_call) symbol snd_config_hook_load is not defined inside (null)
- ALSA lib conf.c:3788:(snd_config_update_r) hooks failed, removing configuration
- cannot open mixer: No such device or address
- correct DSO:
- $ objdump -T libasound.so.2.strip | grep _snd_config_hook_load_dlsym_config_hook_001
- 001196bc g DO .bss 00000001 _snd_config_hook_load_dlsym_config_hook_001
- incorrect DSO:
- $ objdump -T libs/libasound.so.2 | grep _snd_config_hook_load_dlsym_config_hook_001
- 00000000 g DO *ABS* 00000001 _snd_config_hook_load_dlsym_config_hook_001
- since alsa was built with --without-versioning, doing those versioning
- checks at all is unnecessary and harmful and thus now disabled in this case.
Filename helpers
- - snd_user_file: fix memory leak
- Call wordfree if and only if wordfree returns zero or WRDE_NOSPACE
Kernel Headers
- - hwdep: add OXFW driver support
- Linux 3.19 newly support this driver. By hardware dependent interface,
- userspace applications can get hardware information, lock/unlock kernel
- streaming and receive lock status event.
- - pcm: Fix DSD sample format endianess and add big-endian format
- This patch adds big-endian DSD sample format and fixes return value of DSD
- formats for snd_pcm_format_little_endian().
- - pcm: add new 32-bit DSD sample format
- Add the new DSD_U32_LE sample format to alsa-lib.
- NB include/pcm.h and include/sound/asound.h are updated so a new sync with the
- kernel headers is not needed
- - Sync include/sound/asound.h with 3.17-rc1 kernel
- - pcm: Fix DSD formats userland usability
- Support for DSD sample formats has been added a while ago. This patch makes
- those sample formats beter usable from userland (e.g. aplay).
- [These implementation details have been forgotten in the previous DSD
- support patch -- tiwai]
- - pcm: Fill sw_params proto field
- Fill the new proto field introduced to sw_params with the current PCM
- protocol version. This makes tstamp_type evaluated properly in the
- kernel.
- - Add timestamp type to sw_params (internal only)
- This patch is just the udpate of sound/asound.h taken from the kernel
- commit. The API changes and PCM structure changes will follow after
- this.
- - pcm: Provide a CLOCK_MONOTONIC_RAW timestamp type
- For applications which need to synchronise with external timebases such
- as broadcast TV applications the kernel monotonic time is not optimal as
- it includes adjustments from NTP and so may still include discontinuities
- due to that. A raw monotonic time which does not include any adjustments
- is available in the kernel from getrawmonotonic() so provide userspace with
- a new timestamp type SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW which provides
- timestamps based on this as an option.
- Reported-by: Daniel Thompson <daniel.thompson@linaro.org>
Simple Abstraction Mixer Modules
- - sbase: fixed missing free
Socket helpers
- - Remove unused hostname resolution in shm plugins and aserver
- PCM and control shm plugins and aserver have some codes to resolve the
- host address and check whether it's a local host although the given
- address is never used. In addition, the code contains gethostbyname()
- that is known to be obsoleted. So, let's get rid of all these unused
- codes.
- The host configuration item is still accepted (but just ignored) for
- keeping the compatibility.
- - socket: missing socket close
Test/Example code
- - test/audio_time: Set timestamp type explicitly
alsa-utils
Core
- - Release v1.0.29
- - configure: allow contitional compilation of alsaucm
- If alsa-lib have been compiled with --disable-ucm, alsaucm can't be built.
- Detection is dynamic, no configure command line option is available for now.
- - Add missing alsa-info entry to the root Makefile.am
- - Add alsa-info.sh to alsa-utils repo
- Copied the latest version (0.4.63) from alsa-driver repo.
ALSA Control (alsactl)
- - alsactl/init: Add "Line Out" to list of outputs to initialize
- - alsactl/init: Change the "basic rules" description
- We now enable more outputs than just the main speaker, so update
- the basic rules to reflect the actual situation.
- - alsactl: add missing state_unlock() call
- - alsactl: coverity - missing_va_end – va_end was not called for "ap"
- - monitor: fix clang warning - Declared variable-length array (VLA) has zero size
- - alsactl: aded missing monitor() prototype
- - alsactl: Fix the file locking routines (for the state management)
- - alsactl: save state - do not call rename for stdio
Speaker Test
- - speaker-text: fix simple signess assignment warning
- - speaker-test: Add missing draining at the end
- Without the call of snd_pcm_drain() the pending data on the buffer
- might be discarded, which results in the abort of playback sound in
- the middle. Let's fix it.
- Reported-and-tested-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
alsa-info.sh
- - alsa-info.sh: add script to EXTRA_DIST (automake)
- - alsa-info: Refactor "withall" logic
- Previously, using --output, --no-upload, --upload and --pastebin
- switches implied the withall switch.
- A more intuitive logic would be that --with-all is disabled if you
- use another --with* switch, such as --withdmesg, and only then.
- Also update script version to reflect the behaviour change.
- - alsa-info: Make sure all full script is run even with "output" option
- For some reason, when the --output option is used, less information
- is included compared to when no options are used. This is unexpected.
- Fix this by running "withall" also when the output option is used.
- - Add alsa-info.sh to alsa-utils repo
- Copied the latest version (0.4.63) from alsa-driver repo.
alsamixer
- - alsamixer: include missing mixer_controls.h
amixer
- - amixer: Parse the value more strictly
- So far amixer allows some unexpected suffix and assumes as a raw
- absolute value without returning an error. This is rather dangerous,
- e.g. user might not notice that a completely wrong value was set when
- the command line included a typo.
- This patch makes the parser a bit more strict: it doesn't allow any
- longer invalid suffixes, instead either returns an error or skips the
- invalid value, depending on the operation mode.
- - amixer: Make "dB" case-insensitive in set commands
- We don't have to be necessarily too strict about case-sensitivity of
- "dB" suffix used in set commands.
aplay/arecord
- - Revert "aplay: fix pcm_read() return value"
- This reverts commit 8aa13eec80eac312e4b99423909387660fb99b8f.
- The semantics for pcm_read() and pcm_readv() was changed, but the
- callers expect the exact frame count as requested. It's possible
- to fix callers, but the fix is more complicated than to revert the
- change. Note that '-d' processing was broken in some cases.
- Note: The reverted commit allows that the return value might be
- greater than requested (see the first condition in read routines).
alsa-tools
Core
- - Release v1.0.29
- - Add a small "hdajacksensetest" helper
- I previously had a small python script doing the same thing,
- but it depended on hda-analyzer, which always breaks when something
- new is added to the codec proc file.
- I got tired and rewrote it as a small C program instead, which I
- hope will be a useful addition to alsa-tools.
HDA Jack Retask
- - hdajackretask: Add dock hp/mic/line to simple options
- This allows for simpler setting of dock headphone, dock mic,
- dock line out and dock line in.
- Also improve detection a bit so that an existing dock headphone
- shows up as such and not as regular headphone.
- - hdajackretask: Add "hints" functionality
- The kernel driver has some hints you can send to it that changes
- parser behaviour. This patch exposes that functionality to the user.
- (This patch also includes minor fixes for documentation, GTK warnings
- and whitespace.)
HDA Jack Sense Test
- - Add a small "hdajacksensetest" helper
- I previously had a small python script doing the same thing,
- but it depended on hda-analyzer, which always breaks when something
- new is added to the codec proc file.
- I got tired and rewrote it as a small C program instead, which I
- hope will be a useful addition to alsa-tools.
ld10k1 (EMU10K1+ DSP Code Loader)
- - ld10k1: Fix missing parentheses for functions
- The commit a1728250 removes bash-specific "function" but the necessary
- parentheses are missing.
alsa-firmware
Core
- - Release v1.0.29
AudioScience ASIHPI Firmware
- - asihpi: remove removed dsp2400.bin from Makefile.am
- - asihpi: Update firmware to version 4.14
- Also remove the superfluous file (dsp2400.bin) which was added
- mistakenly.
alsa-plugins
Core
- - Release v1.0.29
A52 Output plugin
- - a52: Ignore start request if we're already running
- When trying to start a PCM that's already running, the result is EBADFD.
- We might have implicitly started the buffer by filling it up,
- so just ignore this request if we're already running.
- Reported-by: Chow Loong Jin <hyperair@ubuntu.com>
Jack PCM plugin
- - jack: Restore PID to jack client name when not specified explicitly
- Commit 14190cd8 added a facility to explicitly name Jack clients with
- a 'name' option, but did so in a way that was not fully
- backwards-compatible with older versions of the alsa-plugins. There
- were two issues:
- 1. Re-using the magical "name" variable, which comes preloaded with
- the name of the PCM
- 2. The code assumed snd_config_get_string sets a variable to NULL if
- the config entry does not exist. Instead, this function leaves the
- variable unchanged.
- The result of these two errors meant that the PCM name would be
- treated as if it were a user-defined name, and the old code which
- embedded the PID would never be run
- This code uses a completely new variable to store the explicitly-set
- client name, so that the two code paths no longer collide.
- [fixed trivial coding style issues by tiwai]