Documentation ¶
Index ¶
- Variables
- type ComputationReporter
- type Config
- type ISGLBSyncer
- type SessionEvent
- type SessionEvent_State
- type SessionTracker
- type StupidComputationReporter
- type StupidSessionTracker
- type StupidTrackForwarder
- type StupidTrackProcesser
- type StupidTransmissionReporter
- type ToolBox
- type TrackForwarder
- type TrackProcessor
- type TransmissionReporter
Constants ¶
This section is empty.
Variables ¶
View Source
var WarnDalay = 4 * time.Second
Functions ¶
This section is empty.
Types ¶
type ComputationReporter ¶
type ComputationReporter interface { // Bind ComputationReporter to a channel // you should push your ComputationReport into this channel Bind(chan<- *pb.ComputationReport) }
ComputationReporter describe an abstract SFU that can report the Transmission quality
type ISGLBSyncer ¶
type ISGLBSyncer struct {
// contains filtered or unexported fields
}
ISGLBSyncer is a ISGLBClient to sync SFUStatus
func NewSFUStatusSyncer ¶
func (*ISGLBSyncer) NotifySFUStatus ¶
func (s *ISGLBSyncer) NotifySFUStatus()
func (*ISGLBSyncer) Start ¶
func (s *ISGLBSyncer) Start()
func (*ISGLBSyncer) Stop ¶
func (s *ISGLBSyncer) Stop()
type SessionEvent ¶
type SessionEvent struct { Session *pb.ClientNeededSession State SessionEvent_State }
SessionEvent describe a event, user's join or leave
func (*SessionEvent) Clone ¶
func (event *SessionEvent) Clone() *SessionEvent
type SessionEvent_State ¶
type SessionEvent_State int32
const ( SessionEvent_ADD SessionEvent_State = 0 SessionEvent_REMOVE SessionEvent_State = 1 )
type SessionTracker ¶
type SessionTracker interface { // FetchSessionEvent fetch a SessionEvent // Block until return a new SessionEvent FetchSessionEvent() *SessionEvent }
SessionTracker describe an abstract SFU that can report the user's join and leave
type StupidComputationReporter ¶
func (*StupidComputationReporter) Bind ¶
func (d *StupidComputationReporter) Bind(chan<- *pb.ComputationReport)
type StupidSessionTracker ¶
type StupidSessionTracker struct { }
func (StupidSessionTracker) FetchSessionEvent ¶
func (d StupidSessionTracker) FetchSessionEvent() *SessionEvent
type StupidTrackForwarder ¶
type StupidTrackForwarder struct { }
func (StupidTrackForwarder) ReplaceForwardTrack ¶
func (t StupidTrackForwarder) ReplaceForwardTrack(oldTrackInfo *pb.ForwardTrack, newTrackInfo *pb.ForwardTrack)
func (StupidTrackForwarder) StartForwardTrack ¶
func (t StupidTrackForwarder) StartForwardTrack(trackInfo *pb.ForwardTrack)
func (StupidTrackForwarder) StopForwardTrack ¶
func (t StupidTrackForwarder) StopForwardTrack(trackInfo *pb.ForwardTrack)
type StupidTrackProcesser ¶
type StupidTrackProcesser struct { }
func (StupidTrackProcesser) ReplaceProceedTrack ¶
func (t StupidTrackProcesser) ReplaceProceedTrack(oldTrackInfo *pb.ProceedTrack, newTrackInfo *pb.ProceedTrack)
func (StupidTrackProcesser) StartProceedTrack ¶
func (t StupidTrackProcesser) StartProceedTrack(trackInfo *pb.ProceedTrack)
func (StupidTrackProcesser) StopProceedTrack ¶
func (t StupidTrackProcesser) StopProceedTrack(trackInfo *pb.ProceedTrack)
type StupidTransmissionReporter ¶
func (*StupidTransmissionReporter) Bind ¶
func (d *StupidTransmissionReporter) Bind(chan<- *pb.TransmissionReport)
type ToolBox ¶
type ToolBox struct { TrackForwarder TrackForwarder TrackProcessor TrackProcessor TransmissionReporter TransmissionReporter ComputationReporter ComputationReporter SessionTracker SessionTracker }
type TrackForwarder ¶
type TrackForwarder interface { // StartForwardTrack begin a track route StartForwardTrack(trackInfo *pb.ForwardTrack) // StopForwardTrack end a track route StopForwardTrack(trackInfo *pb.ForwardTrack) // ReplaceForwardTrack change a track route ReplaceForwardTrack(oldTrackInfo *pb.ForwardTrack, newTrackInfo *pb.ForwardTrack) }
TrackForwarder describe an abstract SFU that can forward video tracks
type TrackProcessor ¶
type TrackProcessor interface { // StartProceedTrack begin a track proceed StartProceedTrack(trackInfo *pb.ProceedTrack) // StopProceedTrack end a track proceed StopProceedTrack(trackInfo *pb.ProceedTrack) // ReplaceProceedTrack change a track proceed ReplaceProceedTrack(oldTrackInfo *pb.ProceedTrack, newTrackInfo *pb.ProceedTrack) }
TrackProcessor describe an abstract SFU that can proceed video tracks
type TransmissionReporter ¶
type TransmissionReporter interface { // Bind TransmissionReporter to a channel // you should push your TransmissionReport into this channel Bind(chan<- *pb.TransmissionReport) }
TransmissionReporter describe an abstract SFU that can report the Transmission quality
Click to show internal directories.
Click to hide internal directories.