๐Ÿงช iOS Safari: setSinkId() Silent Failure Test

๐Ÿ› Bug Description:

On iOS Safari, when an audio element receives a remote MediaStream via WebRTC with only ONE audio track, setSinkId() appears to succeed (Promise resolves, sinkId property updates) but the audio output doesn't actually switch. With TWO tracks, it works correctly.

This is a silent failure - no errors thrown, making it very difficult to detect.

Test Method: Local WebRTC peer connection. Single track vs dual track. Physically listen to verify if audio actually switches devices.

Device Info:
Detecting...
๐Ÿ“ค SENDER (Local Peer) Disconnected
Load & Send Files:
No stream loaded
Ready to send
๐Ÿ“ฅ RECEIVER (Remote Peer - Test Here!) Disconnected
Received Stream:
Waiting for remote stream...
No remote stream yet
โš ๏ธ How to verify: After switching speakers, put your ear near the device. If you can hear audio clearly = bug (didn't switch). If audio is faint/distant = working (switched correctly).
Get Device Permissions (Optional):

โ„น๏ธ Get mic permission to see full device labels. Switching mic only captures it for testing; audio won't be played.

Speaker Control:

Waiting for connection
๐Ÿ“Š Test Results Summary

No tests performed yet. Send streams and try switching speakers.

๐Ÿ“ Debug Log