Skip to content

Conversation

@roxanneskelly
Copy link
Contributor

The mac audio device manager was being "helpful" by restarting playout and recording if the Default device was changed, assuming the application wouldn't care.
However, we received an update of device change, and attempted to stop and start playout anyway, causing a conflict. The fix was simply to not deploy new devices when the device id didn't change.

This hopefully fixes #4652

Testing Guidance (both mac and windows)

Default Device

  • Plug in a headset.
  • Set it to the default system device.
  • Start the viewer
  • Select the default devices in preferences
  • Validate WebRTC speech works.
  • Unplug the headset
  • Validate that WebRTC speech works through the system's other devices (laptop speaker / microphone)
  • Replug the headset
  • Validate that WebRTC speech works through the headset.
  • Do this many times.

Non-default device

  • Plug in headset
  • Start the viewer
  • Set the device to the headset explicitly in preferences.
  • Validate WebRTC speech works.
  • Unplug the headset.
  • Validate WebRTC speech works through the alternate devices.
  • Validate that preferences revert back to Default.
  • Plug in the headset.
  • WebRTC speech will work through the Default device
  • Set the device to the headset (speaker and microphone)
  • WebRTC speech will work through the headset.

In preferences.

  • Bring up preferences.
  • Set the default device.
  • Validate that microphone records from the default (headset) device (mute it to see the bars go away)
  • Unplug the device.
  • Validate the microphone reverts to the laptop or other mic.
  • Plug in the device. Validate it returns to the headset mic.
  • Set the devices to the headset
  • Unplug
  • Validate the devices revert to Default and bars come from the computer microphone.
  • Plug in
  • Validate we're using the default device (headset)
  • Switch to computer microphone and speaker.
  • Validate
  • Unplug the headset.
  • Validate things still work
  • Replug the headset
  • Validate things still work as expected.

…g microphone.

The mac audio device manager was being "helpful" by restarting
playout and recording if the Default device was changed, assuming
the application wouldn't care.
However, we received an update of device change, and attempted to
stop and start playout anyway, causing a conflict.
The fix was simply to not deploy new devices when the device id didn't
change.
@github-actions github-actions bot added the c/cpp label Oct 26, 2025
@roxanneskelly roxanneskelly added the bug Something isn't working label Oct 26, 2025
@roxanneskelly roxanneskelly added this to the 2025.08 milestone Oct 26, 2025
@akleshchev
Copy link
Contributor

akleshchev commented Oct 26, 2025

This might not cover a mixed scenario, like plugging in a headset just for it's non-default microphone.

@Geenz Geenz merged commit 1649124 into release/2025.08 Oct 28, 2025
12 checks passed
@Geenz Geenz deleted the roxie/2025.08-webrtc-fix branch October 28, 2025 17:03
@github-actions github-actions bot locked and limited conversation to collaborators Oct 28, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

bug Something isn't working c/cpp

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants