Commit Graph

344 Commits

Author SHA1 Message Date
Sean DuBois
52249252fb Modify packets in rtp-forwarder for easier usage
rtp-forwarder.sdp hardcodes the PayloadTypes 96 and 111. Before If the
browser doesn't use those values we expect the user to update the SDP.
The example has been updated to modify the packets to make it easier on
the user.
2021-01-13 09:29:34 -08:00
Sean DuBois
246e629d9a Use GatheringCompletePromise in examples/simulcast
We need to include ICE Candidates so we get bi-directional connectivity
checks
2020-12-18 20:02:03 -08:00
tarrencev
a54b74cdb7 Update pion/interceptor for NACKs
Generate + Respond interceptors
2020-12-14 21:40:09 -08:00
Sean DuBois
f5875d9895 Add features matrix to the README
List most popular features/benefits of Pion WebRTC.

Resolves #1279

Co-authored-by: ZHENK <chengzhenyang@gmail.com>
2020-12-14 10:15:37 -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
37658f4521 Remove QUIC Support
Chromium remove RtcQuicTransport. Removing our support as well since
interop with other WebRTC clients will never happen.

Resolves #1589
2020-12-08 18:30:10 -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
Sean DuBois
d0b119af2a Remove addStream from Javascript
Not supported in Safari
2020-11-19 21:23:57 -08: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
o0olele
d71bd9aa2a Fix JS error in insertable-streams example
Member has been changed from `readableStream` -> `readable`
2020-11-12 14:24:13 -08:00
Jamie Good
63112a4ed4 Use addTrack instead of addStream in examples
Logs: TypeError: pc.addStream is not a function.
Fixed js error when using safari due to deprecated
RTCPeerConnection.addStream() method.

Updated js fiddle examples to use the addTrack()
method instead.
2020-10-14 10:16:28 -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
Sean DuBois
a49f98f0c7 Add STUN server to all examples
Just to reduces friction for users

Resolves #1432
2020-09-18 15:08:13 -07:00
Sean DuBois
2155a7d703 Move candidate parsing to pion/ice
Instead of having logic in pion/webrtc and pion/sdp move all logic to
pion/ice. Users of pion/ice don't want to import these packages to use
basic pion/ice functionality.
2020-09-13 00:05:09 -07:00
q191201771
c2ed6ee835 Fix error checking
Wrong error variable was checked and redundant parentheses in
play-from-disk example.
2020-09-10 09:10:25 -04:00
aler9
cdc726201b Update examples/rtp-to-webrtc README
Simplify gstreamer pipeline
2020-08-20 20:35:06 -07:00
Sean DuBois
c51f2566c4 Remove examples/on-negotiation-needed
The example does a good job of showing OnNegotiationNeeded
usage. However it has some patterns that users might find confusing.

I am backing this out for now, and will bring back in a follow up
commit
2020-08-20 20:19:07 -07:00
Kuzmin Vladimir
2c5819d521 Implement OnNegotiationNeeded
This event is fired when a change has occurred
which requires session negotiation.

Resolves #817
2020-08-19 14:37:18 -05:00
Jerko Steiner
cd3beeab24 Upgrade pion/ice to v2.0.0-rc.9
Add support for more stable ICE TCP API.
2020-08-01 11:11:51 +02:00
Jason
6ee528d349 Add Simulcast support
Resolves #1016
2020-07-24 01:01:43 -07:00
Simone Gotti
570ddd0b1c Add simulcast example
Add jsfiddle and documentation around using the example
2020-07-24 01:01:43 -07:00
Jerko Steiner
2236ddeafd Add experimental support for ICE TCP
See pion/ice issue and PR:

- https://github.com/pion/ice/tree/issue-196
- https://github.com/pion/ice/pull/226
2020-07-15 15:08:37 +02:00
Atsushi Watanabe
0157f347e4 Fix randoms
Use seeded mathematical random where uniqueness is needed
but not required to be cryptographic.
2020-07-13 14:42:53 +09:00
JacobZwang
70a8bbc64c Fix grammatical errors
Update examples/README.md
2020-07-11 02:36:35 -07:00
Sean DuBois
a08d7a869c Update pion-to-pion Dockerfile
1.12 -> 1.14
2020-07-01 12:38:40 -07:00
Nick Mykins
a1bbddd0d8 Improve docs around Go Modules
adds export `GO111MODULE=on` to examples READMEs when appropriate
2020-06-30 20:14:23 -07:00
Sean DuBois
03573faf19 Remove note about trickle ICE
On by default in /v3
2020-06-30 13:26:52 -07:00
Sean DuBois
f2941469f4 Implement ICE Restarts
Resolves #1251
2020-06-29 23:09:18 -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
Sean DuBois
bbbd820e15 Add media/oggreader
Start oggreader, this allows a user to demux an oggfile so they can
easily play files from disk.

Resolves: #1133

Co-authored-by: Somers Matthews <somersbmatthews@gmail.com>
Co-authored-by: funvit <funvit@gmail.com>
2020-06-18 03:14:44 -07:00
Sean DuBois
2e1bc16731 Update jsfiddle link
insertable-streams was out of sync
2020-06-13 17:09:23 -07:00
Sean DuBois
7041e196bc Example of using Insertable Streams with Pion
Use simple XOR Cipher on both sides. In the Web UI
you can flip a checkbox and watch decoding fail when
decryption is disabled.
2020-06-13 16:59:22 -07:00
Chad Retz
97c8f5290c Swap tracks example
Example to show how to swap tracks similar to functionality that might
be required by RTPSender.ReplaceTrack.
2020-04-27 22:14:50 -07:00
Magnus Wahlstrand
e4f96238db Update play-from-disk example
Wait for browser to connect before sending.
Exit gracefully when file is sent.
2020-04-27 21:53:25 -07:00
a-wing
c0032c4d18 Add new example rtp-to-webrtc
This example consumes RTP via a listening UDP socket and then sends it a
WebRTC peer
2020-04-26 18:11:19 -07:00
Jake B
5a702b6c31 Fix empty response bug in pion-to-pion example
Ff pion-to-pion/offer is run from Chrome (via WASM) the lack of CORS
header would cause the request to fail. Add CORS code to the answer
example code Prefix default "address" flag with "127.0.0.1" so that
http.Post works in the browser

Fixes #1149
2020-04-18 15:15:08 -07:00
Yuki Igarashi
787b2c0a62 Update examples to use AddTransceiverFromKind
Move from AddTransceiver to AddTransceiverFromKind.
2020-04-05 00:14:22 +09:00
Masahiro Nakamura
31e3a1a6ac Update how to install in example projects
Download instructions should contain 'v2' now.
2020-04-02 19:22:23 -07:00
Ben Weitzman
73f8db9316 Populate MediaEngine from Offer in broadcast
Use offerer PayloadType when generating answer. Before we would use the
hardcoded values, this is invalid behavior and would cause browsers to
just ignore our video when publishing.
2020-03-28 14:50:03 -07:00
Quentin Renard
38ee94e743 Added examples/rtp-forwarder
Add new example that demonstrates how to take WebRTC to RTP.
Also provides instructions and pre-canned SDP so you can easily
playback in VLC and ffmpeg.

Resolves #1061
2020-03-08 12:57:00 -07:00
akil
0272c250f4 Fix 404 link
Fix a 404 link in the ReadMe
2020-03-06 19:26:08 -08:00
Sean DuBois
8c7bd66706 Fix reflect PeerConnection usage
AddTrack MUST be called before `SetRemoteDescription`. During this
operation we are trying to satisfy the remote transceivers with
our local ones.

Resolves #1021
2020-02-11 14:51:47 -08:00
Sean DuBois
5f54b68899 Add examples/play-from-disk-renegotation
Resolves #207
2020-02-09 21:40:37 -08:00
Sean DuBois
55d53b76a9 Rename sfu-minimal -> broadcast
Will have new dedicated SFU example when re-negotation
is complete. Keep this broadcast example for users who
want fan-out example and not everything needed for multi-track
re-negotations.

Relates to #207
2020-02-09 21:40:37 -08:00
Atsushi Watanabe
27d9bbb7bd Upgrade golangci-lint to 1.19.1
Fix whitespace and stylecheck errors.
Disable godox.
2020-01-11 22:59:33 -08:00
Sean DuBois
793a8b92ca Reference save-to-webm in save-to-disk example
Users may want to save H264 to disk, link to webm example to guide users
that way also.

Resolves #889
2019-12-08 02:09:52 -08:00