Miniaudio

Latest version: v1.61

Safety actively analyzes 687959 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 17

0.11.3

- Add a new flag for nodes called MA_NODE_FLAG_SILENT_OUTPUT which tells miniaudio that the
output of the node should always be treated as silence. This gives miniaudio an optimization
opportunity by skipping mixing of those nodes. Useful for special nodes that need to have
their outputs wired up to the graph so they're processed, but don't want the output to
contribute to the final mix.
- Add support for fixed sized callbacks. With this change, the data callback will be fired with
a consistent frame count based on the periodSizeInFrames or periodSizeInMilliseconds config
variable (depending on which one is used). If the period size is not specified, the backend's
internal period size will be used. Under the hood this uses an intermediary buffer which
introduces a small inefficiency. To avoid this you can use the `noFixedSizedCallback` config
variable and set it to true. This will make the callback equivalent to the way it was before
this change and will avoid the intermediary buffer, but the data callback could get fired with
an inconsistent frame count which might cause problems where certain operations need to operate
on fixed sized chunks.
- Change the logging system to always process debug log messages. This is useful for allowing
debug and test builds of applications to output debug information that can later be passed on
for debugging in miniaudio. To filter out these messages, just filter against the log level
which will be MA_LOG_LEVEL_DEBUG.
- Change the wav decoder to pick the closest format to the source file by default if no preferred
format is specified.
- Fix a bug where ma_device_get_info() and ma_device_get_name() return an error.
- Fix a bug where ma_data_source_read_pcm_frames() can return MA_AT_END even when some data has
been read. MA_AT_END should only be returned when nothing has been read.
- PulseAudio: Fix some bugs where starting and stopping a device can result in a deadlock.

0.11.2

- Add a new device notification system to replace the stop callback. The stop callback is still
in place, but will be removed in version 0.12. New code should use the notificationCallback
member in the device config instead of stopCallback.
- Fix a bug where the stopped notification doesn't get fired.
- iOS: The IO buffer size is now configured based on the device's configured period size.
- WebAudio: Optimizations to some JavaScript code.

0.11.1

- Result codes are now declared as an enum rather than defines.
- Channel positions (MA_CHANNEL_*) are now declared as an enum rather than defines.
- Add ma_device_get_info() for retrieving device information from an initialized device.
- Add ma_device_get_name() for retrieving the name of an initialized device.
- Add support for setting the directional attenuation factor to sounds and groups.
- Fix a crash when passing in NULL for the pEngine parameter of ma_engine_init().
- Fix a bug where the node graph will output silence if a node has zero input connections.
- Fix a bug in the engine where sounds in front of the listener are too loud.
- AAudio: Fix an incorrect assert.
- AAudio: Fix a bug that resulted in exclusive mode always resulting in initialization failure.
- AAudio: Fix a bug that resulted in a capture device incorrectly being detected as disconnected.
- OpenSL: Fix an error when initializing a device with a non-NULL device ID.
- OpenSL: Fix some bugs with device initialization.

0.11.0

- Add a node graph system for advanced mixing and effect processing.
- Add a resource manager for loading and streaming sounds.
- Add a high level engine API for sound management and mixing. This wraps around the node graph
and resource manager.
- Add support for custom resmplers.
- Add ma_decoder_get_data_format().
- Add support for disabling denormals on the audio thread.
- Add a delay/echo effect called ma_delay.
- Add a stereo pan effect called ma_panner.
- Add a spataializer effect called ma_spatializer.
- Add support for amplification for device master volume.
- Remove dependency on MA_MAX_CHANNELS from filters and data conversion.
- Increase MA_MAX_CHANNELS from 32 to 254.
- API CHANGE: Changes have been made to the way custom data sources are made. See documentation
on how to implement custom data sources.
- API CHANGE: Remove ma_data_source_map() and ma_data_source_unmap()
- API CHANGE: Remove the `loop` parameter from ma_data_source_read_pcm_frames(). Use
ma_data_source_set_looping() to enable or disable looping.
- API CHANGE: Remove ma_channel_mix_mode_planar_blend. Use ma_channel_mix_mode_rectangular instead.
- API CHANGE: Remove MA_MIN_SAMPLE_RATE and MA_MAX_SAMPLE_RATE. Use ma_standard_sample_rate_min
and ma_standard_sample_rate_max instead.
- API CHANGE: Changes have been made to the ma_device_info structure. See documentation for
details of these changes.
- API CHANGE: Remove the `shareMode` parameter from ma_context_get_device_info().
- API CHANGE: Rename noPreZeroedOutputBuffer to noPreSilencedOutputBuffer in the device config.
- API CHANGE: Remove pBufferOut parameter from ring buffer commit functions.
- API CHANGE: Remove ma_zero_pcm_frames(). Use ma_silence_pcm_frames() instead.
- API CHANGE: Change ma_clip_samples_f32() to take input and output buffers rather than working
exclusively in-place.
- API CHANGE: Remove ma_clip_pcm_frames_f32(). Use ma_clip_samples_f32() or ma_clip_pcm_frames()
instead.
- API CHANGE: Remove the onLog callback from the context config and replaced with a more
flexible system. See the documentation for how to use logging.
- API CHANGE: Remove MA_LOG_LEVEL_VERBOSE and add MA_LOG_LEVEL_DEBUG. Logs using the
MA_LOG_LEVEL_DEBUG logging level will only be output when miniaudio is compiled with the
MA_DEBUG_OUTPUT option.
- API CHANGE: MA_LOG_LEVEL has been removed. All log levels will be posted, except for
MA_LOG_LEVEL_DEBUG which will only be output when MA_DEBUG_OUTPUT is enabled.
- API CHANGE: Rename ma_resource_format to ma_encoding_format.
- API CHANGE: Remove all encoding-specific initialization routines for decoders. Use the
encodingFormat properties in the decoder config instead.
- API CHANGE: Change ma_decoder_get_length_in_pcm_frames() to return a result code and output the
number of frames read via an output parameter.
- API CHANGE: Allocation callbacks must now implement the onRealloc() callback.
- API CHANGE: Remove ma_get_standard_channel_map() and add ma_channel_map_init_standard().
- API CHANGE: Rename ma_channel_map_valid() to ma_channel_map_is_valid().
- API CHANGE: Rename ma_channel_map_equal() to ma_channel_map_is_equal().
- API CHANGE: Rename ma_channel_map_blank() to ma_channel_map_is_blank().
- API CHANGE: Remove the Speex resampler. Use a custom resampler instead.
- API CHANGE: Change the following resampler APIs to return a result code and output their result
via an output parameter:
- ma_linear_resampler_get_required_input_frame_count()
- ma_linear_resampler_get_expected_output_frame_count()
- ma_resampler_get_required_input_frame_count()
- ma_resampler_get_expected_output_frame_count()
- API CHANGE: Update relevant init/uninit functions to take a pointer to allocation callbacks.
- API CHANGE: Remove ma_scale_buffer_size()
- API CHANGE: Update ma_encoder_write_pcm_frames() to return a result code and output the number
of frames written via an output parameter.
- API CHANGE: Update ma_noise_read_pcm_frames() to return a result code and output the number of
frames read via an output parameter.
- API CHANGE: Update ma_waveform_read_pcm_frames() to return a result code and output the number
of frames read via an output parameter.
- API CHANGE: Remove The MA_STATE_* and add ma_device_state_* enums.
- API CHANGE: Rename ma_factor_to_gain_db() to ma_volume_linear_to_db().
- API CHANGE: Rename ma_gain_db_to_factor() to ma_volume_db_to_linear().
- API CHANGE: Rename ma_device_set_master_gain_db() to ma_device_set_master_volume_db().
- API CHANGE: Rename ma_device_get_master_gain_db() to ma_device_get_master_volume_db()

0.10.43

- ALSA: Fix use of uninitialized variables.
- ALSA: Fix enumeration of devices that support both playback and capture.
- PulseAudio: Fix a possible division by zero.
- WebAudio: Fix errors in strict mode.

0.10.42

- Fix a possible deadlock when stopping devices.

Page 4 of 17

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.