plugins

package
v0.0.0-...-64b69da Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 4, 2020 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IsVP8KeyFrame

func IsVP8KeyFrame(pkt *rtp.Packet) bool

IsVP8KeyFrame check key frame

Types

type Buffer

type Buffer struct {
	// contains filtered or unexported fields
}

Buffer contains all packets

func NewBuffer

func NewBuffer() *Buffer

NewBuffer constructs a new Buffer

func (*Buffer) FindPacket

func (b *Buffer) FindPacket(sn uint16) *rtp.Packet

FindPacket find packet from buffer

func (*Buffer) GetLostRateBandwidth

func (b *Buffer) GetLostRateBandwidth(cycle uint64) (float64, uint64)

GetLostRateBandwidth calc lostRate and bandwidth by cycle

func (*Buffer) GetNackPair

func (b *Buffer) GetNackPair(buffer [65536]*rtp.Packet, begin, end uint16) (rtcp.NackPair, int)

GetNackPair calc nackpair

func (*Buffer) GetPacket

func (b *Buffer) GetPacket(sn uint16) *rtp.Packet

GetPacket get packet by sequence number

func (*Buffer) GetPayloadType

func (b *Buffer) GetPayloadType() uint8

GetPayloadType get payloadtype

func (*Buffer) GetRTCPChan

func (b *Buffer) GetRTCPChan() chan rtcp.Packet

GetRTCPChan return rtcp channel

func (*Buffer) GetSSRC

func (b *Buffer) GetSSRC() uint32

GetSSRC get ssrc

func (*Buffer) GetStat

func (b *Buffer) GetStat() string

GetStat get status from buffer

func (*Buffer) Push

func (b *Buffer) Push(p *rtp.Packet)

Push adds a RTP Packet, out of order, new packet may be arrived later

func (*Buffer) SetSSRCPT

func (b *Buffer) SetSSRCPT(ssrc uint32, pt uint8)

SetSSRCPT set ssrc payloadtype

func (*Buffer) Stop

func (b *Buffer) Stop()

Stop stop buffer

type JitterBuffer

type JitterBuffer struct {
	// contains filtered or unexported fields
}

JitterBuffer core buffer module

func NewJitterBuffer

func NewJitterBuffer(id string) *JitterBuffer

NewJitterBuffer return new JitterBuffer

func (*JitterBuffer) AddBuffer

func (j *JitterBuffer) AddBuffer(ssrc uint32) *Buffer

AddBuffer add a buffer by ssrc

func (*JitterBuffer) GetBuffer

func (j *JitterBuffer) GetBuffer(ssrc uint32) *Buffer

GetBuffer get a buffer by ssrc

func (*JitterBuffer) GetBuffers

func (j *JitterBuffer) GetBuffers() map[uint32]*Buffer

GetBuffers get all buffers

func (*JitterBuffer) GetPacket

func (j *JitterBuffer) GetPacket(ssrc uint32, sn uint16) *rtp.Packet

GetPacket get packet from buffer

func (*JitterBuffer) GetRTCPChan

func (j *JitterBuffer) GetRTCPChan() chan rtcp.Packet

GetRTCPChan get response rtcp channel

func (*JitterBuffer) ID

func (j *JitterBuffer) ID() string

ID return id

func (*JitterBuffer) Init

func (j *JitterBuffer) Init(ssrc uint32, pt uint8, config JitterBufferConfig)

Init jitterbuffer config

func (*JitterBuffer) PushRTCP

func (j *JitterBuffer) PushRTCP(pkt rtcp.Packet) error

PushRTCP push rtcp packet which from sub

func (*JitterBuffer) PushRTP

func (j *JitterBuffer) PushRTP(pkt *rtp.Packet) error

PushRTP push rtp packet which from pub

func (*JitterBuffer) Stat

func (j *JitterBuffer) Stat() string

Stat get stat from buffers

func (*JitterBuffer) Stop

func (j *JitterBuffer) Stop()

Stop stop all buffer

type JitterBufferConfig

type JitterBufferConfig struct {
	RembCycle int
	PliCycle  int
	Bandwidth int
}

JitterBufferConfig .

type Plugin

type Plugin interface {
	ID() string
	PushRTP(*rtp.Packet) error
	PushRTCP(rtcp.Packet) error
	Stop()
}

Plugin some interfaces

type WebmSaver

type WebmSaver struct {
	// contains filtered or unexported fields
}

func NewWebmSaver

func NewWebmSaver() *WebmSaver

func (*WebmSaver) Close

func (s *WebmSaver) Close()

func (*WebmSaver) ID

func (s *WebmSaver) ID() string

func (*WebmSaver) Init

func (s *WebmSaver) Init(...interface{})

func (*WebmSaver) InitWriter

func (s *WebmSaver) InitWriter(width, height int)

func (*WebmSaver) PushOpus

func (s *WebmSaver) PushOpus(rtpPacket *rtp.Packet)

func (*WebmSaver) PushRTCP

func (s *WebmSaver) PushRTCP(rtcp.Packet) error

func (*WebmSaver) PushRTP

func (s *WebmSaver) PushRTP(*rtp.Packet) error

func (*WebmSaver) PushVP8

func (s *WebmSaver) PushVP8(rtpPacket *rtp.Packet)

func (*WebmSaver) Stop

func (s *WebmSaver) Stop()

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL