mission-liao
1dedfd8c28
Refine SetReadDeadline behavior
...
- Refine RTPReceiver.SetReadDeadline behavior
Instead of iterating over r.tracks, just calling r.tracks[0]
directly. This behavior follows RTPReceiver.Read.
- Add RTPReceiver.SetReadDeadlineSimulcast
Its fingerprint follows RTPReceiver.ReadSimulcast.
- Refine RTPReceiver.setRTPReadDeadline
It will only timeout the RTP stream for the track makes the call.
2020-12-28 14:40:38 +08:00
Sean DuBois
398c363baf
Add SetReadDeadline to RTPReceiver and TrackRemote
...
Previously, Reading RTP or RTCP packets from a peer
would block until a packet was received, or the
connection was terminated. This change allows you to
set a deadline, after which the read function will
return a timeout error and you can get on with other
things.
Resolves #1553
2020-12-26 09:41:45 -08:00
tarrencev
a54b74cdb7
Update pion/interceptor for NACKs
...
Generate + Respond interceptors
2020-12-14 21:40:09 -08:00
Sean DuBois
67826b1914
Update Interceptors to use []byte based API
...
Also update test to assert Attributes get passed all the way through
Resolves pion/interceptor#14
2020-12-13 18:40:33 -08:00
Sean DuBois
3d9a7ede1a
Allow extensions to be configured with direction
...
RegisterHeaderExtension now allows users to enable headers depending on
the type of transceiver that was created.
Also expose GetParameters on RTPSender and RTPReceiver
Co-authored-by: OrlandoCo <luisorlando.co@gmail.com >
Resolves #1554
2020-12-04 11:52:48 -08:00
Sean DuBois
7c2352003b
Update pion/srtp and pion/transport
...
Removes context usage
2020-12-02 20:20:03 -08:00
Sean DuBois
9715626a0c
Revert "Read/Write RTP/RTCP packets with context"
...
This change caused a ~24% performance decrease
Relates to pion/webrtc#1564
This reverts commit 47a7a64898
.
2020-12-02 20:11:06 -08:00
Atsushi Watanabe
47a7a64898
Read/Write RTP/RTCP packets with context
...
Control cancel/timeout by context.
2020-12-01 11:08:48 +09:00
Adam Kiss
5bbc84e404
Implement Interceptors
...
Provide API so that handling around RTP can be easily defined by the
user. See the design doc here[0]
[0] https://github.com/pion/webrtc-v3-design/issues/34
2020-11-26 11:23:19 -08:00
Sean DuBois
7edfb701e0
New Track API
...
The Pion WebRTC API has been dramatically redesigned. The design docs
are located here [0]
You can also read the release notes [1] on how to migrate your
application.
[0] https://github.com/pion/webrtc-v3-design
[1] https://github.com/pion/webrtc/wiki/Release-WebRTC@v3.0.0
2020-11-15 09:20:47 -08:00
OrlandoCo
65400221ec
Add methods to read Simulcast RTCP
...
Add ReadSimulcastRTCP and ReadSimulcast to RTPReceiver
2020-10-15 12:11:32 -07:00
OrlandoCo
3f53b70405
Fix receiver close stream race close
...
Add nil check in RTPReceiver.Stop()
Fixes #1471
2020-10-09 09:27:31 -07:00
Sean DuBois
804a12fed3
Update CI configs to v0.4.7
...
Update lint scripts and CI configs.
2020-09-30 09:06:34 -07:00
Jason
6ee528d349
Add Simulcast support
...
Resolves #1016
2020-07-24 01:01:43 -07:00
Josh Bleecher Snyder
e42bb3e27a
Use exported errors for stopped rtp i/o
...
This makes checking for these errors much more robust
than doing a string comparison.
2020-05-31 11:17:52 -07:00
cnderrauber
667941621d
RtpSender/Receiver.Read return err when stopped
...
Rtpsender.Read & RtpReceiver.Read may block infinite when
it's stopped before Send/Receive has been called.
2020-05-28 20:24:19 -07:00
Simon Eisenmann
85ee4600a9
Fix RTPReceiver Stop race
...
RTPTranseiver closees its streams on Stop if any have been received.
The receive trigger is closed as soon as the Receive function is called.
This is too early since the streams are added only directly after and
also there is the possibility that all or only one of the following
stream opens fail.
This change ensures that the receive channel is closed after all streams
have potentially been added. At the same time a check is added to ensure
that only streams which are actully opened are closed.
2020-04-01 20:16:47 +02:00
Sean DuBois
6847421118
Implement Adding tracks after signaling
...
Relates to #207
2020-02-09 21:40:37 -08:00
Sean DuBois
e8fe7aa48d
Bump SRTP/RTCP and update RTCP API
...
Reading/Writing RTCP packets now return a slice
Relates to pion/srtp#29
2019-04-11 16:03:26 -07:00
Max Hawkins
1e80cb7e46
Upgrade pion/rtcp to v1.1.5
...
Closes #581
2019-04-07 13:23:35 -07:00
Sean DuBois
1cdfc10c84
Mass replace pions -> pion
...
Pions organization was renamed to pion
2019-04-04 15:32:03 -07:00
Sean DuBois
6c0e8b8851
Return io.EOF when Track has no RTPSenders
...
Using this enum allows people to more gracefully handle shutdown,
also add a test to assert io.EOF is returned in other places
Resolves #511
2019-03-31 12:00:40 -07:00
Sean DuBois
ab816402cf
Bump pions/rtcp and pions/srtp
...
RTCP v1.1.2 has breaking API, different return type for Unmarshal
2019-03-16 22:53:16 -07:00
Luke Curley
08a93d89ba
Optimize Read by buffering
...
Increases the Read performance to acceptable levels. Packet loss went
from roughly 8% to 0.5% with this change.
2019-03-12 21:34:48 -07:00
Alex Browne
0f1ddf0825
Add JavaScript/WASM bindings
...
Resolves #478 . Adds minimal JavaScript/WASM bindings. This makes it
possible to compile core parts of pions/webrtc to WASM and run it in the
browser. Only data channels are supported for now and there is
limited/no support for certificates and credentials.
2019-03-08 00:26:17 +01:00
Sean DuBois
67ac22edd2
Update to use new RTCP API
...
This bumps SRTP and our own RTCP handling to use new API
Resolves #495
2019-03-07 13:16:01 -08:00
Michael MacDonald
b8f3e36b00
Add OnSelectedCandidatePairChange callback
...
Invoked when the selected ICE candidate pair changes.
2019-03-01 08:07:42 -05:00
Luke Curley
31b7044955
Expose Encodings variable for ORTC
...
It's not possible to use a RTPReceiver without it.
2019-02-26 00:06:35 -08:00
Sean DuBois
6aeb3425b0
Move to new Track API
...
See v2.0.0 Release Notes[0] for all changes
Resolves #405
[0] https://github.com/pions/webrtc/wiki/v2.0.0-Release-Notes#media-api
2019-02-25 23:44:09 -08:00
backkem
a1159049a1
Move RTPSender and RTPReceiver to API
...
Relates to #379
2019-02-22 09:42:50 +01:00
Max Hawkins
c6592e6c4b
Rename Ssrc -> SSRC
...
This capitalization is consistent with other uses in the project,
and matches the Go convention of capitalizing initialisms.
https://github.com/golang/go/wiki/CodeReviewComments#initialisms
Relates to #417
2019-02-18 11:47:05 -08:00
Max Hawkins
0647ce9c26
Remove rtc prefix from filenames
...
Relates to #408
2019-02-17 16:22:56 -08:00