webrtc-native
webrtc-native copied to clipboard
WebRTC freezing after "A free DTLS identity was saved"
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.
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<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 Localv8::Object &, const Localv8::Object &) (MediaConstraints.cc:49): static rtc::scoped_refptr<MediaConstraints> WebRTC::MediaConstraints::New(const Localv8::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::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<Value> &) (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 https://github.com/vmolsa/webrtc-native/issues/30
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.
I have made some performance changes to webrtc-native and now module is compiled with branch chromium 50 and npm test is running successfully.
Cool, will try again. Thanks!
this issue still exists in the latest build.
How about npm test ? And what node version you are using?