fix(coreaudio): declare aggregate_device_id as mut and check AudioHardwareCreateProcessTap status#1123
Open
thewh1teagle wants to merge 1 commit intoRustAudio:masterfrom
Open
Conversation
…ProcessTap status
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.
I was using cpal 0.17.3 for loopback recording on macOS and getting
The requested device is no longer availablein release builds.Two bugs in
loopback.rs:aggregate_device_idwas not declaredmut— UB when the compiler optimizes away the write in release mode, leaving the device ID as 0.AudioHardwareCreateProcessTapstatus was ignored — silent failure leads to invalid tap ID.Fixed by adding
muttoaggregate_device_id, usingNonNull::from(&mut aggregate_device_id), and propagating the tap creation status viacheck_os_status.Related