mirror of
https://github.com/pion/webrtc.git
synced 2025-09-26 19:21:12 +08:00
@@ -19,7 +19,7 @@ When possible we leave all decisions to the user. When choice is possible (like
|
|||||||
If you know how to use WebRTC in your browser, you know how to use Pion WebRTC.
|
If you know how to use WebRTC in your browser, you know how to use Pion WebRTC.
|
||||||
We try our best just to duplicate the Javascript API, so your code can look the same everywhere.
|
We try our best just to duplicate the Javascript API, so your code can look the same everywhere.
|
||||||
|
|
||||||
If this is your first time using WebRTC, don't worry! We have multiple [examples](https://github.com/pion/webrtc/tree/master/examples) and [GoDoc](https://pkg.go.dev/github.com/pion/webrtc/v3)
|
If this is your first time using WebRTC, don't worry! We have multiple [examples](https://github.com/pion/webrtc/tree/master/examples) and [GoDoc](https://pkg.go.dev/github.com/pion/webrtc/v4)
|
||||||
|
|
||||||
### Bring your own media
|
### Bring your own media
|
||||||
Pion WebRTC doesn't make any assumptions about where your audio, video or text come from. You can use FFmpeg, GStreamer, MLT or just serve a video file.
|
Pion WebRTC doesn't make any assumptions about where your audio, video or text come from. You can use FFmpeg, GStreamer, MLT or just serve a video file.
|
||||||
|
@@ -13,9 +13,9 @@
|
|||||||
<a href="https://github.com/pion/awesome-pion" alt="Awesome Pion"><img src="https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg"></a>
|
<a href="https://github.com/pion/awesome-pion" alt="Awesome Pion"><img src="https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg"></a>
|
||||||
<br>
|
<br>
|
||||||
<img alt="GitHub Workflow Status" src="https://img.shields.io/github/actions/workflow/status/pion/webrtc/test.yaml">
|
<img alt="GitHub Workflow Status" src="https://img.shields.io/github/actions/workflow/status/pion/webrtc/test.yaml">
|
||||||
<a href="https://pkg.go.dev/github.com/pion/webrtc/v3"><img src="https://pkg.go.dev/badge/github.com/pion/webrtc/v3.svg" alt="Go Reference"></a>
|
<a href="https://pkg.go.dev/github.com/pion/webrtc/v4"><img src="https://pkg.go.dev/badge/github.com/pion/webrtc/v4.svg" alt="Go Reference"></a>
|
||||||
<a href="https://codecov.io/gh/pion/webrtc"><img src="https://codecov.io/gh/pion/webrtc/branch/master/graph/badge.svg" alt="Coverage Status"></a>
|
<a href="https://codecov.io/gh/pion/webrtc"><img src="https://codecov.io/gh/pion/webrtc/branch/master/graph/badge.svg" alt="Coverage Status"></a>
|
||||||
<a href="https://goreportcard.com/report/github.com/pion/webrtc/v3"><img src="https://goreportcard.com/badge/github.com/pion/webrtc/v3" alt="Go Report Card"></a>
|
<a href="https://goreportcard.com/report/github.com/pion/webrtc/v4"><img src="https://goreportcard.com/badge/github.com/pion/webrtc/v4" alt="Go Report Card"></a>
|
||||||
<a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT"></a>
|
<a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT"></a>
|
||||||
</p>
|
</p>
|
||||||
<br>
|
<br>
|
||||||
@@ -30,7 +30,7 @@
|
|||||||
|
|
||||||
**[awesome-pion](https://github.com/pion/awesome-pion)** contains projects that have used Pion, and serve as real world examples of usage.
|
**[awesome-pion](https://github.com/pion/awesome-pion)** contains projects that have used Pion, and serve as real world examples of usage.
|
||||||
|
|
||||||
**[GoDoc](https://pkg.go.dev/github.com/pion/webrtc/v3)** is an auto generated API reference. All our Public APIs are commented.
|
**[GoDoc](https://pkg.go.dev/github.com/pion/webrtc/v4)** is an auto generated API reference. All our Public APIs are commented.
|
||||||
|
|
||||||
**[FAQ](https://github.com/pion/webrtc/wiki/FAQ)** has answers to common questions. If you have a question not covered please ask in [Slack](https://pion.ly/slack) we are always looking to expand it.
|
**[FAQ](https://github.com/pion/webrtc/wiki/FAQ)** has answers to common questions. If you have a question not covered please ask in [Slack](https://pion.ly/slack) we are always looking to expand it.
|
||||||
|
|
||||||
@@ -60,7 +60,7 @@ This book is vendor agnostic and will not have any Pion specific information.
|
|||||||
* Send/Receive audio and video
|
* Send/Receive audio and video
|
||||||
* Renegotiation
|
* Renegotiation
|
||||||
* Plan-B and Unified Plan
|
* Plan-B and Unified Plan
|
||||||
* [SettingEngine](https://pkg.go.dev/github.com/pion/webrtc/v3#SettingEngine) for Pion specific extensions
|
* [SettingEngine](https://pkg.go.dev/github.com/pion/webrtc/v4#SettingEngine) for Pion specific extensions
|
||||||
|
|
||||||
|
|
||||||
#### Connectivity
|
#### Connectivity
|
||||||
|
@@ -21,7 +21,7 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/pion/dtls/v2/pkg/crypto/fingerprint"
|
"github.com/pion/dtls/v2/pkg/crypto/fingerprint"
|
||||||
"github.com/pion/webrtc/v3/pkg/rtcerr"
|
"github.com/pion/webrtc/v4/pkg/rtcerr"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Certificate represents a x509Cert used to authenticate WebRTC communications.
|
// Certificate represents a x509Cert used to authenticate WebRTC communications.
|
||||||
|
@@ -17,7 +17,7 @@ import (
|
|||||||
|
|
||||||
"github.com/pion/datachannel"
|
"github.com/pion/datachannel"
|
||||||
"github.com/pion/logging"
|
"github.com/pion/logging"
|
||||||
"github.com/pion/webrtc/v3/pkg/rtcerr"
|
"github.com/pion/webrtc/v4/pkg/rtcerr"
|
||||||
)
|
)
|
||||||
|
|
||||||
const dataChannelBufferSize = math.MaxUint16 // message size limit for Chromium
|
const dataChannelBufferSize = math.MaxUint16 // message size limit for Chromium
|
||||||
|
@@ -25,9 +25,9 @@ import (
|
|||||||
"github.com/pion/logging"
|
"github.com/pion/logging"
|
||||||
"github.com/pion/rtcp"
|
"github.com/pion/rtcp"
|
||||||
"github.com/pion/srtp/v3"
|
"github.com/pion/srtp/v3"
|
||||||
"github.com/pion/webrtc/v3/internal/mux"
|
"github.com/pion/webrtc/v4/internal/mux"
|
||||||
"github.com/pion/webrtc/v3/internal/util"
|
"github.com/pion/webrtc/v4/internal/util"
|
||||||
"github.com/pion/webrtc/v3/pkg/rtcerr"
|
"github.com/pion/webrtc/v4/pkg/rtcerr"
|
||||||
)
|
)
|
||||||
|
|
||||||
// DTLSTransport allows an application access to information about the DTLS
|
// DTLSTransport allows an application access to information about the DTLS
|
||||||
|
@@ -16,8 +16,8 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/pion/webrtc/v3"
|
"github.com/pion/webrtc/v4"
|
||||||
"github.com/pion/webrtc/v3/pkg/media"
|
"github.com/pion/webrtc/v4/pkg/media"
|
||||||
"github.com/sclevine/agouti"
|
"github.com/sclevine/agouti"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@@ -40,7 +40,7 @@ We've made it easy to run the browser based examples on your local machine.
|
|||||||
|
|
||||||
1. Build and run the example server:
|
1. Build and run the example server:
|
||||||
``` sh
|
``` sh
|
||||||
GO111MODULE=on go get github.com/pion/webrtc/v3
|
GO111MODULE=on go get github.com/pion/webrtc/v4
|
||||||
git clone https://github.com/pion/webrtc.git $GOPATH/src/github.com/pion/webrtc
|
git clone https://github.com/pion/webrtc.git $GOPATH/src/github.com/pion/webrtc
|
||||||
cd $GOPATH/src/github.com/pion/webrtc/examples
|
cd $GOPATH/src/github.com/pion/webrtc/examples
|
||||||
go run examples.go
|
go run examples.go
|
||||||
|
@@ -15,7 +15,7 @@ ffmpeg -i $INPUT_FILE -g 30 -b:v 2.5M -s 1280x720 high.ivf
|
|||||||
### Download bandwidth-estimation-from-disk
|
### Download bandwidth-estimation-from-disk
|
||||||
|
|
||||||
```
|
```
|
||||||
go get github.com/pion/webrtc/v3/examples/bandwidth-estimation-from-disk
|
go get github.com/pion/webrtc/v4/examples/bandwidth-estimation-from-disk
|
||||||
```
|
```
|
||||||
|
|
||||||
### Open bandwidth-estimation-from-disk example page
|
### Open bandwidth-estimation-from-disk example page
|
||||||
|
@@ -17,10 +17,10 @@ import (
|
|||||||
"github.com/pion/interceptor"
|
"github.com/pion/interceptor"
|
||||||
"github.com/pion/interceptor/pkg/cc"
|
"github.com/pion/interceptor/pkg/cc"
|
||||||
"github.com/pion/interceptor/pkg/gcc"
|
"github.com/pion/interceptor/pkg/gcc"
|
||||||
"github.com/pion/webrtc/v3"
|
"github.com/pion/webrtc/v4"
|
||||||
"github.com/pion/webrtc/v3/examples/internal/signal"
|
"github.com/pion/webrtc/v4/examples/internal/signal"
|
||||||
"github.com/pion/webrtc/v3/pkg/media"
|
"github.com/pion/webrtc/v4/pkg/media"
|
||||||
"github.com/pion/webrtc/v3/pkg/media/ivfreader"
|
"github.com/pion/webrtc/v4/pkg/media/ivfreader"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@@ -7,7 +7,7 @@ This could serve as the building block to building conferencing software, and ot
|
|||||||
### Download broadcast
|
### Download broadcast
|
||||||
```
|
```
|
||||||
export GO111MODULE=on
|
export GO111MODULE=on
|
||||||
go get github.com/pion/webrtc/v3/examples/broadcast
|
go get github.com/pion/webrtc/v4/examples/broadcast
|
||||||
```
|
```
|
||||||
|
|
||||||
### Open broadcast example page
|
### Open broadcast example page
|
||||||
|
@@ -14,8 +14,8 @@ import (
|
|||||||
|
|
||||||
"github.com/pion/interceptor"
|
"github.com/pion/interceptor"
|
||||||
"github.com/pion/interceptor/pkg/intervalpli"
|
"github.com/pion/interceptor/pkg/intervalpli"
|
||||||
"github.com/pion/webrtc/v3"
|
"github.com/pion/webrtc/v4"
|
||||||
"github.com/pion/webrtc/v3/examples/internal/signal"
|
"github.com/pion/webrtc/v4/examples/internal/signal"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() { // nolint:gocognit
|
func main() { // nolint:gocognit
|
||||||
|
@@ -7,7 +7,7 @@ users to override this and process messages however they want.
|
|||||||
### Download custom-logger
|
### Download custom-logger
|
||||||
```
|
```
|
||||||
export GO111MODULE=on
|
export GO111MODULE=on
|
||||||
go get github.com/pion/webrtc/v3/examples/custom-logger
|
go get github.com/pion/webrtc/v4/examples/custom-logger
|
||||||
```
|
```
|
||||||
|
|
||||||
### Run custom-logger
|
### Run custom-logger
|
||||||
|
@@ -12,7 +12,7 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
|
|
||||||
"github.com/pion/logging"
|
"github.com/pion/logging"
|
||||||
"github.com/pion/webrtc/v3"
|
"github.com/pion/webrtc/v4"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Everything below is the Pion WebRTC API! Thanks for using it ❤️.
|
// Everything below is the Pion WebRTC API! Thanks for using it ❤️.
|
||||||
|
@@ -6,7 +6,7 @@ The example mirrors the data-channels example.
|
|||||||
## Install
|
## Install
|
||||||
```
|
```
|
||||||
export GO111MODULE=on
|
export GO111MODULE=on
|
||||||
go get github.com/pion/webrtc/v3/examples/data-channels-detach
|
go get github.com/pion/webrtc/v4/examples/data-channels-detach
|
||||||
```
|
```
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
@@ -12,9 +12,9 @@ import (
|
|||||||
"syscall/js"
|
"syscall/js"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/pion/webrtc/v3"
|
"github.com/pion/webrtc/v4"
|
||||||
|
|
||||||
"github.com/pion/webrtc/v3/examples/internal/signal"
|
"github.com/pion/webrtc/v4/examples/internal/signal"
|
||||||
)
|
)
|
||||||
|
|
||||||
const messageSize = 15
|
const messageSize = 15
|
||||||
|
@@ -10,8 +10,8 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/pion/webrtc/v3"
|
"github.com/pion/webrtc/v4"
|
||||||
"github.com/pion/webrtc/v3/examples/internal/signal"
|
"github.com/pion/webrtc/v4/examples/internal/signal"
|
||||||
)
|
)
|
||||||
|
|
||||||
const messageSize = 15
|
const messageSize = 15
|
||||||
|
@@ -12,7 +12,7 @@ import (
|
|||||||
"sync/atomic"
|
"sync/atomic"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/pion/webrtc/v3"
|
"github.com/pion/webrtc/v4"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@@ -5,7 +5,7 @@ data-channels is a Pion WebRTC application that shows how you can send/recv Data
|
|||||||
### Download data-channels
|
### Download data-channels
|
||||||
```
|
```
|
||||||
export GO111MODULE=on
|
export GO111MODULE=on
|
||||||
go get github.com/pion/webrtc/v3/examples/data-channels
|
go get github.com/pion/webrtc/v4/examples/data-channels
|
||||||
```
|
```
|
||||||
|
|
||||||
### Open data-channels example page
|
### Open data-channels example page
|
||||||
|
@@ -10,8 +10,8 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"syscall/js"
|
"syscall/js"
|
||||||
|
|
||||||
"github.com/pion/webrtc/v3"
|
"github.com/pion/webrtc/v4"
|
||||||
"github.com/pion/webrtc/v3/examples/internal/signal"
|
"github.com/pion/webrtc/v4/examples/internal/signal"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
@@ -9,8 +9,8 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/pion/webrtc/v3"
|
"github.com/pion/webrtc/v4"
|
||||||
"github.com/pion/webrtc/v3/examples/internal/signal"
|
"github.com/pion/webrtc/v4/examples/internal/signal"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
@@ -10,7 +10,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/pion/webrtc/v3"
|
"github.com/pion/webrtc/v4"
|
||||||
)
|
)
|
||||||
|
|
||||||
var peerConnection *webrtc.PeerConnection //nolint
|
var peerConnection *webrtc.PeerConnection //nolint
|
||||||
|
@@ -14,7 +14,7 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/pion/ice/v3"
|
"github.com/pion/ice/v3"
|
||||||
"github.com/pion/webrtc/v3"
|
"github.com/pion/webrtc/v4"
|
||||||
)
|
)
|
||||||
|
|
||||||
var api *webrtc.API //nolint
|
var api *webrtc.API //nolint
|
||||||
|
@@ -16,7 +16,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/pion/webrtc/v3"
|
"github.com/pion/webrtc/v4"
|
||||||
)
|
)
|
||||||
|
|
||||||
var api *webrtc.API //nolint
|
var api *webrtc.API //nolint
|
||||||
|
@@ -15,7 +15,7 @@ ffmpeg -i $INPUT_FILE -g 30 output.ivf
|
|||||||
### Download insertable-streams
|
### Download insertable-streams
|
||||||
```
|
```
|
||||||
export GO111MODULE=on
|
export GO111MODULE=on
|
||||||
go get github.com/pion/webrtc/v3/examples/insertable-streams
|
go get github.com/pion/webrtc/v4/examples/insertable-streams
|
||||||
```
|
```
|
||||||
|
|
||||||
### Open insertable-streams example page
|
### Open insertable-streams example page
|
||||||
|
@@ -15,10 +15,10 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/pion/webrtc/v3"
|
"github.com/pion/webrtc/v4"
|
||||||
"github.com/pion/webrtc/v3/examples/internal/signal"
|
"github.com/pion/webrtc/v4/examples/internal/signal"
|
||||||
"github.com/pion/webrtc/v3/pkg/media"
|
"github.com/pion/webrtc/v4/pkg/media"
|
||||||
"github.com/pion/webrtc/v3/pkg/media/ivfreader"
|
"github.com/pion/webrtc/v4/pkg/media/ivfreader"
|
||||||
)
|
)
|
||||||
|
|
||||||
const cipherKey = 0xAA
|
const cipherKey = 0xAA
|
||||||
|
@@ -10,7 +10,7 @@ In this example we have defined a simple JSON based signaling protocol.
|
|||||||
### Download ortc
|
### Download ortc
|
||||||
```
|
```
|
||||||
export GO111MODULE=on
|
export GO111MODULE=on
|
||||||
go get github.com/pion/webrtc/v3/examples/ortc
|
go get github.com/pion/webrtc/v4/examples/ortc
|
||||||
```
|
```
|
||||||
|
|
||||||
### Run first client as offerer
|
### Run first client as offerer
|
||||||
|
@@ -12,8 +12,8 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/pion/webrtc/v3"
|
"github.com/pion/webrtc/v4"
|
||||||
"github.com/pion/webrtc/v3/examples/internal/signal"
|
"github.com/pion/webrtc/v4/examples/internal/signal"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
@@ -8,12 +8,12 @@ The `answer` side acts like a HTTP server and should therefore be ran first.
|
|||||||
First run `answer`:
|
First run `answer`:
|
||||||
```sh
|
```sh
|
||||||
export GO111MODULE=on
|
export GO111MODULE=on
|
||||||
go install github.com/pion/webrtc/v3/examples/pion-to-pion/answer
|
go install github.com/pion/webrtc/v4/examples/pion-to-pion/answer
|
||||||
answer
|
answer
|
||||||
```
|
```
|
||||||
Next, run `offer`:
|
Next, run `offer`:
|
||||||
```sh
|
```sh
|
||||||
go install github.com/pion/webrtc/v3/examples/pion-to-pion/offer
|
go install github.com/pion/webrtc/v4/examples/pion-to-pion/offer
|
||||||
offer
|
offer
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@@ -4,7 +4,7 @@
|
|||||||
FROM golang:1.21
|
FROM golang:1.21
|
||||||
|
|
||||||
ENV GO111MODULE=on
|
ENV GO111MODULE=on
|
||||||
RUN go install github.com/pion/webrtc/v3/examples/pion-to-pion/answer@latest
|
RUN go install github.com/pion/webrtc/v4/examples/pion-to-pion/answer@latest
|
||||||
|
|
||||||
CMD ["answer"]
|
CMD ["answer"]
|
||||||
|
|
||||||
|
@@ -15,8 +15,8 @@ import (
|
|||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/pion/webrtc/v3"
|
"github.com/pion/webrtc/v4"
|
||||||
"github.com/pion/webrtc/v3/examples/internal/signal"
|
"github.com/pion/webrtc/v4/examples/internal/signal"
|
||||||
)
|
)
|
||||||
|
|
||||||
func signalCandidate(addr string, c *webrtc.ICECandidate) error {
|
func signalCandidate(addr string, c *webrtc.ICECandidate) error {
|
||||||
|
@@ -4,6 +4,6 @@
|
|||||||
FROM golang:1.21
|
FROM golang:1.21
|
||||||
|
|
||||||
ENV GO111MODULE=on
|
ENV GO111MODULE=on
|
||||||
RUN go install github.com/pion/webrtc/v3/examples/pion-to-pion/offer@latest
|
RUN go install github.com/pion/webrtc/v4/examples/pion-to-pion/offer@latest
|
||||||
|
|
||||||
CMD ["offer"]
|
CMD ["offer"]
|
||||||
|
@@ -15,8 +15,8 @@ import (
|
|||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/pion/webrtc/v3"
|
"github.com/pion/webrtc/v4"
|
||||||
"github.com/pion/webrtc/v3/examples/internal/signal"
|
"github.com/pion/webrtc/v4/examples/internal/signal"
|
||||||
)
|
)
|
||||||
|
|
||||||
func signalCandidate(addr string, c *webrtc.ICECandidate) error {
|
func signalCandidate(addr string, c *webrtc.ICECandidate) error {
|
||||||
|
@@ -16,9 +16,9 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/pion/randutil"
|
"github.com/pion/randutil"
|
||||||
"github.com/pion/webrtc/v3"
|
"github.com/pion/webrtc/v4"
|
||||||
"github.com/pion/webrtc/v3/pkg/media"
|
"github.com/pion/webrtc/v4/pkg/media"
|
||||||
"github.com/pion/webrtc/v3/pkg/media/ivfreader"
|
"github.com/pion/webrtc/v4/pkg/media/ivfreader"
|
||||||
)
|
)
|
||||||
|
|
||||||
var peerConnection *webrtc.PeerConnection //nolint
|
var peerConnection *webrtc.PeerConnection //nolint
|
||||||
|
@@ -16,7 +16,7 @@ ffmpeg -i $INPUT_FILE -c:a libopus -page_duration 20000 -vn output.ogg
|
|||||||
|
|
||||||
```
|
```
|
||||||
export GO111MODULE=on
|
export GO111MODULE=on
|
||||||
go get github.com/pion/webrtc/v3/examples/play-from-disk
|
go get github.com/pion/webrtc/v4/examples/play-from-disk
|
||||||
```
|
```
|
||||||
|
|
||||||
### Open play-from-disk example page
|
### Open play-from-disk example page
|
||||||
|
@@ -15,11 +15,11 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/pion/webrtc/v3"
|
"github.com/pion/webrtc/v4"
|
||||||
"github.com/pion/webrtc/v3/examples/internal/signal"
|
"github.com/pion/webrtc/v4/examples/internal/signal"
|
||||||
"github.com/pion/webrtc/v3/pkg/media"
|
"github.com/pion/webrtc/v4/pkg/media"
|
||||||
"github.com/pion/webrtc/v3/pkg/media/ivfreader"
|
"github.com/pion/webrtc/v4/pkg/media/ivfreader"
|
||||||
"github.com/pion/webrtc/v3/pkg/media/oggreader"
|
"github.com/pion/webrtc/v4/pkg/media/oggreader"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@@ -5,7 +5,7 @@ reflect demonstrates how with one PeerConnection you can send video to Pion and
|
|||||||
### Download reflect
|
### Download reflect
|
||||||
```
|
```
|
||||||
export GO111MODULE=on
|
export GO111MODULE=on
|
||||||
go get github.com/pion/webrtc/v3/examples/reflect
|
go get github.com/pion/webrtc/v4/examples/reflect
|
||||||
```
|
```
|
||||||
|
|
||||||
### Open reflect example page
|
### Open reflect example page
|
||||||
|
@@ -13,8 +13,8 @@ import (
|
|||||||
|
|
||||||
"github.com/pion/interceptor"
|
"github.com/pion/interceptor"
|
||||||
"github.com/pion/interceptor/pkg/intervalpli"
|
"github.com/pion/interceptor/pkg/intervalpli"
|
||||||
"github.com/pion/webrtc/v3"
|
"github.com/pion/webrtc/v4"
|
||||||
"github.com/pion/webrtc/v3/examples/internal/signal"
|
"github.com/pion/webrtc/v4/examples/internal/signal"
|
||||||
)
|
)
|
||||||
|
|
||||||
// nolint:gocognit
|
// nolint:gocognit
|
||||||
|
@@ -12,7 +12,7 @@ also craft messages to influence the media quality.
|
|||||||
### Download rtcp-processing
|
### Download rtcp-processing
|
||||||
```
|
```
|
||||||
export GO111MODULE=on
|
export GO111MODULE=on
|
||||||
go get github.com/pion/webrtc/v3/examples/rtcp-processing
|
go get github.com/pion/webrtc/v4/examples/rtcp-processing
|
||||||
```
|
```
|
||||||
|
|
||||||
### Open rtcp-processing example page
|
### Open rtcp-processing example page
|
||||||
|
@@ -10,8 +10,8 @@ package main
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"github.com/pion/webrtc/v3"
|
"github.com/pion/webrtc/v4"
|
||||||
"github.com/pion/webrtc/v3/examples/internal/signal"
|
"github.com/pion/webrtc/v4/examples/internal/signal"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
@@ -5,7 +5,7 @@ rtp-forwarder is a simple application that shows how to forward your webcam/micr
|
|||||||
### Download rtp-forwarder
|
### Download rtp-forwarder
|
||||||
```
|
```
|
||||||
export GO111MODULE=on
|
export GO111MODULE=on
|
||||||
go get github.com/pion/webrtc/v3/examples/rtp-forwarder
|
go get github.com/pion/webrtc/v4/examples/rtp-forwarder
|
||||||
```
|
```
|
||||||
|
|
||||||
### Open rtp-forwarder example page
|
### Open rtp-forwarder example page
|
||||||
|
@@ -16,8 +16,8 @@ import (
|
|||||||
"github.com/pion/interceptor"
|
"github.com/pion/interceptor"
|
||||||
"github.com/pion/interceptor/pkg/intervalpli"
|
"github.com/pion/interceptor/pkg/intervalpli"
|
||||||
"github.com/pion/rtp"
|
"github.com/pion/rtp"
|
||||||
"github.com/pion/webrtc/v3"
|
"github.com/pion/webrtc/v4"
|
||||||
"github.com/pion/webrtc/v3/examples/internal/signal"
|
"github.com/pion/webrtc/v4/examples/internal/signal"
|
||||||
)
|
)
|
||||||
|
|
||||||
type udpConn struct {
|
type udpConn struct {
|
||||||
|
@@ -7,7 +7,7 @@ With this example we have pre-made GStreamer and ffmpeg pipelines, but you can u
|
|||||||
### Download rtp-to-webrtc
|
### Download rtp-to-webrtc
|
||||||
```
|
```
|
||||||
export GO111MODULE=on
|
export GO111MODULE=on
|
||||||
go get github.com/pion/webrtc/v3/examples/rtp-to-webrtc
|
go get github.com/pion/webrtc/v4/examples/rtp-to-webrtc
|
||||||
```
|
```
|
||||||
|
|
||||||
### Open jsfiddle example page
|
### Open jsfiddle example page
|
||||||
|
@@ -13,8 +13,8 @@ import (
|
|||||||
"io"
|
"io"
|
||||||
"net"
|
"net"
|
||||||
|
|
||||||
"github.com/pion/webrtc/v3"
|
"github.com/pion/webrtc/v4"
|
||||||
"github.com/pion/webrtc/v3/examples/internal/signal"
|
"github.com/pion/webrtc/v4/examples/internal/signal"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
@@ -11,7 +11,7 @@ You can then send this video back to your browser using [play-from-disk](https:/
|
|||||||
### Download save-to-disk-av1
|
### Download save-to-disk-av1
|
||||||
```
|
```
|
||||||
export GO111MODULE=on
|
export GO111MODULE=on
|
||||||
go get github.com/pion/webrtc/v3/examples/save-to-disk-av1
|
go get github.com/pion/webrtc/v4/examples/save-to-disk-av1
|
||||||
```
|
```
|
||||||
|
|
||||||
### Open save-to-disk-av1 example page
|
### Open save-to-disk-av1 example page
|
||||||
|
@@ -14,10 +14,10 @@ import (
|
|||||||
|
|
||||||
"github.com/pion/interceptor"
|
"github.com/pion/interceptor"
|
||||||
"github.com/pion/interceptor/pkg/intervalpli"
|
"github.com/pion/interceptor/pkg/intervalpli"
|
||||||
"github.com/pion/webrtc/v3"
|
"github.com/pion/webrtc/v4"
|
||||||
"github.com/pion/webrtc/v3/examples/internal/signal"
|
"github.com/pion/webrtc/v4/examples/internal/signal"
|
||||||
"github.com/pion/webrtc/v3/pkg/media"
|
"github.com/pion/webrtc/v4/pkg/media"
|
||||||
"github.com/pion/webrtc/v3/pkg/media/ivfwriter"
|
"github.com/pion/webrtc/v4/pkg/media/ivfwriter"
|
||||||
)
|
)
|
||||||
|
|
||||||
func saveToDisk(i media.Writer, track *webrtc.TrackRemote) {
|
func saveToDisk(i media.Writer, track *webrtc.TrackRemote) {
|
||||||
|
@@ -11,7 +11,7 @@ You can then send this video back to your browser using [play-from-disk](https:/
|
|||||||
### Download save-to-disk
|
### Download save-to-disk
|
||||||
```
|
```
|
||||||
export GO111MODULE=on
|
export GO111MODULE=on
|
||||||
go get github.com/pion/webrtc/v3/examples/save-to-disk
|
go get github.com/pion/webrtc/v4/examples/save-to-disk
|
||||||
```
|
```
|
||||||
|
|
||||||
### Open save-to-disk example page
|
### Open save-to-disk example page
|
||||||
|
@@ -14,11 +14,11 @@ import (
|
|||||||
|
|
||||||
"github.com/pion/interceptor"
|
"github.com/pion/interceptor"
|
||||||
"github.com/pion/interceptor/pkg/intervalpli"
|
"github.com/pion/interceptor/pkg/intervalpli"
|
||||||
"github.com/pion/webrtc/v3"
|
"github.com/pion/webrtc/v4"
|
||||||
"github.com/pion/webrtc/v3/examples/internal/signal"
|
"github.com/pion/webrtc/v4/examples/internal/signal"
|
||||||
"github.com/pion/webrtc/v3/pkg/media"
|
"github.com/pion/webrtc/v4/pkg/media"
|
||||||
"github.com/pion/webrtc/v3/pkg/media/ivfwriter"
|
"github.com/pion/webrtc/v4/pkg/media/ivfwriter"
|
||||||
"github.com/pion/webrtc/v3/pkg/media/oggwriter"
|
"github.com/pion/webrtc/v4/pkg/media/oggwriter"
|
||||||
)
|
)
|
||||||
|
|
||||||
func saveToDisk(i media.Writer, track *webrtc.TrackRemote) {
|
func saveToDisk(i media.Writer, track *webrtc.TrackRemote) {
|
||||||
|
@@ -9,7 +9,7 @@ is selected.
|
|||||||
### Download simulcast
|
### Download simulcast
|
||||||
```
|
```
|
||||||
export GO111MODULE=on
|
export GO111MODULE=on
|
||||||
go get github.com/pion/webrtc/v3/examples/simulcast
|
go get github.com/pion/webrtc/v4/examples/simulcast
|
||||||
```
|
```
|
||||||
|
|
||||||
### Open simulcast example page
|
### Open simulcast example page
|
||||||
|
@@ -16,8 +16,8 @@ import (
|
|||||||
|
|
||||||
"github.com/pion/interceptor"
|
"github.com/pion/interceptor"
|
||||||
"github.com/pion/rtcp"
|
"github.com/pion/rtcp"
|
||||||
"github.com/pion/webrtc/v3"
|
"github.com/pion/webrtc/v4"
|
||||||
"github.com/pion/webrtc/v3/examples/internal/signal"
|
"github.com/pion/webrtc/v4/examples/internal/signal"
|
||||||
)
|
)
|
||||||
|
|
||||||
// nolint:gocognit
|
// nolint:gocognit
|
||||||
|
@@ -8,7 +8,7 @@ during a session and why.
|
|||||||
### Download stats
|
### Download stats
|
||||||
```
|
```
|
||||||
export GO111MODULE=on
|
export GO111MODULE=on
|
||||||
go get github.com/pion/webrtc/v3/examples/stats
|
go get github.com/pion/webrtc/v4/examples/stats
|
||||||
```
|
```
|
||||||
|
|
||||||
### Open stats example page
|
### Open stats example page
|
||||||
|
@@ -13,8 +13,8 @@ import (
|
|||||||
|
|
||||||
"github.com/pion/interceptor"
|
"github.com/pion/interceptor"
|
||||||
"github.com/pion/interceptor/pkg/stats"
|
"github.com/pion/interceptor/pkg/stats"
|
||||||
"github.com/pion/webrtc/v3"
|
"github.com/pion/webrtc/v4"
|
||||||
"github.com/pion/webrtc/v3/examples/internal/signal"
|
"github.com/pion/webrtc/v4/examples/internal/signal"
|
||||||
)
|
)
|
||||||
|
|
||||||
// nolint:gocognit
|
// nolint:gocognit
|
||||||
|
@@ -5,7 +5,7 @@ swap-tracks demonstrates how to swap multiple incoming tracks on a single outgoi
|
|||||||
### Download swap-tracks
|
### Download swap-tracks
|
||||||
```
|
```
|
||||||
export GO111MODULE=on
|
export GO111MODULE=on
|
||||||
go get github.com/pion/webrtc/v3/examples/swap-tracks
|
go get github.com/pion/webrtc/v4/examples/swap-tracks
|
||||||
```
|
```
|
||||||
|
|
||||||
### Open swap-tracks example page
|
### Open swap-tracks example page
|
||||||
|
@@ -16,8 +16,8 @@ import (
|
|||||||
|
|
||||||
"github.com/pion/rtcp"
|
"github.com/pion/rtcp"
|
||||||
"github.com/pion/rtp"
|
"github.com/pion/rtp"
|
||||||
"github.com/pion/webrtc/v3"
|
"github.com/pion/webrtc/v4"
|
||||||
"github.com/pion/webrtc/v3/examples/internal/signal"
|
"github.com/pion/webrtc/v4/examples/internal/signal"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() { // nolint:gocognit
|
func main() { // nolint:gocognit
|
||||||
|
@@ -10,7 +10,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/pion/webrtc/v3"
|
"github.com/pion/webrtc/v4"
|
||||||
"golang.org/x/net/websocket"
|
"golang.org/x/net/websocket"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@@ -17,7 +17,7 @@ import (
|
|||||||
|
|
||||||
"github.com/pion/logging"
|
"github.com/pion/logging"
|
||||||
"github.com/pion/transport/v3/vnet"
|
"github.com/pion/transport/v3/vnet"
|
||||||
"github.com/pion/webrtc/v3"
|
"github.com/pion/webrtc/v4"
|
||||||
)
|
)
|
||||||
|
|
||||||
/* VNet Configuration
|
/* VNet Configuration
|
||||||
|
2
go.mod
2
go.mod
@@ -1,4 +1,4 @@
|
|||||||
module github.com/pion/webrtc/v3
|
module github.com/pion/webrtc/v4
|
||||||
|
|
||||||
go 1.13
|
go 1.13
|
||||||
|
|
||||||
|
@@ -10,7 +10,7 @@ import (
|
|||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
|
||||||
"github.com/pion/stun"
|
"github.com/pion/stun"
|
||||||
"github.com/pion/webrtc/v3/pkg/rtcerr"
|
"github.com/pion/webrtc/v4/pkg/rtcerr"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ICEServer describes a single STUN and TURN server that can be used by
|
// ICEServer describes a single STUN and TURN server that can be used by
|
||||||
|
@@ -11,7 +11,7 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/pion/stun"
|
"github.com/pion/stun"
|
||||||
"github.com/pion/webrtc/v3/pkg/rtcerr"
|
"github.com/pion/webrtc/v4/pkg/rtcerr"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@@ -15,7 +15,7 @@ import (
|
|||||||
|
|
||||||
"github.com/pion/ice/v3"
|
"github.com/pion/ice/v3"
|
||||||
"github.com/pion/logging"
|
"github.com/pion/logging"
|
||||||
"github.com/pion/webrtc/v3/internal/mux"
|
"github.com/pion/webrtc/v4/internal/mux"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ICETransport allows an application access to information about the ICE
|
// ICETransport allows an application access to information about the ICE
|
||||||
|
@@ -17,7 +17,7 @@ import (
|
|||||||
mock_interceptor "github.com/pion/interceptor/pkg/mock"
|
mock_interceptor "github.com/pion/interceptor/pkg/mock"
|
||||||
"github.com/pion/rtp"
|
"github.com/pion/rtp"
|
||||||
"github.com/pion/transport/v3/test"
|
"github.com/pion/transport/v3/test"
|
||||||
"github.com/pion/webrtc/v3/pkg/media"
|
"github.com/pion/webrtc/v4/pkg/media"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@@ -16,7 +16,7 @@ import (
|
|||||||
"github.com/pion/rtp"
|
"github.com/pion/rtp"
|
||||||
"github.com/pion/rtp/codecs"
|
"github.com/pion/rtp/codecs"
|
||||||
"github.com/pion/sdp/v3"
|
"github.com/pion/sdp/v3"
|
||||||
"github.com/pion/webrtc/v3/internal/fmtp"
|
"github.com/pion/webrtc/v4/internal/fmtp"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@@ -12,7 +12,7 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/pion/transport/v3/test"
|
"github.com/pion/transport/v3/test"
|
||||||
"github.com/pion/webrtc/v3/pkg/media"
|
"github.com/pion/webrtc/v4/pkg/media"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@@ -7,7 +7,7 @@
|
|||||||
package webrtc
|
package webrtc
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/pion/webrtc/v3/internal/util"
|
"github.com/pion/webrtc/v4/internal/util"
|
||||||
)
|
)
|
||||||
|
|
||||||
type testORTCStack struct {
|
type testORTCStack struct {
|
||||||
|
@@ -25,8 +25,8 @@ import (
|
|||||||
"github.com/pion/rtcp"
|
"github.com/pion/rtcp"
|
||||||
"github.com/pion/sdp/v3"
|
"github.com/pion/sdp/v3"
|
||||||
"github.com/pion/srtp/v3"
|
"github.com/pion/srtp/v3"
|
||||||
"github.com/pion/webrtc/v3/internal/util"
|
"github.com/pion/webrtc/v4/internal/util"
|
||||||
"github.com/pion/webrtc/v3/pkg/rtcerr"
|
"github.com/pion/webrtc/v4/pkg/rtcerr"
|
||||||
)
|
)
|
||||||
|
|
||||||
// PeerConnection represents a WebRTC connection that establishes a
|
// PeerConnection represents a WebRTC connection that establishes a
|
||||||
|
@@ -26,8 +26,8 @@ import (
|
|||||||
"github.com/pion/rtp"
|
"github.com/pion/rtp"
|
||||||
"github.com/pion/transport/v3/test"
|
"github.com/pion/transport/v3/test"
|
||||||
"github.com/pion/transport/v3/vnet"
|
"github.com/pion/transport/v3/vnet"
|
||||||
"github.com/pion/webrtc/v3/internal/util"
|
"github.com/pion/webrtc/v4/internal/util"
|
||||||
"github.com/pion/webrtc/v3/pkg/rtcerr"
|
"github.com/pion/webrtc/v4/pkg/rtcerr"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@@ -11,7 +11,7 @@ import (
|
|||||||
"syscall/js"
|
"syscall/js"
|
||||||
|
|
||||||
"github.com/pion/ice/v3"
|
"github.com/pion/ice/v3"
|
||||||
"github.com/pion/webrtc/v3/pkg/rtcerr"
|
"github.com/pion/webrtc/v4/pkg/rtcerr"
|
||||||
)
|
)
|
||||||
|
|
||||||
// PeerConnection represents a WebRTC connection that establishes a
|
// PeerConnection represents a WebRTC connection that establishes a
|
||||||
|
@@ -25,7 +25,7 @@ import (
|
|||||||
"github.com/pion/sdp/v3"
|
"github.com/pion/sdp/v3"
|
||||||
"github.com/pion/transport/v3/test"
|
"github.com/pion/transport/v3/test"
|
||||||
"github.com/pion/transport/v3/vnet"
|
"github.com/pion/transport/v3/vnet"
|
||||||
"github.com/pion/webrtc/v3/pkg/media"
|
"github.com/pion/webrtc/v4/pkg/media"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
)
|
)
|
||||||
|
@@ -20,9 +20,9 @@ import (
|
|||||||
|
|
||||||
"github.com/pion/rtp"
|
"github.com/pion/rtp"
|
||||||
"github.com/pion/transport/v3/test"
|
"github.com/pion/transport/v3/test"
|
||||||
"github.com/pion/webrtc/v3/internal/util"
|
"github.com/pion/webrtc/v4/internal/util"
|
||||||
"github.com/pion/webrtc/v3/pkg/media"
|
"github.com/pion/webrtc/v4/pkg/media"
|
||||||
"github.com/pion/webrtc/v3/pkg/rtcerr"
|
"github.com/pion/webrtc/v4/pkg/rtcerr"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
)
|
)
|
||||||
|
@@ -12,7 +12,7 @@ import (
|
|||||||
|
|
||||||
"github.com/pion/sdp/v3"
|
"github.com/pion/sdp/v3"
|
||||||
"github.com/pion/transport/v3/test"
|
"github.com/pion/transport/v3/test"
|
||||||
"github.com/pion/webrtc/v3/pkg/rtcerr"
|
"github.com/pion/webrtc/v4/pkg/rtcerr"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@@ -9,7 +9,7 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/pion/rtp"
|
"github.com/pion/rtp"
|
||||||
"github.com/pion/webrtc/v3/pkg/media"
|
"github.com/pion/webrtc/v4/pkg/media"
|
||||||
)
|
)
|
||||||
|
|
||||||
// SampleBuilder buffers packets until media frames are complete.
|
// SampleBuilder buffers packets until media frames are complete.
|
||||||
|
@@ -9,7 +9,7 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/pion/rtp"
|
"github.com/pion/rtp"
|
||||||
"github.com/pion/webrtc/v3/pkg/media"
|
"github.com/pion/webrtc/v4/pkg/media"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@@ -6,7 +6,7 @@ package webrtc
|
|||||||
import (
|
import (
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/pion/webrtc/v3/internal/fmtp"
|
"github.com/pion/webrtc/v4/internal/fmtp"
|
||||||
)
|
)
|
||||||
|
|
||||||
// RTPCodecType determines the type of a codec
|
// RTPCodecType determines the type of a codec
|
||||||
|
@@ -15,7 +15,7 @@ import (
|
|||||||
"github.com/pion/interceptor"
|
"github.com/pion/interceptor"
|
||||||
"github.com/pion/rtcp"
|
"github.com/pion/rtcp"
|
||||||
"github.com/pion/srtp/v3"
|
"github.com/pion/srtp/v3"
|
||||||
"github.com/pion/webrtc/v3/internal/util"
|
"github.com/pion/webrtc/v4/internal/util"
|
||||||
)
|
)
|
||||||
|
|
||||||
// trackStreams maintains a mapping of RTP/RTCP streams to a specific track
|
// trackStreams maintains a mapping of RTP/RTCP streams to a specific track
|
||||||
|
@@ -11,7 +11,7 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/pion/webrtc/v3/pkg/media"
|
"github.com/pion/webrtc/v4/pkg/media"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@@ -12,7 +12,7 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/pion/transport/v3/test"
|
"github.com/pion/transport/v3/test"
|
||||||
"github.com/pion/webrtc/v3/pkg/media"
|
"github.com/pion/webrtc/v4/pkg/media"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@@ -16,7 +16,7 @@ import (
|
|||||||
"github.com/pion/randutil"
|
"github.com/pion/randutil"
|
||||||
"github.com/pion/rtcp"
|
"github.com/pion/rtcp"
|
||||||
"github.com/pion/rtp"
|
"github.com/pion/rtp"
|
||||||
"github.com/pion/webrtc/v3/internal/util"
|
"github.com/pion/webrtc/v4/internal/util"
|
||||||
)
|
)
|
||||||
|
|
||||||
type trackEncoding struct {
|
type trackEncoding struct {
|
||||||
|
@@ -15,7 +15,7 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/pion/transport/v3/test"
|
"github.com/pion/transport/v3/test"
|
||||||
"github.com/pion/webrtc/v3/pkg/media"
|
"github.com/pion/webrtc/v4/pkg/media"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@@ -16,7 +16,7 @@ import (
|
|||||||
"github.com/pion/datachannel"
|
"github.com/pion/datachannel"
|
||||||
"github.com/pion/logging"
|
"github.com/pion/logging"
|
||||||
"github.com/pion/sctp"
|
"github.com/pion/sctp"
|
||||||
"github.com/pion/webrtc/v3/pkg/rtcerr"
|
"github.com/pion/webrtc/v4/pkg/rtcerr"
|
||||||
)
|
)
|
||||||
|
|
||||||
const sctpMaxChannels = uint16(65535)
|
const sctpMaxChannels = uint16(65535)
|
||||||
|
@@ -7,7 +7,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"sync/atomic"
|
"sync/atomic"
|
||||||
|
|
||||||
"github.com/pion/webrtc/v3/pkg/rtcerr"
|
"github.com/pion/webrtc/v4/pkg/rtcerr"
|
||||||
)
|
)
|
||||||
|
|
||||||
type stateChangeOp int
|
type stateChangeOp int
|
||||||
|
@@ -6,7 +6,7 @@ package webrtc
|
|||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/pion/webrtc/v3/pkg/rtcerr"
|
"github.com/pion/webrtc/v4/pkg/rtcerr"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@@ -11,8 +11,8 @@ import (
|
|||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
"github.com/pion/rtp"
|
"github.com/pion/rtp"
|
||||||
"github.com/pion/webrtc/v3/internal/util"
|
"github.com/pion/webrtc/v4/internal/util"
|
||||||
"github.com/pion/webrtc/v3/pkg/media"
|
"github.com/pion/webrtc/v4/pkg/media"
|
||||||
)
|
)
|
||||||
|
|
||||||
// trackBinding is a single bind for a Track
|
// trackBinding is a single bind for a Track
|
||||||
|
Reference in New Issue
Block a user