1
Fork 0
mirror of https://github.com/jech/galene.git synced 2024-11-25 18:15:57 +01:00
galene/conn.go

45 lines
1,021 B
Go
Raw Normal View History

// 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 main
import (
2020-05-22 23:07:38 +02:00
"errors"
"github.com/pion/rtp"
2020-07-16 20:17:32 +02:00
"github.com/pion/webrtc/v3"
)
2020-05-30 03:36:15 +02:00
var ErrConnectionClosed = errors.New("connection is closed")
2020-06-08 22:14:28 +02:00
var ErrKeyframeNeeded = errors.New("keyframe needed")
2020-05-30 03:36:15 +02:00
2020-06-08 22:14:28 +02:00
type upConnection interface {
addLocal(downConnection) error
delLocal(downConnection) bool
Id() string
Label() string
}
2020-06-08 22:14:28 +02:00
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
// returns the last timestamp, if possible
getTimestamp() (uint32, bool)
}
2020-06-08 22:14:28 +02:00
type downConnection interface {
GetMaxBitrate(now uint64) uint64
}
type downTrack interface {
WriteRTP(packat *rtp.Packet) error
Accumulate(bytes uint32)
setTimeOffset(ntp uint64, rtp uint32)
}