Documentation ¶
Index ¶
- func MakeSampleIVFTrack(ffmpegPath, Testsrc, Filter, Bandwidth string) (webrtc.TrackLocal, error)
- type Bridge
- type BridgeFactory
- type BridgePeer
- type Entrance
- type EntranceFactory
- type ProceedTrackParam
- type Publisher
- func (p Publisher) AddTrack(track webrtc.TrackLocal) (*webrtc.RTPSender, error)
- func (p Publisher) Lock(sid util.Param, OnBroken func(badGay error)) error
- func (p Publisher) RemoveTrack(sender *webrtc.RTPSender) error
- func (p Publisher) Repair(util.Param) error
- func (p Publisher) Update(util.Param) error
- type PublisherFactory
- type SID
- type SimpleFFmpegTestsrcPublisher
- type Subscriber
- type SubscriberFactory
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func MakeSampleIVFTrack ¶
Types ¶
type Bridge ¶
type Bridge struct { EntranceFactory // Bridge should have the ability to generate Entrance // But Bridge only have 1 Publisher in EntranceFactory, if this Publisher broken, the the bridge broken algorithms.Processor // contains filtered or unexported fields }
type BridgeFactory ¶
type BridgeFactory struct { PublisherFactory algorithms.ProcessorFactory // contains filtered or unexported fields }
func NewBridgeFactory ¶
func NewBridgeFactory(sfu *ion_sfu.SFU, fact algorithms.ProcessorFactory) BridgeFactory
func (BridgeFactory) NewDoor ¶
func (b BridgeFactory) NewDoor() (util.UnblockedDoor, error)
type BridgePeer ¶
type BridgePeer struct {
// contains filtered or unexported fields
}
func NewBridgePeer ¶
func NewBridgePeer(peer *ion_sfu.PeerLocal, pc *webrtc.PeerConnection) BridgePeer
func (BridgePeer) Remove ¶
func (p BridgePeer) Remove()
type Entrance ¶
type Entrance struct { Subscriber // Subscriber is its entrance, Entrance is also a Subscriber // contains filtered or unexported fields }
Entrance of a Bridge
type EntranceFactory ¶
type EntranceFactory struct { SubscriberFactory // contains filtered or unexported fields }
EntranceFactory create Entrance for a bridge All the Entrance(or in other words, Subscriber) should put their track into same Processor
func (EntranceFactory) NewDoor ¶
func (e EntranceFactory) NewDoor() (util.UnblockedDoor, error)
type ProceedTrackParam ¶
type ProceedTrackParam struct {
*pb.ProceedTrack
}
func (ProceedTrackParam) Clone ¶
func (t ProceedTrackParam) Clone() util.Param
type Publisher ¶
type Publisher struct {
BridgePeer
}
func (Publisher) RemoveTrack ¶
type PublisherFactory ¶
type PublisherFactory struct {
// contains filtered or unexported fields
}
func NewPublisherFactory ¶
func NewPublisherFactory(sfu *ion_sfu.SFU) PublisherFactory
func (PublisherFactory) NewDoor ¶
func (p PublisherFactory) NewDoor() (util.UnblockedDoor, error)
type SimpleFFmpegTestsrcPublisher ¶
type SimpleFFmpegTestsrcPublisher struct { PublisherFactory Filter string Bandwidth string Testsrc string // contains filtered or unexported fields }
SimpleFFmpegTestsrcPublisher a Publisher get video from ffmpeg -f lavfi -i testsrc=XXX WARNING: 根本停不下来
func NewSimpleFFmpegTestsrcPublisher ¶
func NewSimpleFFmpegTestsrcPublisher(ffmpegPath string, sfu *ion_sfu.SFU) SimpleFFmpegTestsrcPublisher
func (SimpleFFmpegTestsrcPublisher) NewDoor ¶
func (p SimpleFFmpegTestsrcPublisher) NewDoor() (util.UnblockedDoor, error)
type Subscriber ¶
type Subscriber struct {
BridgePeer
}
func (Subscriber) Lock ¶
func (s Subscriber) Lock(sid util.Param, OnBroken func(badGay error)) error
func (Subscriber) OnTrack ¶
func (s Subscriber) OnTrack(f func(*webrtc.TrackRemote, *webrtc.RTPReceiver))
type SubscriberFactory ¶
type SubscriberFactory struct {
// contains filtered or unexported fields
}
func NewSubscriberFactory ¶
func NewSubscriberFactory(sfu *ion_sfu.SFU) SubscriberFactory
func (SubscriberFactory) NewDoor ¶
func (s SubscriberFactory) NewDoor() (util.UnblockedDoor, error)
Click to show internal directories.
Click to hide internal directories.