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
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
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
feixiao
1e3d7cecb0
Update janus-gateway/video-room with keepalive
...
Example wasn't sending keep-alives, causing Janus to eventually
end the session even if we weren't done sending
2019-03-06 22:49:10 -08:00
Sean DuBois
f46ebf7eff
Provide easy example of video without browser
...
Combine `gstreamer-receive` and `gstreamer-send-offer` so people can
easily see how to transport audio/video without using their browser.
This moves the HTTP endpoint out of `examples/sfu` so it can be used in
multiple examples
Resolves #472
2019-03-04 11:10:07 -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
frank
6fd4ee67f4
Docs: Build Janus example on OSX
...
Documented how to build the janus-gateway example on OSX.
2019-02-27 14:22:31 +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
f5d11df18d
API: Review DataChannel
...
Resolves #427
2019-02-22 15:35:32 +01:00
backkem
36cf0df239
Avoid defaultAPI
...
Relates to #434
2019-02-22 07:31:20 +01:00
backkem
4fe2728721
Remove global API for settings engine
...
Limit global API to the basics needed to construct a PeerConnection.
2019-02-21 22:04:30 +01:00
backkem
64644e594b
QUIC: Move out of tree
...
This moves the QUIC API out of tree to pions/quic.
2019-02-21 14:27:50 +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
9d88f7c71a
Rename Sdp -> SDP
...
Relates to #417
2019-02-18 11:47:05 -08: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
rob-deutsch
a071b8af09
Gstreamer-receive reserves main thread for Glib
...
The Glib loop is run in the main thread (in the OS point of view)
2019-02-16 02:01:20 -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
jinleileiking
e982d6eda2
Check error when tcp port is used
...
Relates #400
2019-02-14 19:53:06 +08:00
jinleileiking
c40e4a53ef
Add http endpoint to SFU example
...
Resolves #400
2019-02-13 23:32:35 -08:00
rob-deutsch
f5e8f0fa4a
Gstreamer: avoid lock contention with pipeline
...
Stop one pipeline from preventing others from sending data
if it wasn't being serviced
2019-02-13 23:56:42 +11:00
rob-deutsch
737516efbd
Gstreamer: gracefully stop pipeline sending
...
Stop pipelines from hanging because the appsink element was hanging
waiting for a channel receive.
2019-02-13 23:43:16 +11:00
rob-deutsch
72c51607d7
Fixed minor leak in examples/util
...
Fixed minor pipeline/element memory leak in examples/util
2019-02-10 18:50:21 +11: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
Sean DuBois
2863555984
Export RTP/RTCP to unique packages
...
Resolves #272
2019-01-28 11:38:54 -08:00
backkem
db15e20c54
API: Expose SettingEngine
...
Enable passing custom settings and media engine to an API.
2019-01-24 20:35:49 +01:00
backkem
130fec6774
Data channel: Add Close and OnClose
...
Relates to #180
2019-01-23 23:17:26 +01:00
Sean DuBois
c2d637c7a5
Update examples/sfu to use RawRTP input/output
...
The example used the SampleBuilder before, which is buggy
and doesn't add any value. Move over the RawRTP input/output.
Resolves #343
2019-01-08 14:26:26 -08:00
Sean DuBois
1b19e2ae00
Better defaults for lossy realtime VP8
...
Update GStreamer examples to use some better defaults for real time
video. This isn't perfect, but improves the default experience for users
a little bit.
Relates to #303
2019-01-08 14:26:11 -08:00
backkem
81e5a31767
ORTC: Add RTCQuicTransport
...
Resolves #275
2019-01-08 13:43:49 -08:00
backkem
e203a0537c
ORTC: Add basic data channel constructors
...
Resolves #273
2019-01-08 13:43:49 -08:00
Sean DuBois
114de5e33f
Fix golint and misspell errors
...
Found by goreportcard
2018-12-28 00:53:47 -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
backkem
3762e8a09e
Detach: Expose data channel networking
...
Resolves #277
2018-12-24 17:51:01 +01:00
Sean DuBois
bec4743e47
Update GStreamer examples to support G722
...
Update util/gstreamer-sink with case for G722. Also prefer Opus over
G722 in RegisterDefaultCodecs
Relates to #283
2018-12-20 05:19:48 -05:00
Woodrow Douglass
c1bfcc8367
Tweak g722 support code
...
* allow GST examples to use g722
* Assume G722 is mono -- that's what chrome likes,
and i don't know if anyone's doing stereo g722 anyway
Relates to #283
2018-12-18 08:33:19 -05:00
Sean DuBois
12fd9b41e4
Add example of using with Janus video-room
...
Resolves #268
2018-12-09 16:16:10 +01:00
Sean DuBois
5b803c887b
Update gstreamer-receive to match jsfiddle in git
...
Relates to #39
2018-12-08 17:08:10 -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
756d74196d
Update data-channels-create example to use STUN
...
Resolves #255
2018-12-06 00:07:07 -08: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
3546d10951
Update janus-gateway README
...
Janus now works everytime! Since we have DTLS retransmissions now we can
remove the note from the README about it
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
backkem
c6ebe602f4
Add Go modules
...
Resolves #244
2018-12-03 23:12:23 -08: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
Michael MacDonald
d3984899d1
Fix build breakage in example
...
Relates to #231
2018-11-19 10:57:00 -05:00