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
Sean DuBois
bc94eaa968
Rewrite gstreamer-src/Pipeline for multi-track
...
This allows us to demonstrate multi-track easier, without having to
worry about encoding multiple times
Relates to #54
2019-04-04 12:55:36 -07:00
backkem
911013755a
Examples: serve WASM examples locally
...
The examples server now detects 'demo.wasm' files in
the jsfiddles. Examples layout updated to match Pion style.
Resolves #491
2019-03-07 22:44:51 +01: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
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
d9ba0533f5
Fix Codacy warnings
...
Run standardjs across all js files, fix all other issues by hand
2019-02-05 23:18:47 -08:00
backkem
e203a0537c
ORTC: Add basic data channel constructors
...
Resolves #273
2019-01-08 13:43:49 -08:00
Sean DuBois
eec8f43b0c
Extend gstreamer-src so src is an argument
...
This allows us to give better examples with webcam + file input
Relates to #206 #209
2018-12-25 14:16:11 -05:00
Sean DuBois
12fd9b41e4
Add example of using with Janus video-room
...
Resolves #268
2018-12-09 16:16:10 +01:00
backkem
7a527fadb3
Examples: exchange entire RTCSessionDescription
...
Resolves #39
2018-12-08 11:06:16 +01:00
Sean DuBois
a0892b2392
Update examples to use non-deprecated APIs
...
Move from NewRTCTrack -> NewRTCSampleTrack and a few other
simple cases
Resolves #238
2018-11-24 00:51:53 -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
e500917a6e
Implement SampleBuilder
...
SampleBuilder provides a simple API to build an
RTCSample from RTP packets. This is useful when proxying
audio/video data to multiple peers. This is the alternative
to allowing users to push RTP Packets directly. This would be
confusing as we would throw away some of the information that users
give us and could lead to weird edge cases
Resolves #112
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
b431455273
Add STUN to all examples
2018-08-16 14:51:57 -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
d9e6b8b61f
Update examples to only generate SDP when candidates are done gathering
2018-08-11 13:56:28 -07:00
Sean DuBois
cf6e2d9e03
Enable STUN by default in examples
2018-07-21 12:27:38 -07:00
backkem
ab6910899c
api: support a custom media engine
2018-07-16 14:20:18 -07:00
backkem
f7c5ecd57f
api: fix typos
2018-07-16 14:20:18 -07:00
backkem
7f682d2d2e
api: match WebRTC api more closely
2018-07-16 14:20:18 -07:00
Sean DuBois
2564609560
Disable STUN in examples temporarily
...
When we have multiple candidates that resolve we need to share DTLS
state across them
2018-07-14 13:26:01 -07:00
Sean DuBois
f440fc32d4
Finish STUN implementation
...
* Do not increment component id (this is used for marking RTP/RTCP)
* Add STUN to all examples so that they work out of the box
* Cast Addr from STUN client to UdpAddr instead of parsing
2018-07-11 21:58:49 -07:00
Sean DuBois
76a07068c9
Use HTTPS for jsfiddle examples
2018-07-07 11:32:58 -07:00
Sean DuBois
7aa47c7d99
Add empty css files to jsfiddle demos
2018-07-07 11:32:58 -07:00
Sean DuBois
074e3391bf
Move JSfiddle snippets to git
...
jsfiddle provides a way to create snippets from Github via a URL. This
way we can still provide easy demos, but get all the nice things from
having them in Git
Closes #32
2018-07-07 11:32:58 -07:00
Raphael Randschau
98ea0b791e
fix warnings in examples
2018-07-06 15:23:40 -07:00
Raphael Randschau
4f6983307f
update examples with new constructor
2018-07-06 15:23:40 -07:00
John Bradley
cfba14cfea
Add H264 send/receive and packetization support
2018-07-05 17:16:51 -05:00
Sean DuBois
c6d8334cf7
Update gstreamer-send jsfiddle
2018-07-04 00:49:23 -07:00
Sean DuBois
24a312c34d
Fix poorly named function in RTCPeerConnection
...
CreateOffer -> CreateAnswer currently `pion-WebRTC` can only generate
offers not answers.
2018-07-04 00:46:01 -07:00
Sean DuBois
3b3ed9a544
Fix lint, vet and fmt errors
2018-07-03 21:11:25 -07:00
Sean DuBois
366f9ec268
Implement sample count generation in gstreamer-send
...
Audio+Video now works in gstreamer-send
2018-07-03 20:55:10 -07:00
Sean DuBois
a5cf1702e8
Use unique names for static globals in GStreamer cgo
2018-07-03 17:34:16 -07:00
Sean DuBois
b1da546d24
Implement multi-pipeline gstreamer-send example
2018-07-03 17:11:56 -07:00
John Bradley
912a8e18f8
Add opus sending support
2018-07-03 18:00:45 -05:00
Sean DuBois
f7ae8e3d0a
Copy @backkem doc fixes to gstreamer-receive and save-to-disk
2018-07-03 11:42:40 -07:00
backkem
8df477e38d
gstreamer-send: document running in Windows.
2018-07-03 11:18:46 -07:00
Sean DuBois
6eb22ad669
Add 'gstreamer-send' to README.md
2018-07-03 00:10:38 -07:00
Sean DuBois
093a4efac4
Gofmt
2018-07-02 21:58:08 -07:00
John R. Bradley
799e02d8f8
Add VP8 payloading
2018-07-02 23:28:53 -05:00
Sean DuBois
de2fb09778
Add support for receiving audio
...
Update gstreamer-receive to create pipelines for each input.
Currently we don't allow the user to pass in what codecs they support and we don't
take into account the offer. The API will need to be updated to catch
both these signaling errors. The user will pass a slice of support
codecs.
2018-07-01 02:04:47 -07:00