chore(deps): bump wasapi from 0.17 to 0.23#56
Conversation
The free `get_default_device` function and `DeviceCollection::new` constructor were removed in wasapi 0.23. Device lookup now flows through a `DeviceEnumerator` that owns the `IMMDeviceEnumerator` COM pointer. Migration in `pick_device`: - Build a `DeviceEnumerator` once - For the default device path, call `enumerator.get_default_device` - For the friendly-name path, derive a `DeviceCollection` via `enumerator.get_device_collection(&Direction::Render)` and keep the existing `collection.get_device_with_name(name)` call. Going through `enumerator.get_device(name)` would silently fail because that variant takes an opaque device-id, not the human-readable name we persist in app_setting['audio.output_device']. Everything else (AudioClient init, is_supported, write_to_device, event loop) is API-stable across this bump. Closes dependabot #48.
|
Warning Rate limit exceeded
To continue reviewing without waiting, purchase usage credits in the billing tab. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (2)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
Same shape as the symphonia 0.6 PR (#53): the dependabot bump alone can't compile against the new release because the device-lookup API was reshaped.
wasapi 0.23 removed the free
get_default_devicefunction and theDeviceCollection::newconstructor. Device lookup now flows through aDeviceEnumeratorthat owns theIMMDeviceEnumeratorCOM pointer.Closes #48 (dependabot — bare version bump, no migration).
Migration
Only
src-tauri/src/audio/wasapi_exclusive.rs::pick_deviceneeded changes:DeviceEnumeratoronceenumerator.get_default_device(&Direction::Render)enumerator.get_device_collection(&Direction::Render)?.get_device_with_name(name)—enumerator.get_device(name)looks tempting but it takes an opaque device-id, not the human-readable name we persist inapp_setting['audio.output_device']. Going through the collection keeps the existing behaviour.Everything else (
AudioClientinit,is_supported,write_to_device, the event loop) is API-stable across this bump.Test plan
cargo check --all-targetscargo clippy --all-targets --no-deps— cleancargo test— 97 passed / 0 failed