Files
livekit/pkg/sfu/streamtracker/interfaces.go
Raja Subramanian 2b031a5112 Introducing frame based stream tracker. (#1267)
* Split stream tracker impl from base

* slight re-arrangement of code

* fps based stream tracker

* MinFPS config

* switch back to packet based tracker

* use video config by default to handle sources without type
2022-12-28 13:00:21 +05:30

43 lines
779 B
Go

package streamtracker
import (
"fmt"
"time"
)
// ------------------------------------------------------------
type StreamStatusChange int32
func (s StreamStatusChange) String() string {
switch s {
case StreamStatusChangeNone:
return "none"
case StreamStatusChangeStopped:
return "stopped"
case StreamStatusChangeActive:
return "active"
default:
return fmt.Sprintf("unknown: %d", int(s))
}
}
const (
StreamStatusChangeNone StreamStatusChange = iota
StreamStatusChangeStopped
StreamStatusChangeActive
)
// ------------------------------------------------------------
type StreamTrackerImpl interface {
Start()
Stop()
Reset()
GetCheckInterval() time.Duration
Observe(hasMarker bool, ts uint32) StreamStatusChange
CheckStatus() StreamStatusChange
}