webrtc-sdk / libwebrtc

A C++ wrapper for binary release, mainly used for flutter-webrtc desktop (windows, linux, embedded).
MIT License
378 stars 77 forks source link

选择音频设备时使用PostTask调用,防止在OnDeviceChange直接调用而死锁。 #52

Closed zjzhang-cn closed 1 year ago

zjzhang-cn commented 1 year ago

在OnDeviceChange的回调中直接调用 SetPlayoutDevice ,SetRecordingDevice 会死锁。

zjzhang-cn commented 1 year ago
    auto audio_device_ = pcFactory->GetAudioDevice();
    //设备改变后,设置使用默认设备
    audio_device_->OnDeviceChange([&]() {
      audio_device_->SetPlayoutDevice(-1);
      audio_device_->SetRecordingDevice(-1);
    });