Documentation
¶
Index ¶
- type StatsInterceptor
- func (s *StatsInterceptor) BindLocalStream(_ *interceptor.StreamInfo, writer interceptor.RTPWriter) interceptor.RTPWriter
- func (s *StatsInterceptor) BindRTCPReader(reader interceptor.RTCPReader) interceptor.RTCPReader
- func (s *StatsInterceptor) BindRTCPWriter(writer interceptor.RTCPWriter) interceptor.RTCPWriter
- type StatsInterceptorFactory
- type StatsWorker
- type TelemetryService
- func (t *TelemetryService) HandleIncomingRTCP(participantID, identity string, bytes []byte)
- func (t *TelemetryService) HandleIncomingRTP(participantID, identity string, diff *buffer.Stats)
- func (t *TelemetryService) HandleOutgoingRTCP(participantID, identity string, pkts []rtcp.Packet)
- func (t *TelemetryService) HandleOutgoingRTP(participantID, identity string, pktLen uint64)
- func (t *TelemetryService) NewStatsInterceptorFactory(participantID, identity string) *StatsInterceptorFactory
- func (t *TelemetryService) ParticipantJoined(ctx context.Context, room *livekit.Room, participant *livekit.ParticipantInfo)
- func (t *TelemetryService) ParticipantLeft(ctx context.Context, room *livekit.Room, participant *livekit.ParticipantInfo)
- func (t *TelemetryService) RecordingEnded(res *livekit.RecordingResult)
- func (t *TelemetryService) RecordingStarted(ctx context.Context, recordingID string, req *livekit.StartRecordingRequest)
- func (t *TelemetryService) RoomEnded(ctx context.Context, room *livekit.Room)
- func (t *TelemetryService) RoomStarted(ctx context.Context, room *livekit.Room)
- func (t *TelemetryService) TrackPublished(participantID, identity string, track *livekit.TrackInfo, buff *buffer.Buffer)
- func (t *TelemetryService) TrackSubscribed(participantID, identity string, track *livekit.TrackInfo)
- func (t *TelemetryService) TrackUnpublished(participantID, identity string, track *livekit.TrackInfo, ssrc uint32)
- func (t *TelemetryService) TrackUnsubscribed(participantID, identity string, track *livekit.TrackInfo)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type StatsInterceptor ¶
type StatsInterceptor struct {
interceptor.NoOp
// contains filtered or unexported fields
}
func (*StatsInterceptor) BindLocalStream ¶
func (s *StatsInterceptor) BindLocalStream(_ *interceptor.StreamInfo, writer interceptor.RTPWriter) interceptor.RTPWriter
BindLocalStream lets you modify any outgoing RTP packets. It is called once for per LocalStream. The returned method will be called once per rtp packet.
func (*StatsInterceptor) BindRTCPReader ¶
func (s *StatsInterceptor) BindRTCPReader(reader interceptor.RTCPReader) interceptor.RTCPReader
BindRTCPReader lets you modify any incoming RTCP packets. It is called once per sender/receiver, however this might change in the future. The returned method will be called once per packet batch.
func (*StatsInterceptor) BindRTCPWriter ¶
func (s *StatsInterceptor) BindRTCPWriter(writer interceptor.RTCPWriter) interceptor.RTCPWriter
BindRTCPWriter lets you modify any outgoing RTCP packets. It is called once per PeerConnection. The returned method will be called once per packet batch.
type StatsInterceptorFactory ¶
type StatsInterceptorFactory struct {
// contains filtered or unexported fields
}
func (*StatsInterceptorFactory) NewInterceptor ¶
func (f *StatsInterceptorFactory) NewInterceptor(id string) (interceptor.Interceptor, error)
type StatsWorker ¶
StatsWorker handles incoming RTP statistics instead of the stream interceptor
func NewStatsWorker ¶
func NewStatsWorker(onUpdate func(*buffer.Stats)) *StatsWorker
func (*StatsWorker) AddBuffer ¶
func (s *StatsWorker) AddBuffer(buffer *buffer.Buffer)
func (*StatsWorker) Calc ¶
func (s *StatsWorker) Calc() *buffer.Stats
func (*StatsWorker) Close ¶
func (s *StatsWorker) Close()
func (*StatsWorker) RemoveBuffer ¶
func (s *StatsWorker) RemoveBuffer(ssrc uint32)
type TelemetryService ¶
func NewTelemetryService ¶
func NewTelemetryService(notifier webhook.Notifier) *TelemetryService
func (*TelemetryService) HandleIncomingRTCP ¶
func (t *TelemetryService) HandleIncomingRTCP(participantID, identity string, bytes []byte)
func (*TelemetryService) HandleIncomingRTP ¶
func (t *TelemetryService) HandleIncomingRTP(participantID, identity string, diff *buffer.Stats)
func (*TelemetryService) HandleOutgoingRTCP ¶
func (t *TelemetryService) HandleOutgoingRTCP(participantID, identity string, pkts []rtcp.Packet)
func (*TelemetryService) HandleOutgoingRTP ¶
func (t *TelemetryService) HandleOutgoingRTP(participantID, identity string, pktLen uint64)
func (*TelemetryService) NewStatsInterceptorFactory ¶
func (t *TelemetryService) NewStatsInterceptorFactory(participantID, identity string) *StatsInterceptorFactory
func (*TelemetryService) ParticipantJoined ¶
func (t *TelemetryService) ParticipantJoined(ctx context.Context, room *livekit.Room, participant *livekit.ParticipantInfo)
func (*TelemetryService) ParticipantLeft ¶
func (t *TelemetryService) ParticipantLeft(ctx context.Context, room *livekit.Room, participant *livekit.ParticipantInfo)
func (*TelemetryService) RecordingEnded ¶
func (t *TelemetryService) RecordingEnded(res *livekit.RecordingResult)
func (*TelemetryService) RecordingStarted ¶
func (t *TelemetryService) RecordingStarted(ctx context.Context, recordingID string, req *livekit.StartRecordingRequest)
func (*TelemetryService) RoomEnded ¶
func (t *TelemetryService) RoomEnded(ctx context.Context, room *livekit.Room)
func (*TelemetryService) RoomStarted ¶
func (t *TelemetryService) RoomStarted(ctx context.Context, room *livekit.Room)
func (*TelemetryService) TrackPublished ¶
func (*TelemetryService) TrackSubscribed ¶
func (t *TelemetryService) TrackSubscribed(participantID, identity string, track *livekit.TrackInfo)
func (*TelemetryService) TrackUnpublished ¶
func (t *TelemetryService) TrackUnpublished(participantID, identity string, track *livekit.TrackInfo, ssrc uint32)
func (*TelemetryService) TrackUnsubscribed ¶
func (t *TelemetryService) TrackUnsubscribed(participantID, identity string, track *livekit.TrackInfo)
Click to show internal directories.
Click to hide internal directories.