Commit Graph

20 Commits

Author SHA1 Message Date
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
Alex Browne
012a7ea686 Improve build tags for Wasm
Fixes #515

This includes a few small and closely related changes:

1. All occurrences of the build tag `+build js` have been changed to the
   more precise `+build js,wasm`. This will exclude the files from being
   included by third-party compilers like GopherJS, with which they are
   incompatible.
2. Some files which are incompatible with JavaScript/Wasm now have the
   correct build tag (`+build -js`) so they will be excluded from Wasm
   builds.
3. Some configuration options which are incompatible with
   JavaScript/Wasm (or at least the current bindings) will now no longer
   appear in Wasm builds. This meant creating new files with new struct
   definitions and the appropriate build tags.
2019-03-22 10:48:03 -07:00
Luke Curley
205c759a69 Add feedback support to SDP generation
Syntax could be better but works in a standards-compliant way.

```
codec := webrtc.NewRTPH264Codec(webrtc.DefaultPayloadTypeH264, 90000)
codec.RTPCodecCapability.RTCPFeedback = []webrtc.RTCPFeedback{{
    Type: "nack",
}, {
    Type:      "nack",
    Parameter: "pli",
}}
```
2019-03-20 15:44:17 -07:00
Woodrow Douglass
8a4878c2c4 Don't allow RTP codecs that violate RFC7587
Resolves #462
2019-03-01 16:00:33 -05:00
Max Hawkins
9cba54cfd0 Upgrade to pions/sdp v2
Relates to #417
2019-02-18 11:47:05 -08:00
Max Hawkins
9d88f7c71a Rename Sdp -> SDP
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
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
Woodrow Douglass
3aee69ea60 Add some tests for MediaEngine
Also, centralize the error object returned
from media engine codec searches

Relates to #333
2019-01-23 16:21:13 +01:00
Woodrow Douglass
e906728df3 Factor out an API object
Relates to #333
2019-01-23 16:21:13 +01:00
Sean DuBois
29d004ca75 Move SDP to an external package
Resolves #322
2018-12-28 13:57:59 -08: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
Woodrow Douglass
9d6ed099e7 Add a G722 RTP payloader
Resolves #283
2018-12-12 09:23:19 -05:00
chenkaiC4
2b7ab19a94 fix golangci linter 2018-08-16 01:26:58 -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
1bdd1af406 mediaengine: cleanup 2018-07-16 14:20:18 -07:00
backkem
7f682d2d2e api: match WebRTC api more closely 2018-07-16 14:20:18 -07:00