Commit Graph

11 Commits

Author SHA1 Message Date
Atsushi Watanabe
7f77abcfa2 Fix deadlock during ICETransport.Stop
Calling ConnectionStateChange handler during Stop caused mutex
deadlock. Add another Mutex to protect handler pointer to
avoid the deadlock.
2020-02-01 01:14:00 -08:00
Sean DuBois
2356373aac Fix all routine leaks in tests
Fix tests that didn't properly close and add
test.CheckRoutines everywhere. No changes in pion/webrtc
but we did catch hanging thread in pion/ice
2019-10-24 00:09:43 -07:00
Sean DuBois
9e4b41838e Remove no-op code from shutdown
Don't manually set the ICEConnectionState in Close. This
value is being set by pion/ice when we call Close on it already

Relates to #106
2019-07-22 21:31:39 -07:00
Adam Kiss
736e0bb506 Remove usage of ICETransport unexported fields
There are some direct usages of unexported fields of ICETransport
from non ice-related methods. This would be problematic when ice
once ice related code is moved to a separate packet. Added proxy
methods to ICETransport to avoid this.
2019-05-09 19:52:51 +02:00
Christopher Fry
54c3a4c672 Allow remote Sendrecv to be used with Recvonly
Before our RTPTransceiver logic would only allow Sendrecv to
match with another Sendrecv. Instead allow a SendRecv to be used
with a local Recvonly

Co-authored-by: Sean DuBois <sean@siobud.com>
2019-04-18 21:32:10 -07:00
Sean DuBois
0c5f0e088b Fix flaky test TestPeerConnection_Close_PreICE
Test success depend on a condition that happens in a detached thread.
Update test to take the lock and assert the behavior explicitly.

Resolves #626
2019-04-17 22:05:29 -07:00
Sean DuBois
a8c011e21d Close ICEGatherer if mux isn't ready
When ICE is completely connected closing the mux is the proper way to
shut everything down. The Close is communicated down each transport.

The ICETransport mux is only available once ICE has completed however.
When shutting down the ICETransport if the mux isn't set close the
ICEGatherer if it has been set.

Resolves #608
2019-04-17 08:42:11 -07:00
Sean DuBois
1cdfc10c84 Mass replace pions -> pion
Pions organization was renamed to pion
2019-04-04 15:32:03 -07:00
Alex Browne
5ab753c43e Combine some tests for Go and Wasm
This is now possible because the properties in the Go implementation
were changed to methods, which more closely matches the Wasm bindings.
Previously we needed two separate tests because of differences in the
two APIs.
2019-03-19 13:44:35 -07:00
Alex Browne
34e5a89f71 Add tests for WASM bindings
The tests are run in a Node.js environment, and this does not include
any browser tests. This requires the wrtc package from npm as well as a
shim which adds portions of the WebRTC API to the global scope.

Some tests introduced here can be combined when differences between the
Go API and the WASM bindings are addressed and as missing features are
added to the WASM bindings.

We can and should add more tests in the future to improve test coverage.
This should be considered the minimum number of tests reuqired to ensure
basic functionality is working.
2019-03-15 15:17:51 -07:00
Max Hawkins
0647ce9c26 Remove rtc prefix from filenames
Relates to #408
2019-02-17 16:22:56 -08:00