Repository navigation
Conversation
…here re-route thread would read ma_device while being destroyed from main thread.
Re-route lock moved outside ma_device_reinit__aaudio call to avoid potential race condition. Also cleaned up the reroute code a bit.
…ound init to fail.
Public issue #979
These were undefined when linking with the -static flag on:
1. Alpine Linux v3.21 x86_64
2. Debian GNU/Linux 12 (bookworm) aarch64
In both cases I had to manually compile alsa-lib as a static library
because the systems have only .so versions. I did it with:
cd path/to/alsa-libs
./gitcompile static
<this will create alsa-libs/src/.libs/libasound.a>
Tested with alsa-libs 1.12.2 and 1.12.3.
It's possible to reproduce the errors like this:
clang -static -DMA_NO_RUNTIME_LINKING -DMA_ENABLE_ONLY_SPECIFIC_BACKENDS -DMA_ENABLE_ALSA -DMA_DEBUG_OUTPUT -Wall -Wextra -g3 simple_playback_sine.c -o build/miniwave -fcolor-diagnostics -ferror-limit=2 -fuse-ld=lld -I../
-L/home/antharas/code/alsa-lib/src/.libs/ -lasound
However, even though it compiles I can't verify that everything works.
1. Alpine has musl which doesn't support runtime linking when
compiling with -static. So even though I disabled it for
miniaudio.h, libasound.a itself uses dlopen on
libasound_module_pcm_pipewire.so.
2. Debian uses glibc so it supports it but fails because my machine is
a VPS that doesn't have a soundcard.
No big deal, I don't really need to statically link, it was just
something I stumbled upon.
Also these are currently unused:
_snd_pcm_hw_params_set_rate_minmax
ma_timer_init
ma_timer_get_time_in_seconds
ma_device__on_notification_rerouted
MA_NO_PTHREAD_REALTIME_PRIORITY_FALLBACK can be used to disable this functionality for applications that have a hard requirement on a realtime thread.
Public issue #980
This is untested.
My understanding is that "pause" was introduced with the Pentium 4 and assembles to opcode F390 which is the same as "rep; nop". I believe this should be backwards compatible. Using "pause" here introduces an compilation error when targeting architectures older than Pentium 4.
Public issue #1162
An operation can complete without supplying device information. Initialize the output and return MA_NO_DEVICE when the callback leaves it empty, rather than passing uninitialized sample specifications to stream creation.
Device initialization opens its own PulseAudio connection, but queries the source and sink through the ma_context connection. After a server restart that older connection can fail even though the new one is ready. Pass the owning connection and main loop to the info helpers.
Public issue #1183
Public issue #1179
85F9
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.1)
Can you help keep this open source service alive? 💖 Please sponsor : )