Describe the bug
I have run the TestNetCoreConsole example program but with a handler to the AudioTrackAdded event and received the audio frames from the peer. The problem is that I receive empty frames. The same code when run with the webrtc.html JavaScript client (from the TestReceiveAV project) works fine and I receive full frames.
To Reproduce
- Open the
TestNetCoreConsole example project.
- Add the following handler to the
PeerConnection object.
pc.AudioTrackAdded += track =>
{
track.AudioFrameReady += frame =>
{
byte firstByte = Marshal.ReadByte(frame.audioData); //THIS IS ALWAYS ZERO which means empty frames are received.
};
};
- Run two instances of the project with one of the instances with the
-a switch to add an audio track.
- Run the project again but now with the
webrtc.html client (from the TestReceiveAV project) and should get frames with data.
Expected behavior
I expected to receive data in the audio frames when the audio track is added by a C# (Desktop) client.
Logging
(core_audio_input_win.cc:94): webrtc::webrtc_win::CoreAudioInput::InitRecording
(datachannel.cc:668): Sent CONTROL message on channel 0
(core_audio_input_win.cc:200): webrtc::webrtc_win::CoreAudioInput::Recording: 0
DataChannel 'data_channel_0f09bfdf-8857-498b-9eb6-84bf0cc4e5c0': StateChanged 'Open'
(core_audio_base_win.cc:297): webrtc::webrtc_win::CoreAudioBase::Init[Input]
(core_audio_utility_win.cc:611): GetDefaultInputDeviceID
(core_audio_utility_win.cc:641): CreateDevice
(core_audio_utility_win.cc:266): CreateDeviceInternal: 0
(core_audio_utility_win.cc:625): GetCommunicationsInputDeviceID
(core_audio_utility_win.cc:641): CreateDevice
(core_audio_utility_win.cc:266): CreateDeviceInternal: 2
(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: 2
(core_audio_utility_win.cc:287): IMMDeviceEnumerator::GetDevice failed: The parameter is incorrect. (0x80070057)
(webrtcvoiceengine.cc:1735): Failed to initialize recording
(audio_device_module_win.cc:327): webrtc::webrtc_win::'anonymous-namespace'::WindowsAudioDeviceModule::Recording
(core_audio_input_win.cc:230): webrtc::webrtc_win::CoreAudioInput::Restarting
(core_audio_input_win.cc:200): webrtc::webrtc_win::CoreAudioInput::Recording: 0
(audio_device_module_win.cc:275): webrtc::webrtc_win::'anonymous-namespace'::WindowsAudioDeviceModule::InitRecording
(core_audio_input_win.cc:230): webrtc::webrtc_win::CoreAudioInput::Restarting
(core_audio_input_win.cc:88): webrtc::webrtc_win::CoreAudioInput::RecordingIsInitialized: 0
(core_audio_input_win.cc:94): webrtc::webrtc_win::CoreAudioInput::InitRecording
(core_audio_input_win.cc:200): webrtc::webrtc_win::CoreAudioInput::Recording: 0
(core_audio_base_win.cc:297): webrtc::webrtc_win::CoreAudioBase::Init[Input]
(core_audio_utility_win.cc:611): GetDefaultInputDeviceID
(core_audio_utility_win.cc:641): CreateDevice
(core_audio_utility_win.cc:266): CreateDeviceInternal: 0
(core_audio_utility_win.cc:625): GetCommunicationsInputDeviceID
(core_audio_utility_win.cc:641): CreateDevice
(core_audio_utility_win.cc:266): CreateDeviceInternal: 2
(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: 2
(core_audio_utility_win.cc:287): IMMDeviceEnumerator::GetDevice failed: The parameter is incorrect. (0x80070057)
(audio_state.cc:106): webrtc::internal::AudioState::AddSendingStream: Failed to initialize recording.
Describe the bug
I have run the
TestNetCoreConsoleexample program but with a handler to theAudioTrackAddedevent and received the audio frames from the peer. The problem is that I receive empty frames. The same code when run with thewebrtc.htmlJavaScript client (from theTestReceiveAVproject) works fine and I receive full frames.To Reproduce
TestNetCoreConsoleexample project.PeerConnectionobject.-aswitch to add an audio track.webrtc.htmlclient (from theTestReceiveAVproject) and should get frames with data.Expected behavior
I expected to receive data in the audio frames when the audio track is added by a C# (Desktop) client.
Logging
(core_audio_input_win.cc:94): webrtc::webrtc_win::CoreAudioInput::InitRecording
(datachannel.cc:668): Sent CONTROL message on channel 0
(core_audio_input_win.cc:200): webrtc::webrtc_win::CoreAudioInput::Recording: 0
DataChannel 'data_channel_0f09bfdf-8857-498b-9eb6-84bf0cc4e5c0': StateChanged 'Open'
(core_audio_base_win.cc:297): webrtc::webrtc_win::CoreAudioBase::Init[Input]
(core_audio_utility_win.cc:611): GetDefaultInputDeviceID
(core_audio_utility_win.cc:641): CreateDevice
(core_audio_utility_win.cc:266): CreateDeviceInternal: 0
(core_audio_utility_win.cc:625): GetCommunicationsInputDeviceID
(core_audio_utility_win.cc:641): CreateDevice
(core_audio_utility_win.cc:266): CreateDeviceInternal: 2
(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: 2
(core_audio_utility_win.cc:287): IMMDeviceEnumerator::GetDevice failed: The parameter is incorrect. (0x80070057)
(webrtcvoiceengine.cc:1735): Failed to initialize recording
(audio_device_module_win.cc:327): webrtc::webrtc_win::'anonymous-namespace'::WindowsAudioDeviceModule::Recording
(core_audio_input_win.cc:230): webrtc::webrtc_win::CoreAudioInput::Restarting
(core_audio_input_win.cc:200): webrtc::webrtc_win::CoreAudioInput::Recording: 0
(audio_device_module_win.cc:275): webrtc::webrtc_win::'anonymous-namespace'::WindowsAudioDeviceModule::InitRecording
(core_audio_input_win.cc:230): webrtc::webrtc_win::CoreAudioInput::Restarting
(core_audio_input_win.cc:88): webrtc::webrtc_win::CoreAudioInput::RecordingIsInitialized: 0
(core_audio_input_win.cc:94): webrtc::webrtc_win::CoreAudioInput::InitRecording
(core_audio_input_win.cc:200): webrtc::webrtc_win::CoreAudioInput::Recording: 0
(core_audio_base_win.cc:297): webrtc::webrtc_win::CoreAudioBase::Init[Input]
(core_audio_utility_win.cc:611): GetDefaultInputDeviceID
(core_audio_utility_win.cc:641): CreateDevice
(core_audio_utility_win.cc:266): CreateDeviceInternal: 0
(core_audio_utility_win.cc:625): GetCommunicationsInputDeviceID
(core_audio_utility_win.cc:641): CreateDevice
(core_audio_utility_win.cc:266): CreateDeviceInternal: 2
(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: 2
(core_audio_utility_win.cc:287): IMMDeviceEnumerator::GetDevice failed: The parameter is incorrect. (0x80070057)
(audio_state.cc:106): webrtc::internal::AudioState::AddSendingStream: Failed to initialize recording.