Skip to content
This repository has been archived by the owner on Jun 5, 2020. It is now read-only.

WebRTC freezing after "A free DTLS identity was saved" #30

Open
bfishman opened this issue Mar 16, 2016 · 6 comments
Open

WebRTC freezing after "A free DTLS identity was saved" #30

bfishman opened this issue Mar 16, 2016 · 6 comments

Comments

@bfishman
Copy link

I'm getting a freeze - which actually hangs the entire terminal in which I'm running the node server, requiring a forceful closing of that process. Possible race condition?

Here's the last few lines from the debug (WebRTC.setDebug(true). Below that is the full trace from the start of execution (server hangs as soon as a client connects, apparently).

(MediaConstraints.cc:417): virtual const webrtc::MediaConstraintsInterface::Constraints &WebRTC::MediaConstraints::GetOptional() const
(webrtcsessiondescriptionfactory.cc:192): DTLS-SRTP enabled; sending DTLS identity request (key type: 0).
(dtlsidentitystore.cc:167): Using a free DTLS identity.
(dtlsidentitystore.cc:218): A DTLS identity is returned to an observer.
(webrtcsessiondescriptionfactory.cc:503): Setting new certificate
(dtlsidentitystore.cc:53): Generating identity, using keytype 0
(opensslidentity.cc:41): Making key pair
(opensslidentity.cc:82): Returning key pair
(opensslidentity.cc:89): Making certificate for WebRTC
(opensslidentity.cc:137): Returning certificate
(dtlsidentitystore.cc:212): A free DTLS identity was saved.

full log:

using webrtc-native
(opensslidentity.cc:82): Returning key pair
(opensslidentity.cc:89): Making certificate for WebRTC
(opensslidentity.cc:137): Returning certificate
(dtlsidentitystore.cc:212): A free DTLS identity was saved.
(PeerConnection.cc:174): static void WebRTC::PeerConnection::New(const Nan::FunctionCallbackInfo<Value> &)
(EventEmitter.cc:31): WebRTC::EventEmitter::EventEmitter(uv_loop_t *, bool)
(EventEmitter.cc:137): void WebRTC::EventEmitter::SetReference(bool)
(PeerConnection.cc:82): WebRTC::PeerConnection::PeerConnection(const Local<v8::Object> &, const Local<v8::Object> &)
(MediaConstraints.cc:49): static rtc::scoped_refptr<MediaConstraints> WebRTC::MediaConstraints::New(const Local<v8::Object> &)
(MediaConstraints.cc:43): static rtc::scoped_refptr<MediaConstraints> WebRTC::MediaConstraints::New()
(MediaConstraints.cc:35): WebRTC::MediaConstraints::MediaConstraints()
(MediaConstraints.cc:339): bool WebRTC::MediaConstraints::GetOptional(const std::string &)
(MediaConstraints.cc:327): bool WebRTC::MediaConstraints::IsOptional(const std::string &)
(MediaConstraints.cc:374): void WebRTC::MediaConstraints::SetOptional(const std::string &, const std::string &)
(MediaConstraints.cc:353): void WebRTC::MediaConstraints::RemoveOptional(const std::string &)
(MediaConstraints.cc:368): void WebRTC::MediaConstraints::AddOptional(const std::string &, const std::string &)
(EventEmitter.cc:31): WebRTC::EventEmitter::EventEmitter(uv_loop_t *, bool)
(EventEmitter.cc:249): WebRTC::NotifyEmitter::NotifyEmitter(WebRTC::EventEmitter *)
(EventEmitter.cc:66): void WebRTC::EventEmitter::AddListener(WebRTC::EventEmitter *)
(EventEmitter.cc:184): void WebRTC::EventEmitter::AddParent(WebRTC::EventEmitter *)
(EventEmitter.cc:31): WebRTC::EventEmitter::EventEmitter(uv_loop_t *, bool)
(EventEmitter.cc:249): WebRTC::NotifyEmitter::NotifyEmitter(WebRTC::EventEmitter *)
(EventEmitter.cc:66): void WebRTC::EventEmitter::AddListener(WebRTC::EventEmitter *)
(EventEmitter.cc:184): void WebRTC::EventEmitter::AddParent(WebRTC::EventEmitter *)
(EventEmitter.cc:31): WebRTC::EventEmitter::EventEmitter(uv_loop_t *, bool)
(EventEmitter.cc:249): WebRTC::NotifyEmitter::NotifyEmitter(WebRTC::EventEmitter *)
(EventEmitter.cc:66): void WebRTC::EventEmitter::AddListener(WebRTC::EventEmitter *)
(EventEmitter.cc:184): void WebRTC::EventEmitter::AddParent(WebRTC::EventEmitter *)
(EventEmitter.cc:31): WebRTC::EventEmitter::EventEmitter(uv_loop_t *, bool)
(EventEmitter.cc:249): WebRTC::NotifyEmitter::NotifyEmitter(WebRTC::EventEmitter *)
(EventEmitter.cc:66): void WebRTC::EventEmitter::AddListener(WebRTC::EventEmitter *)
(EventEmitter.cc:184): void WebRTC::EventEmitter::AddParent(WebRTC::EventEmitter *)
(EventEmitter.cc:31): WebRTC::EventEmitter::EventEmitter(uv_loop_t *, bool)
(EventEmitter.cc:249): WebRTC::NotifyEmitter::NotifyEmitter(WebRTC::EventEmitter *)
(EventEmitter.cc:66): void WebRTC::EventEmitter::AddListener(WebRTC::EventEmitter *)
(EventEmitter.cc:184): void WebRTC::EventEmitter::AddParent(WebRTC::EventEmitter *)
(EventEmitter.cc:31): WebRTC::EventEmitter::EventEmitter(uv_loop_t *, bool)
(EventEmitter.cc:249): WebRTC::NotifyEmitter::NotifyEmitter(WebRTC::EventEmitter *)
(EventEmitter.cc:66): void WebRTC::EventEmitter::AddListener(WebRTC::EventEmitter *)
(EventEmitter.cc:184): void WebRTC::EventEmitter::AddParent(WebRTC::EventEmitter *)
(Core.cc:61): static ThreadPool *ThreadPool::GetPool()
(Core.cc:117): ThreadConstructor::ThreadConstructor()
(Core.cc:129): rtc::Thread *ThreadConstructor::Current() const
(Core.cc:77): rtc::Thread *ThreadPool::GetWorker()
(Core.cc:143): PeerConnectionFactory::PeerConnectionFactory()
(webrtcvoiceengine.cc:535): WebRtcVoiceEngine::WebRtcVoiceEngine
(webrtcvoiceengine.cc:256): WebRtc VoiceEngine codecs:
(webrtcvoiceengine.cc:283): ISAC/16000/1 (103)
(webrtcvoiceengine.cc:283): ISAC/32000/1 (104)
(webrtcvoiceengine.cc:283): PCMU/8000/1 (0)
(webrtcvoiceengine.cc:283): PCMA/8000/1 (8)
(webrtcvoiceengine.cc:307): Unexpected codec: PCMU/8000/2 (110)
(webrtcvoiceengine.cc:307): Unexpected codec: PCMA/8000/2 (118)
(webrtcvoiceengine.cc:283): ILBC/8000/1 (102)
(webrtcvoiceengine.cc:283): G722/8000/1 (9)
(webrtcvoiceengine.cc:307): Unexpected codec: G722/8000/2 (119)
(webrtcvoiceengine.cc:283): opus/48000/2 (111)
(webrtcvoiceengine.cc:283): CN/8000/1 (13)
(webrtcvoiceengine.cc:283): CN/16000/1 (105)
(webrtcvoiceengine.cc:283): CN/32000/1 (106)
(webrtcvoiceengine.cc:283): telephone-event/8000/1 (126)
(webrtcvoiceengine.cc:283): red/8000/1 (127)
(webrtcvideoengine2.cc:496): WebRtcVideoEngine2::WebRtcVideoEngine2()
(webrtcvoiceengine.cc:562): WebRtcVoiceEngine::Init
(webrtcvoiceengine.cc:577): VoiceEngine 4.1.0
(webrtcvoiceengine.cc:1019): webrtc: CheckPlatform
(webrtcvoiceengine.cc:1019): webrtc: current platform is LINUX
(webrtcvoiceengine.cc:1019): webrtc: CreatePlatformSpecificObjects
(webrtcvoiceengine.cc:1019): webrtc: attempting to use the Linux PulseAudio APIs...
(webrtcvoiceengine.cc:1019): webrtc: SetPulseAudioObjects
(webrtcvoiceengine.cc:1019): webrtc:   the PulseAudio objects for the mixer has been set
(webrtcvoiceengine.cc:1019): webrtc:   checking PulseAudio version: 6.0
(webrtcvoiceengine.cc:1019): webrtc: Linux PulseAudio APIs will be utilized
(webrtcvoiceengine.cc:1019): webrtc: AttachAudioBuffer
(webrtcvoiceengine.cc:1019): webrtc:   number of availiable output devices is 2
(webrtcvoiceengine.cc:1019): webrtc: AudioMixerManagerLinuxPulse::OpenSpeaker(deviceIndex=0)
(webrtcvoiceengine.cc:1019): webrtc:   the output mixer device is now open
(webrtcvoiceengine.cc:1019): webrtc:   number of availiable input devices is 2
(webrtcvoiceengine.cc:1019): webrtc: AudioMixerManagerLinuxPulse::OpenMicrophone(deviceIndex=1)
(webrtcvoiceengine.cc:1019): webrtc:   the input mixer device is now open
(webrtcvoiceengine.cc:1019): webrtc: output: available=1
(webrtcvoiceengine.cc:1019): webrtc:  AudioMixerManagerLinuxPulse::StereoRecordingIsAvailable() => available=79360, available
(webrtcvoiceengine.cc:1019): webrtc: output: available=1
(webrtcvoiceengine.cc:1019): webrtc: TransmitMixer::SetAudioProcessingModule(audioProcessingModule=0xc41798d0)
(webrtcvoiceengine.cc:1019): webrtc: OutputMixer::SetAudioProcessingModule(audioProcessingModule=0xc41798d0)
(webrtcvoiceengine.cc:650): ApplyOptions: AudioOptions {aec: true, agc: true, ns: true, hf: true, swap: false, audio_jitter_buffer_max_packets: 50, audio_jitter_buffer_fast_accelerate: false, typing: true, agc_delta: 0, experimental_agc: false, extended_filter_aec: false, delay_agnostic_aec: false, experimental_ns: false, }
(audio_device_generic.cc:51): BuiltInAECIsAvailable: Not supported on this platform
(webrtcvoiceengine.cc:723): Echo control set to 1 with mode 2
(audio_device_generic.cc:66): BuiltInAGCIsAvailable: Not supported on this platform
(webrtcvoiceengine.cc:758): Auto gain set to 1 with mode 2
(audio_device_generic.cc:76): BuiltInNSIsAvailable: Not supported on this platform
(webrtcvoiceengine.cc:805): Noise suppression set to 1 with mode 5
(webrtcvoiceengine.cc:811): High pass filter enabled? 1
(webrtcvoiceengine.cc:819): Stereo swapping enabled? 0
(webrtcvoiceengine.cc:828): NetEq capacity is 50
(webrtcvoiceengine.cc:836): NetEq fast mode? 0
(webrtcvoiceengine.cc:844): Typing detection is enabled? 1
(webrtcvoiceengine.cc:853): Adjust agc delta is 0
(webrtcvoiceengine.cc:1044): Adjusting AGC level from default -2dB to -2dB
(webrtcvoiceengine.cc:864): Delay agnostic aec is enabled? 0
(webrtcvoiceengine.cc:873): Extended filter aec is enabled? 0
(webrtcvoiceengine.cc:882): Experimental ns is enabled? 0
(webrtcvoiceengine.cc:613): WebRtc VoiceEngine codecs:
(webrtcvoiceengine.cc:615): opus/48000/2 (111)
(webrtcvoiceengine.cc:615): ISAC/16000/1 (103)
(webrtcvoiceengine.cc:615): ISAC/32000/1 (104)
(webrtcvoiceengine.cc:615): G722/8000/1 (9)
(webrtcvoiceengine.cc:615): ILBC/8000/1 (102)
(webrtcvoiceengine.cc:615): PCMU/8000/1 (0)
(webrtcvoiceengine.cc:615): PCMA/8000/1 (8)
(webrtcvoiceengine.cc:615): CN/32000/1 (106)
(webrtcvoiceengine.cc:615): CN/16000/1 (105)
(webrtcvoiceengine.cc:615): CN/8000/1 (13)
(webrtcvoiceengine.cc:615): red/8000/1 (127)
(webrtcvoiceengine.cc:615): telephone-event/8000/1 (126)
(webrtcvoiceengine.cc:919): Setting microphone to (id=0) and speaker to (id=0)
(webrtcvoiceengine.cc:938): Set microphone to (id=0) and speaker to (id=0)
(webrtcvoiceengine.cc:565): WebRtcVoiceEngine::Init Done!
(webrtcvideoengine2.cc:505): WebRtcVideoEngine2::Init
(Wrap.h:35): void WebRTC::RTCWrap::Wrap(v8::Local<v8::Object>, const char *)
(PeerConnection.cc:884): static void WebRTC::PeerConnection::SetOnIceCandidate(Local<v8::String>, Local<v8::Value>, const Nan::PropertyCallbackInfo<void> &)
(Wrap.h:59): static T *WebRTC::RTCWrap::Unwrap(v8::Local<v8::Object>, const char *) [T = WebRTC::PeerConnection]
(Wrap.h:53): T *WebRTC::RTCWrap::Unwrap() [T = WebRTC::PeerConnection]
(dtlsidentitystore.cc:53): Generating identity, using keytype 0
(opensslidentity.cc:41): Making key pair
(opensslidentity.cc:82): Returning key pair
(opensslidentity.cc:89): Making certificate for WebRTC
(opensslidentity.cc:137): Returning certificate
(dtlsidentitystore.cc:212): A free DTLS identity was saved.
(PeerConnection.cc:443): static void WebRTC::PeerConnection::CreateDataChannel(const Nan::FunctionCallbackInfo<Value> &)
(Wrap.h:59): static T *WebRTC::RTCWrap::Unwrap(v8::Local<v8::Object>, const char *) [T = WebRTC::PeerConnection]
(Wrap.h:53): T *WebRTC::RTCWrap::Unwrap() [T = WebRTC::PeerConnection]
(PeerConnection.cc:159): webrtc::PeerConnectionInterface *WebRTC::PeerConnection::GetSocket()
(EventEmitter.cc:137): void WebRTC::EventEmitter::SetReference(bool)
(MediaConstraints.cc:405): const webrtc::MediaConstraintsInterface *WebRTC::MediaConstraints::ToConstraints() const
(MediaConstraints.cc:411): virtual const webrtc::MediaConstraintsInterface::Constraints &WebRTC::MediaConstraints::GetMandatory() const
(MediaConstraints.cc:417): virtual const webrtc::MediaConstraintsInterface::Constraints &WebRTC::MediaConstraints::GetOptional() const
(MediaConstraints.cc:411): virtual const webrtc::MediaConstraintsInterface::Constraints &WebRTC::MediaConstraints::GetMandatory() const
(MediaConstraints.cc:417): virtual const webrtc::MediaConstraintsInterface::Constraints &WebRTC::MediaConstraints::GetOptional() const
(MediaConstraints.cc:411): virtual const webrtc::MediaConstraintsInterface::Constraints &WebRTC::MediaConstraints::GetMandatory() const
(MediaConstraints.cc:417): virtual const webrtc::MediaConstraintsInterface::Constraints &WebRTC::MediaConstraints::GetOptional() const
(MediaConstraints.cc:411): virtual const webrtc::MediaConstraintsInterface::Constraints &WebRTC::MediaConstraints::GetMandatory() const
(MediaConstraints.cc:417): virtual const webrtc::MediaConstraintsInterface::Constraints &WebRTC::MediaConstraints::GetOptional() const
(MediaConstraints.cc:411): virtual const webrtc::MediaConstraintsInterface::Constraints &WebRTC::MediaConstraints::GetMandatory() const
(MediaConstraints.cc:417): virtual const webrtc::MediaConstraintsInterface::Constraints &WebRTC::MediaConstraints::GetOptional() const
(MediaConstraints.cc:411): virtual const webrtc::MediaConstraintsInterface::Constraints &WebRTC::MediaConstraints::GetMandatory() const
(MediaConstraints.cc:417): virtual const webrtc::MediaConstraintsInterface::Constraints &WebRTC::MediaConstraints::GetOptional() const
(MediaConstraints.cc:411): virtual const webrtc::MediaConstraintsInterface::Constraints &WebRTC::MediaConstraints::GetMandatory() const
(MediaConstraints.cc:417): virtual const webrtc::MediaConstraintsInterface::Constraints &WebRTC::MediaConstraints::GetOptional() const
(MediaConstraints.cc:411): virtual const webrtc::MediaConstraintsInterface::Constraints &WebRTC::MediaConstraints::GetMandatory() const
(MediaConstraints.cc:417): virtual const webrtc::MediaConstraintsInterface::Constraints &WebRTC::MediaConstraints::GetOptional() const
(webrtcsessiondescriptionfactory.cc:192): DTLS-SRTP enabled; sending DTLS identity request (key type: 0).
(dtlsidentitystore.cc:167): Using a free DTLS identity.
(dtlsidentitystore.cc:218): A DTLS identity is returned to an observer.
(webrtcsessiondescriptionfactory.cc:503): Setting new certificate
(dtlsidentitystore.cc:53): Generating identity, using keytype 0
(opensslidentity.cc:41): Making key pair
(opensslidentity.cc:82): Returning key pair
(opensslidentity.cc:89): Making certificate for WebRTC
(opensslidentity.cc:137): Returning certificate
(dtlsidentitystore.cc:212): A free DTLS identity was saved.

@vmolsa
Copy link
Owner

vmolsa commented Mar 16, 2016

Maybe should try with webrtc branch 50 or 49
https://chromium.googlesource.com/external/webrtc/+/branch-heads/50
16.3.2016 7.28 "bfishman" [email protected] kirjoitti:

I'm getting a freeze - which actually hangs the entire terminal in which
I'm running the node server, requiring a forceful closing of that process.
Possible infinite loop?

Here's the last few lines from the debug (WebRTC.setDebug(true). Below
that is the full trace from the start of execution (server hangs as soon as
a client connects, apparently).

(MediaConstraints.cc:417): virtual const webrtc::MediaConstraintsInterface::Constraints &WebRTC::MediaConstraints::GetOptional() const
(webrtcsessiondescriptionfactory.cc:192): DTLS-SRTP enabled; sending DTLS identity request (key type: 0).
(dtlsidentitystore.cc:167): Using a free DTLS identity.
(dtlsidentitystore.cc:218): A DTLS identity is returned to an observer.
(webrtcsessiondescriptionfactory.cc:503): Setting new certificate
(dtlsidentitystore.cc:53): Generating identity, using keytype 0
(opensslidentity.cc:41): Making key pair
(opensslidentity.cc:82): Returning key pair
(opensslidentity.cc:89): Making certificate for WebRTC
(opensslidentity.cc:137): Returning certificate
(dtlsidentitystore.cc:212): A free DTLS identity was saved.

full log:

using webrtc-native
(opensslidentity.cc:82): Returning key pair
(opensslidentity.cc:89): Making certificate for WebRTC
(opensslidentity.cc:137): Returning certificate
(dtlsidentitystore.cc:212): A free DTLS identity was saved.
App: app argument 0: node
App: app argument 1: /home/bfishman/webroot/NetObjects-Test/src/server.js
App: server started on port 1337
(PeerConnection.cc:174): static void WebRTC::PeerConnection::New(const Nan::FunctionCallbackInfo &)
(EventEmitter.cc:31): WebRTC::EventEmitter::EventEmitter(uv_loop_t *, bool)
(EventEmitter.cc:137): void WebRTC::EventEmitter::SetReference(bool)
(PeerConnection.cc:82): WebRTC::PeerConnection::PeerConnection(const Localv8::Object &, const Localv8::Object &)
(MediaConstraints.cc:49): static rtc::scoped_refptr WebRTC::MediaConstraints::New(const Localv8::Object &)
(MediaConstraints.cc:43): static rtc::scoped_refptr WebRTC::MediaConstraints::New()
(MediaConstraints.cc:35): WebRTC::MediaConstraints::MediaConstraints()
(MediaConstraints.cc:339): bool WebRTC::MediaConstraints::GetOptional(const std::string &)
(MediaConstraints.cc:327): bool WebRTC::MediaConstraints::IsOptional(const std::string &)
(MediaConstraints.cc:374): void WebRTC::MediaConstraints::SetOptional(const std::string &, const std::string &)
(MediaConstraints.cc:353): void WebRTC::MediaConstraints::RemoveOptional(const std::string &)
(MediaConstraints.cc:368): void WebRTC::MediaConstraints::AddOptional(const std::string &, const std::string &)
(EventEmitter.cc:31): WebRTC::EventEmitter::EventEmitter(uv_loop_t *, bool)
(EventEmitter.cc:249): WebRTC::NotifyEmitter::NotifyEmitter(WebRTC::EventEmitter *)
(EventEmitter.cc:66): void WebRTC::EventEmitter::AddListener(WebRTC::EventEmitter *)
(EventEmitter.cc:184): void WebRTC::EventEmitter::AddParent(WebRTC::EventEmitter *)
(EventEmitter.cc:31): WebRTC::EventEmitter::EventEmitter(uv_loop_t *, bool)
(EventEmitter.cc:249): WebRTC::NotifyEmitter::NotifyEmitter(WebRTC::EventEmitter *)
(EventEmitter.cc:66): void WebRTC::EventEmitter::AddListener(WebRTC::EventEmitter *)
(EventEmitter.cc:184): void WebRTC::EventEmitter::AddParent(WebRTC::EventEmitter *)
(EventEmitter.cc:31): WebRTC::EventEmitter::EventEmitter(uv_loop_t *, bool)
(EventEmitter.cc:249): WebRTC::NotifyEmitter::NotifyEmitter(WebRTC::EventEmitter *)
(EventEmitter.cc:66): void WebRTC::EventEmitter::AddListener(WebRTC::EventEmitter *)
(EventEmitter.cc:184): void WebRTC::EventEmitter::AddParent(WebRTC::EventEmitter *)
(EventEmitter.cc:31): WebRTC::EventEmitter::EventEmitter(uv_loop_t *, bool)
(EventEmitter.cc:249): WebRTC::NotifyEmitter::NotifyEmitter(WebRTC::EventEmitter *)
(EventEmitter.cc:66): void WebRTC::EventEmitter::AddListener(WebRTC::EventEmitter *)
(EventEmitter.cc:184): void WebRTC::EventEmitter::AddParent(WebRTC::EventEmitter *)
(EventEmitter.cc:31): WebRTC::EventEmitter::EventEmitter(uv_loop_t *, bool)
(EventEmitter.cc:249): WebRTC::NotifyEmitter::NotifyEmitter(WebRTC::EventEmitter *)
(EventEmitter.cc:66): void WebRTC::EventEmitter::AddListener(WebRTC::EventEmitter *)
(EventEmitter.cc:184): void WebRTC::EventEmitter::AddParent(WebRTC::EventEmitter *)
(EventEmitter.cc:31): WebRTC::EventEmitter::EventEmitter(uv_loop_t *, bool)
(EventEmitter.cc:249): WebRTC::NotifyEmitter::NotifyEmitter(WebRTC::EventEmitter *)
(EventEmitter.cc:66): void WebRTC::EventEmitter::AddListener(WebRTC::EventEmitter *)
(EventEmitter.cc:184): void WebRTC::EventEmitter::AddParent(WebRTC::EventEmitter *)
(Core.cc:61): static ThreadPool *ThreadPool::GetPool()
(Core.cc:117): ThreadConstructor::ThreadConstructor()
(Core.cc:129): rtc::Thread *ThreadConstructor::Current() const
(Core.cc:77): rtc::Thread *ThreadPool::GetWorker()
(Core.cc:143): PeerConnectionFactory::PeerConnectionFactory()
(webrtcvoiceengine.cc:535): WebRtcVoiceEngine::WebRtcVoiceEngine
(webrtcvoiceengine.cc:256): WebRtc VoiceEngine codecs:
(webrtcvoiceengine.cc:283): ISAC/16000/1 (103)
(webrtcvoiceengine.cc:283): ISAC/32000/1 (104)
(webrtcvoiceengine.cc:283): PCMU/8000/1 (0)
(webrtcvoiceengine.cc:283): PCMA/8000/1 (8)
(webrtcvoiceengine.cc:307): Unexpected codec: PCMU/8000/2 (110)
(webrtcvoiceengine.cc:307): Unexpected codec: PCMA/8000/2 (118)
(webrtcvoiceengine.cc:283): ILBC/8000/1 (102)
(webrtcvoiceengine.cc:283): G722/8000/1 (9)
(webrtcvoiceengine.cc:307): Unexpected codec: G722/8000/2 (119)
(webrtcvoiceengine.cc:283): opus/48000/2 (111)
(webrtcvoiceengine.cc:283): CN/8000/1 (13)
(webrtcvoiceengine.cc:283): CN/16000/1 (105)
(webrtcvoiceengine.cc:283): CN/32000/1 (106)
(webrtcvoiceengine.cc:283): telephone-event/8000/1 (126)
(webrtcvoiceengine.cc:283): red/8000/1 (127)
(webrtcvideoengine2.cc:496): WebRtcVideoEngine2::WebRtcVideoEngine2()
(webrtcvoiceengine.cc:562): WebRtcVoiceEngine::Init
(webrtcvoiceengine.cc:577): VoiceEngine 4.1.0
(webrtcvoiceengine.cc:1019): webrtc: CheckPlatform
(webrtcvoiceengine.cc:1019): webrtc: current platform is LINUX
(webrtcvoiceengine.cc:1019): webrtc: CreatePlatformSpecificObjects
(webrtcvoiceengine.cc:1019): webrtc: attempting to use the Linux PulseAudio APIs...
(webrtcvoiceengine.cc:1019): webrtc: SetPulseAudioObjects
(webrtcvoiceengine.cc:1019): webrtc: the PulseAudio objects for the mixer has been set
(webrtcvoiceengine.cc:1019): webrtc: checking PulseAudio version: 6.0
(webrtcvoiceengine.cc:1019): webrtc: Linux PulseAudio APIs will be utilized
(webrtcvoiceengine.cc:1019): webrtc: AttachAudioBuffer
(webrtcvoiceengine.cc:1019): webrtc: number of availiable output devices is 2
(webrtcvoiceengine.cc:1019): webrtc: AudioMixerManagerLinuxPulse::OpenSpeaker(deviceIndex=0)
(webrtcvoiceengine.cc:1019): webrtc: the output mixer device is now open
(webrtcvoiceengine.cc:1019): webrtc: number of availiable input devices is 2
(webrtcvoiceengine.cc:1019): webrtc: AudioMixerManagerLinuxPulse::OpenMicrophone(deviceIndex=1)
(webrtcvoiceengine.cc:1019): webrtc: the input mixer device is now open
(webrtcvoiceengine.cc:1019): webrtc: output: available=1
(webrtcvoiceengine.cc:1019): webrtc: AudioMixerManagerLinuxPulse::StereoRecordingIsAvailable() => available=79360, available
(webrtcvoiceengine.cc:1019): webrtc: output: available=1
(webrtcvoiceengine.cc:1019): webrtc: TransmitMixer::SetAudioProcessingModule(audioProcessingModule=0xc41798d0)
(webrtcvoiceengine.cc:1019): webrtc: OutputMixer::SetAudioProcessingModule(audioProcessingModule=0xc41798d0)
(webrtcvoiceengine.cc:650): ApplyOptions: AudioOptions {aec: true, agc: true, ns: true, hf: true, swap: false, audio_jitter_buffer_max_packets: 50, audio_jitter_buffer_fast_accelerate: false, typing: true, agc_delta: 0, experimental_agc: false, extended_filter_aec: false, delay_agnostic_aec: false, experimental_ns: false, }
(audio_device_generic.cc:51): BuiltInAECIsAvailable: Not supported on this platform
(webrtcvoiceengine.cc:723): Echo control set to 1 with mode 2
(audio_device_generic.cc:66): BuiltInAGCIsAvailable: Not supported on this platform
(webrtcvoiceengine.cc:758): Auto gain set to 1 with mode 2
(audio_device_generic.cc:76): BuiltInNSIsAvailable: Not supported on this platform
(webrtcvoiceengine.cc:805): Noise suppression set to 1 with mode 5
(webrtcvoiceengine.cc:811): High pass filter enabled? 1
(webrtcvoiceengine.cc:819): Stereo swapping enabled? 0
(webrtcvoiceengine.cc:828): NetEq capacity is 50
(webrtcvoiceengine.cc:836): NetEq fast mode? 0
(webrtcvoiceengine.cc:844): Typing detection is enabled? 1
(webrtcvoiceengine.cc:853): Adjust agc delta is 0
(webrtcvoiceengine.cc:1044): Adjusting AGC level from default -2dB to -2dB
(webrtcvoiceengine.cc:864): Delay agnostic aec is enabled? 0
(webrtcvoiceengine.cc:873): Extended filter aec is enabled? 0
(webrtcvoiceengine.cc:882): Experimental ns is enabled? 0
(webrtcvoiceengine.cc:613): WebRtc VoiceEngine codecs:
(webrtcvoiceengine.cc:615): opus/48000/2 (111)
(webrtcvoiceengine.cc:615): ISAC/16000/1 (103)
(webrtcvoiceengine.cc:615): ISAC/32000/1 (104)
(webrtcvoiceengine.cc:615): G722/8000/1 (9)
(webrtcvoiceengine.cc:615): ILBC/8000/1 (102)
(webrtcvoiceengine.cc:615): PCMU/8000/1 (0)
(webrtcvoiceengine.cc:615): PCMA/8000/1 (8)
(webrtcvoiceengine.cc:615): CN/32000/1 (106)
(webrtcvoiceengine.cc:615): CN/16000/1 (105)
(webrtcvoiceengine.cc:615): CN/8000/1 (13)
(webrtcvoiceengine.cc:615): red/8000/1 (127)
(webrtcvoiceengine.cc:615): telephone-event/8000/1 (126)
(webrtcvoiceengine.cc:919): Setting microphone to (id=0) and speaker to (id=0)
(webrtcvoiceengine.cc:938): Set microphone to (id=0) and speaker to (id=0)
(webrtcvoiceengine.cc:565): WebRtcVoiceEngine::Init Done!
(webrtcvideoengine2.cc:505): WebRtcVideoEngine2::Init
(Wrap.h:35): void WebRTC::RTCWrap::Wrap(v8::Localv8::Object, const char *)
(PeerConnection.cc:884): static void WebRTC::PeerConnection::SetOnIceCandidate(Localv8::String, Localv8::Value, const Nan::PropertyCallbackInfo &)
(Wrap.h:59): static T *WebRTC::RTCWrap::Unwrap(v8::Localv8::Object, const char *) T = WebRTC::PeerConnection: T *WebRTC::RTCWrap::Unwrap() T = WebRTC::PeerConnection: Generating identity, using keytype 0
(opensslidentity.cc:41): Making key pair
(opensslidentity.cc:82): Returning key pair
(opensslidentity.cc:89): Making certificate for WebRTC
(opensslidentity.cc:137): Returning certificate
(dtlsidentitystore.cc:212): A free DTLS identity was saved.
(PeerConnection.cc:443): static void WebRTC::PeerConnection::CreateDataChannel(const Nan::FunctionCallbackInfo &)
(Wrap.h:59): static T *WebRTC::RTCWrap::Unwrap(v8::Localv8::Object, const char *) T = WebRTC::PeerConnection: T *WebRTC::RTCWrap::Unwrap() T = WebRTC::PeerConnection: webrtc::PeerConnectionInterface *WebRTC::PeerConnection::GetSocket()
(EventEmitter.cc:137): void WebRTC::EventEmitter::SetReference(bool)
(MediaConstraints.cc:405): const webrtc::MediaConstraintsInterface *WebRTC::MediaConstraints::ToConstraints() const
(MediaConstraints.cc:411): virtual const webrtc::MediaConstraintsInterface::Constraints &WebRTC::MediaConstraints::GetMandatory() const
(MediaConstraints.cc:417): virtual const webrtc::MediaConstraintsInterface::Constraints &WebRTC::MediaConstraints::GetOptional() const
(MediaConstraints.cc:411): virtual const webrtc::MediaConstraintsInterface::Constraints &WebRTC::MediaConstraints::GetMandatory() const
(MediaConstraints.cc:417): virtual const webrtc::MediaConstraintsInterface::Constraints &WebRTC::MediaConstraints::GetOptional() const
(MediaConstraints.cc:411): virtual const webrtc::MediaConstraintsInterface::Constraints &WebRTC::MediaConstraints::GetMandatory() const
(MediaConstraints.cc:417): virtual const webrtc::MediaConstraintsInterface::Constraints &WebRTC::MediaConstraints::GetOptional() const
(MediaConstraints.cc:411): virtual const webrtc::MediaConstraintsInterface::Constraints &WebRTC::MediaConstraints::GetMandatory() const
(MediaConstraints.cc:417): virtual const webrtc::MediaConstraintsInterface::Constraints &WebRTC::MediaConstraints::GetOptional() const
(MediaConstraints.cc:411): virtual const webrtc::MediaConstraintsInterface::Constraints &WebRTC::MediaConstraints::GetMandatory() const
(MediaConstraints.cc:417): virtual const webrtc::MediaConstraintsInterface::Constraints &WebRTC::MediaConstraints::GetOptional() const
(MediaConstraints.cc:411): virtual const webrtc::MediaConstraintsInterface::Constraints &WebRTC::MediaConstraints::GetMandatory() const
(MediaConstraints.cc:417): virtual const webrtc::MediaConstraintsInterface::Constraints &WebRTC::MediaConstraints::GetOptional() const
(MediaConstraints.cc:411): virtual const webrtc::MediaConstraintsInterface::Constraints &WebRTC::MediaConstraints::GetMandatory() const
(MediaConstraints.cc:417): virtual const webrtc::MediaConstraintsInterface::Constraints &WebRTC::MediaConstraints::GetOptional() const
(MediaConstraints.cc:411): virtual const webrtc::MediaConstraintsInterface::Constraints &WebRTC::MediaConstraints::GetMandatory() const
(MediaConstraints.cc:417): virtual const webrtc::MediaConstraintsInterface::Constraints &WebRTC::MediaConstraints::GetOptional() const
(webrtcsessiondescriptionfactory.cc:192): DTLS-SRTP enabled; sending DTLS identity request (key type: 0).
(dtlsidentitystore.cc:167): Using a free DTLS identity.
(dtlsidentitystore.cc:218): A DTLS identity is returned to an observer.
(webrtcsessiondescriptionfactory.cc:503): Setting new certificate
(dtlsidentitystore.cc:53): Generating identity, using keytype 0
(opensslidentity.cc:41): Making key pair
(opensslidentity.cc:82): Returning key pair
(opensslidentity.cc:89): Making certificate for WebRTC
(opensslidentity.cc:137): Returning certificate
(dtlsidentitystore.cc:212): A free DTLS identity was saved.


You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
#30

@bfishman
Copy link
Author

Thanks, I will have to try this sometime next week. Unfortunately I'm traveling and the hotel I'm at has a horrible net connection, so building from source is not possible (It will take about 28 hours to complete). If you're able to build the binary for me (ubuntu 15.10, 64 bit) then I will certainly test it, but please don't feel obligated to do so.

@vmolsa
Copy link
Owner

vmolsa commented Apr 3, 2016

I have made some performance changes to webrtc-native and now module is compiled with branch chromium 50 and npm test is running successfully.

@vmolsa vmolsa closed this as completed Apr 3, 2016
@bfishman
Copy link
Author

bfishman commented Apr 3, 2016

Cool, will try again. Thanks!

@bfishman
Copy link
Author

bfishman commented Apr 4, 2016

this issue still exists in the latest build.

@vmolsa
Copy link
Owner

vmolsa commented Apr 4, 2016

How about npm test ? And what node version you are using?

@vmolsa vmolsa reopened this Apr 4, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants