microsoft / MixedReality-WebRTC

MixedReality-WebRTC is a collection of components to help mixed reality app developers integrate audio and video real-time communication into their application and improve their collaborative experience
https://microsoft.github.io/MixedReality-WebRTC/
MIT License
898 stars 277 forks source link

Playout to Dolby Atmos fails #814

Open thundercarrot opened 2 years ago

thundercarrot commented 2 years ago

On latest master, SetPlayout to Dolby Atmos receiver fails. I think this is a bug, because if I run the video conferencing sample at webrtc.org I hear audio on the same setup.

I believe this also prevents playback in Unity (which is otherwise able to render to the same audio device).

(audio_device_module_win.cc:305): webrtc::webrtc_win::anonymous-namespace::WindowsAudioDeviceModule::Playing (core_audio_output_win.cc:230): webrtc::webrtc_win::CoreAudioOutput::Restarting (core_audio_output_win.cc:201): webrtc::webrtc_win::CoreAudioOutput::Playing: 0 (audio_device_module_win.cc:253): webrtc::webrtc_win::anonymous-namespace::WindowsAudioDeviceModule::InitPlayout (core_audio_output_win.cc:230): webrtc::webrtc_win::CoreAudioOutput::Restarting (core_audio_output_win.cc:86): webrtc::webrtc_win::CoreAudioOutput::PlayoutIsInitialized (core_audio_output_win.cc:92): webrtc::webrtc_win::CoreAudioOutput::InitPlayout: 0 (core_audio_output_win.cc:201): webrtc::webrtc_win::CoreAudioOutput::Playing: 0 (core_audio_base_win.cc:297): webrtc::webrtc_win::CoreAudioBase::Init[Output] (core_audio_utility_win.cc:618): GetDefaultOutputDeviceID (core_audio_utility_win.cc:641): CreateDevice (core_audio_utility_win.cc:266): CreateDeviceInternal: 0 (core_audio_base_win.cc:329): Using IAudioClient2 (core_audio_utility_win.cc:772): CreateClient2 (core_audio_utility_win.cc:641): CreateDevice (core_audio_utility_win.cc:266): CreateDeviceInternal: 0 (core_audio_utility_win.cc:786): SetClientProperties (core_audio_utility_win.cc:809): supports_offload: 0 (core_audio_utility_win.cc:826): options: 0x0 (core_audio_utility_win.cc:1019): GetPreferredAudioParameters (core_audio_utility_win.cc:869): GetSharedModeMixFormat (core_audio_utility_win.cc:883): wFormatTag: WAVE_FORMAT_EXTENSIBLE, nChannels: 8, nSamplesPerSec: 48000, nAvgBytesPerSec: 1536000, nBlockAlign: 32, wBitsPerSample: 32, cbSize: 22, wValidBitsPerSample: 32, dwChannelMask: 0x63F, SubFormat: KSDATAFORMAT_SUBTYPE_IEEE_FLOAT Channel configuration: FRONT_LEFT | FRONT_RIGHT | FRONT_CENTER | LOW_FREQUENCY | BACK_LEFT | BACK_RIGHT | SIDE_LEFT | SIDE_RIGHT (8) DirectSound configuration : KSAUDIO_7POINT1_SURROUND (core_audio_utility_win.cc:928): GetDevicePeriod (core_audio_utility_win.cc:945): device_period: 10 [ms] (core_audio_utility_win.cc:947): minimum_period: 3 [ms] (core_audio_utility_win.cc:552): AudioParameters: sample_rate=48000, channels=8, frames_per_buffer=480, frames_per_10ms_buffer=480, bytes_per_frame=16, bytes_per_buffer=7680, bytes_per_10ms_buffer=7680, size_in_ms=10 (core_audio_base_win.cc:378): Using channel upmixing in WASAPI audio engine (2 => 8) (core_audio_base_win.cc:394): wFormatTag: WAVE_FORMAT_EXTENSIBLE, nChannels: 2, nSamplesPerSec: 48000, nAvgBytesPerSec: 192000, nBlockAlign: 4, wBitsPerSample: 16, cbSize: 22, wValidBitsPerSample: 16, dwChannelMask: 0x3, SubFormat: KSDATAFORMAT_SUBTYPE_PCM Channel configuration: FRONT_LEFT | FRONT_RIGHT (2) DirectSound configuration : KSAUDIO_STEREO (core_audio_utility_win.cc:891): IsFormatSupported (core_audio_utility_win.cc:908): Exact format is not supported, but a closest match exists (core_audio_utility_win.cc:910): wFormatTag: WAVE_FORMAT_EXTENSIBLE, nChannels: 8, nSamplesPerSec: 48000, nAvgBytesPerSec: 1536000, nBlockAlign: 32, wBitsPerSample: 32, cbSize: 22, wValidBitsPerSample: 32, dwChannelMask: 0x63F, SubFormat: KSDATAFORMAT_SUBTYPE_IEEE_FLOAT Channel configuration: FRONT_LEFT | FRONT_RIGHT | FRONT_CENTER | LOW_FREQUENCY | BACK_LEFT | BACK_RIGHT | SIDE_LEFT | SIDE_RIGHT (8) DirectSound configuration : KSAUDIO_7POINT1_SURROUND (audio_state.cc:73): webrtc::internal::AudioState::AddReceivingStream: Failed to initialize playout.