Sean DuBois
080d7b8427
Process RTCP Packets in OnTrack examples
...
TWCC and Receiver Reports are needed for a good default experience
2021-12-17 12:03:39 -05:00
Antoine Baché
7e049ec5ec
Update examples
...
TestNonFatalRead now has an timeout.
Examples now use Mime types, instead of raw strings.
Fixes #839
2021-07-02 11:49:55 -04:00
Sean DuBois
33d953e1eb
Enable Sender and Receiver Reports by default
...
The play-from-disk examples sees the average bitrate using
Chromium 90.0.4412.3 when enabled on loopback for a 3 minute
session.
Before: 744.443
After: 3927.669
Introduced with pion/interceptor@v0.0.10
2021-02-23 22:35:15 -08:00
Pascal Benoit
22eea024a2
Fix codec matching in save-to-disk
...
Use equalFold. Codecs aren't case sensitive and a client could use
either
2021-02-04 08:51:48 -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
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
OrlandoCo
3333b65c01
Make WithMediaEngine to receive a pointer
...
These change will allow to use the MediaEngine outside Pion context
2020-11-18 10:56:29 -08:00
Pion
a737595534
Update CI configs to v0.4.15
...
Update lint scripts and CI configs.
2020-11-16 12:18:44 -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
Sean DuBois
804a12fed3
Update CI configs to v0.4.7
...
Update lint scripts and CI configs.
2020-09-30 09:06:34 -07:00
Sean DuBois
bb3aa9717f
Move to pion/ice@v2
...
Removed support for trickle ice
Resolves #1274
2020-06-28 00:01:47 -07:00
Sean DuBois
89d7de1787
Start /v3
...
See #9 for the features we have planned, and the breaking changes that
may occur.
2020-06-25 09:45:27 -07:00
Yuki Igarashi
787b2c0a62
Update examples to use AddTransceiverFromKind
...
Move from AddTransceiver to AddTransceiverFromKind.
2020-04-05 00:14:22 +09:00
Hugo Arregui
6997cc792c
Linter fixes
...
Disable funlen and some fixes
Co-authored-by: Sean DuBois <sean@siobud.com >
2019-09-10 21:48:25 -07:00
Sean DuBois
6209597312
Fix OpusWriter issues that break VLC
...
* Correctly calculate page CRC
Ogg uses slightly non-standard version of CRC, we are unable to
use the Go's version. You can see the details here[0], in summary
"direct algorithm, initial val and final XOR = 0,
generator polynomial=0x04c11db7"
[0] https://xiph.org/vorbis/doc/framing.html
* Properly set EOS value
Before we created a new page with an EOS. Instead seek backwards
and update the last page with valid Opus to have EOS header and
re-generate the CRC
* Only use 0 timestamp/granule for headers
Audio itself should start from 0
* Rename OpusWriter -> OggWriter
Ogg supports more then just Opus, renaming gives us the flexibility to
expand in the future.
2019-08-15 17:12:01 -07:00
Sean DuBois
cc940bc5f4
Rename pion-webrtc -> Pion WebRTC
...
Mass rename everywhere we forgot to update
2019-06-30 21:29:35 -07: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
Sean DuBois
dbde6114a2
Update import paths
...
Add /v2 to import paths everywhere
2019-04-07 02:17:15 -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
1202dbaa06
Migrate SDP generation to Unified Plan
...
This commit has breaking changes. This API change means we
can no longer support an arbitrary number of receivers. For every track
you want to receive you MUST call PeerConnection.AddTransceiver
We do now support sending an multiple audio/video feeds. You can see
this behavior via gstreamer-receive and gstreamer-send currently.
Resolves #54
2019-04-04 12:55:36 -07:00
Max Hawkins
2a9d654143
Rename media.Writer AddPacket -> WriteRTP
...
Makes the name consistent with webrtc's WriteRTP
and makes webrtc.Track a Writer.
Fixes #566
2019-03-31 00:03:37 -07:00
Max Hawkins
4298892dc0
Rename SendRTCP -> WriteRTCP
...
Makes method name consistent with WriteRTP
Fixes #557
2019-03-30 10:21:46 -07:00
Sean DuBois
f174986c74
Fix all lint errors in examples/
...
Resolves #531 and Resolves #470
2019-03-21 09:31:27 -07:00
Antoine Baché
6a68ca04a8
IVF records can now be longer than 30s
...
- Added timeout to save-to-disk example
- Writing number of IVF frames when closing the file
- Fixed typos
Relates to #471
2019-03-07 14:49:25 -08:00
Woodrow Douglass
8a4878c2c4
Don't allow RTP codecs that violate RFC7587
...
Resolves #462
2019-03-01 16:00:33 -05:00
Antoine Baché
07e5c4e07e
Implementation of opuswriter
...
- Implemented a common "Writer" interface
- Made IVFWriter compliant to the new interface
- Implemented an OGG Opus writer
- Updated the save-file example
- Updated janus-gateway/streaming example
- Wrote a few unit tests for opus-writer
- Wrote a few unit tests for ivf-writer
- Fixed filenames
- Improved API to allow tests using an io.Writer
2019-02-27 12:02:34 -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
36cf0df239
Avoid defaultAPI
...
Relates to #434
2019-02-22 07:31:20 +01:00
backkem
ddcef2d84f
Examples: Make examples/util internal
...
Resolves #424
2019-02-20 21:32:48 +01:00
backkem
bf422e0c0a
API: Avoid exposing pkg/ice
...
OnICEConnectionStateChange now return a ICEConnectionState instead of
ice.ConnectionState.
Resolves #422
2019-02-20 20:47:34 +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
0e7086d37a
Remove RTC prefix from all names
...
Let's pull off the bandaid!
* Reduces studdering: webrtc.RTCTrack -> webrtc.Track
* Makes it easier to find types by editor autocomplete
* Makes code read more fluently (less repetition)
Since we're breaking the API in 2.0, our only chance to
do this is now.
Relates to #408
2019-02-17 16:22:56 -08:00
Sean DuBois
b67f73c34f
Stop Create(Offer/Answer) from setting localDesc
...
This deviates from the WebRTC spec, so we need to fix it. This is a
massively breaking change, so we need to figure out the best way to help
users with this.
I also renamed our RTCPeerConnection constructor. The hope is that
people will refer to the examples/backlog and see what changed.
Resolves #309
2019-02-15 23:13:25 -08:00
Sean DuBois
2863555984
Export RTP/RTCP to unique packages
...
Resolves #272
2019-01-28 11:38:54 -08:00
backkem
e203a0537c
ORTC: Add basic data channel constructors
...
Resolves #273
2019-01-08 13:43:49 -08:00
Sean DuBois
5d6262f63a
Send PLI in all recv examples
...
Temporary fix until examples can respond to RTCP
2018-12-08 16:57:34 -08:00
backkem
7a527fadb3
Examples: exchange entire RTCSessionDescription
...
Resolves #39
2018-12-08 11:06:16 +01:00
Sean DuBois
6bf22b014e
DTLS is fast enough now that we don't need PLI
...
Remove temporary fix that only existed when handshaking was slow
Resolves #204
2018-12-04 00:10:14 -08:00
Sean DuBois
02bc9ec2e7
Send PLI in all recv examples
...
DTLS Keying material is slower then OpenSSL, for now just send PLI on an
interval until we improve our DTLS implementation
Resolves #204
2018-12-04 00:10:14 -08:00
Michael MacDonald
d5cf800ebb
Safer Event Callbacks
...
Resolves #218
Change Event Callback APIs to setter functions which take care of
locking so that users don't need to know about or remember
to do this.
2018-11-19 12:42:15 -05:00
backkem
2eddc94642
Examples: make uniform
...
Resolves #231
2018-11-19 00:42:16 -08:00
Sean DuBois
cc4160f3ad
Fix deprecation cutover, and bad SDP creation
...
Methods that were marked as deprecated weren't properly handled. There
was a mix of old+new ones supported which caused broken behavior.
SDP creation didn't add SCTP to Offer
Resolves #156
2018-09-19 00:38:17 -07:00
Sean DuBois
2adb8dcc80
Move IVFWriter to pkg
...
Allow this to be used/improved by others. SampleBuilder will be a
sibling
Resolves #115
2018-09-09 23:16:19 -07:00
Konstantin Itskov
cf2fdf0776
Revert public API name changes for on event handlers
2018-09-04 19:15:55 -04:00
Konstantin Itskov
f738cec9da
Change the names of event handlers and attributes for readability
2018-09-04 09:33:05 -04:00
Konstantin Itskov
20191a4974
Add an almost complete rfc complaint RTCConfiguration
2018-08-28 01:03:09 -07:00
Sean DuBois
78b6a76cc5
Revert "Move ICE package from public to internal folder structure"
...
ICE Package needs to be public for peerConnection.OnICEConnectionStateChange
This reverts commit b831f87d28
.
2018-08-16 10:10:29 -07:00
Konstantin Itskov
b831f87d28
Move ICE package from public to internal folder structure
2018-08-16 01:28:48 -07:00
Sean DuBois
cf6e2d9e03
Enable STUN by default in examples
2018-07-21 12:27:38 -07:00