Move connections to their own package.
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
// Copyright (c) 2020 by Juliusz Chroboczek.
|
||||
|
||||
// This is not open source software. Copy it, and I'll break into your
|
||||
// house and tell your three year-old that Santa doesn't exist.
|
||||
|
||||
// Package conn defines interfaces for connections and tracks.
|
||||
package conn
|
||||
|
||||
import (
|
||||
"errors"
|
||||
|
||||
"github.com/pion/rtp"
|
||||
"github.com/pion/webrtc/v3"
|
||||
)
|
||||
|
||||
var ErrConnectionClosed = errors.New("connection is closed")
|
||||
var ErrKeyframeNeeded = errors.New("keyframe needed")
|
||||
|
||||
// Type Up represents a connection in the client to server direction.
|
||||
type Up interface {
|
||||
AddLocal(Down) error
|
||||
DelLocal(Down) bool
|
||||
Id() string
|
||||
Label() string
|
||||
}
|
||||
|
||||
// Type UpTrack represents a track in the client to server direction.
|
||||
type UpTrack interface {
|
||||
AddLocal(DownTrack) error
|
||||
DelLocal(DownTrack) bool
|
||||
Label() string
|
||||
Codec() *webrtc.RTPCodec
|
||||
// get a recent packet. Returns 0 if the packet is not in cache.
|
||||
GetRTP(seqno uint16, result []byte) uint16
|
||||
}
|
||||
|
||||
// Type Down represents a connection in the server to client direction.
|
||||
type Down interface {
|
||||
GetMaxBitrate(now uint64) uint64
|
||||
}
|
||||
|
||||
// Type DownTrack represents a track in the server to client direction.
|
||||
type DownTrack interface {
|
||||
WriteRTP(packat *rtp.Packet) error
|
||||
Accumulate(bytes uint32)
|
||||
SetTimeOffset(ntp uint64, rtp uint32)
|
||||
SetCname(string)
|
||||
}
|
||||
Reference in New Issue
Block a user