QNX Technical Articles
QNX® Software Development Platform 7.0—Audio (Build 7.0.807.S201805221655): Release Notes
Date of this edition: June 5, 2018
This update includes enhancements and fixes to existing functionality and generic audio drivers for the Audio components in the QNX Software Development Platform.
Target OS: This update is compatible with targets that are running the QNX® Neutrino® RTOS 7.0.
Host OS: To apply this update, have the QNX Software Development Platform 7.0 and the latest version of QNX Software Center installed on one of the following development hosts:
- Microsoft Windows 10 Professional 64-bit, Windows 8.1 Professional 64-bit, or Windows 7 Professional 64-bit
- Linux Red Hat Enterprise Linux 7 64-bit, or Ubuntu Desktop 16.04 LTS 64-bit
- macOS version 10.10, 10.11, 10.12
Contents
Throughout this document, you may see reference numbers associated with particular issues, changes, etc. When corresponding with our Technical Support staff about a given issue, please quote the relevant reference number. You might also find the reference numbers useful for tracking issues as they become fixed.
What's in this update?
Packaging
This update includes fixes and updates to Audio core functionality and drivers in the following packages:
- Audio—Core
- Audio—Drivers PC Generic
- Audio—Drivers USB
- Audio—Drivers Bluetooth
This update includes the packaging changes and fixes from the previous Audio update. You'll find the packages under the Available tab in the QNX Software Center. However, if you have the previous update installed, you'll find them in the Updates tab. For information about the previous Audio update, see the QNX Software Development Platform 7.0—Audio (Build 7.0.594.S201801171044): Release Notes.
Functionality updates
- The PCM software mixer has been updated to support 32-bit samples. The mixer is configured to support either 16 or 32-bit samples, depending on the hardware configuration.
- The PCM Software mixer can now operate at any number of voices (based on the hardware configuration), instead of being limited to a maximum of eight voices.
- New and enhanced drivers.
For more information on the new or enhanced functionality that this update provides, see "What's new in QNX Neutrino 7.0" for this build in the most recent version of the Audio Developer's Guide and "What's New in this Reference?" in the Utilities Reference.
Fixed issues
Audio—Core
- An issue that caused io-audio to crash on start-up when afm_mixer_enable was enabled in the audio configuration but no AFMs were configured has been fixed. (Ref# J2551846)
- Adjusted how io-audio determines the minimum allowed number of audio fragments to prevent playback from going into underrun. (Ref# J2544484)
- Fixed an issue in non-blocking mode that in some cases generated an audio glitch ("pop") when SRC is used at certain fragment sizes. (Ref# J2544252)
- The snd_pcm_open_name() function now validates the channel direction for the specified device. (Ref# J2536628)
- The snd_ctl_pcm_channel_info() function can now retrieve information about PCM devices other than device 0 and provide mixer group information when the targetted PCM is the PCM software mixer or PCM input splitter. (Ref# J2534642)
- io-audio now propogates to clients any errors that occur at the hardware level at the start of playback or capture. (Ref# J2531675)
- Additional calls to snd_pcm_channel_params() now preserve a transient volume group. This resolves an issue where the volume level previous to the additional call was lost. (Ref# J2531218, J2416054)
- The audio policy configuration file now allows you to select the method that determines the sampling frequency the PCM input splitter uses. (Ref# J2529321)
- An io-audio memory corruption issue that occurred when using the PCM software mixer was resolved. (Ref# J2514589)
- The preferences file (/etc/system/config/audio/preferences) now sets the preferred device by matching a substring to the start of the card name. Previously, the substring could match any part of the card name. (Ref# J2503650)
- If a mixer group is transient, it is no longer saved and restored with the card settings. (Ref# J2497908)
- When you use pcm_logger to log PCM data for a card and device that represents a PCM software mixer or input splitter, logging is also enabled for any parent PCM device. (Ref# J2496398)
- When you use pcm_logger to log PCM data for a card and device that represents a PCM software mixer or input splitter, logging is also enabled for the hardware PCM device. (Ref# J2496398)
- Fixed an issue that stalled the mixer thread when multiple streams were being mixed and one stream was stopped. (Ref# J2389243)
- Polyphase SRC now supports additional rates up to 192kHz. (Ref# J2380171)
- The PCM software mixer can now operate at any number of voices (based on the parent hardware configuration), instead of being limited to a maximum of eight voices. (Ref# J2373914)
- When io-audio starts with sw_mixer_rate=FAHQ (the default), the rates the PCM software mixer supports now include:
- All 8kHz multiples greater than or equal to 48kHz that the hardware supports. If no supported rates match this criteria, the largest 8kHz multiple the hardware supports.
- All 11.025kHz multiples greater than or equal to 44.1kHz that the hardware supports. If no supported rates match this criteria, the largest 11.025kHz multiple the hardware supports.
- 18.9kHz, if the hardware supports it.
- The audiomgmt_monitor sample application now checks the duck_output parameter. Previously, if this parameter was missing or null, the application crashed. (Ref #J2250265)
- Fixed an issue with audio configuration file parsing that in some cases caused io-audio to crash on driver startup. (Ref #J2239812)
- An issue that created an empty PCM audio information file when playback was monitored has been fixed. (Ref #J2236111)
- An issue that caused io-audio to become non-responsive when run on ASRock Beebox has been fixed. (Ref #J2205658)
- The 18.9kHz audio rate is now supported. (Ref #J2198835)
Audio—Drivers USB:
- Parsing of the descriptors that USB audio devices provide has been enhanced to generate multiplexer controls. (Ref# J2531097)
- An issue that deleted the USB audio card when a USB audio device was removed has been fixed. (Ref# J2269219)
Known issues
- For platforms that combine support for two or more of a specific set of audio features (includes 32-bit samples, high sample rates, and multi-channel) and is not configured to require a specific audio format, attempting to acquire an audio playback channel can fail.
(Ref# J2561273)
Workaround: To avoid this problem, use one of the following configuration options:
- Use sw_mixer_rate to lock the software mixer sample rate.
- Use sw_mixer_samples instead of sw_mixer_ms to specify the fragment size.
- Lower the value of sw_mixer_ms.
- Use sw_mixer_sample_size to limit the maximum sample rate sample size.
- Use driver options to limit the maximum number of voices, lock the sample rate, or both.
Technical support
To obtain technical support for any QNX product, visit the Support area on our website (www.qnx.com). You'll find a wide range of support options, including community forums.