rtc

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Mar 10, 2020 License: MIT Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (

	//CleanChannel return the dead pub's mid
	CleanChannel = make(chan string)
)

Functions

func Close

func Close()

Close close all pipeline

func DelPipeline

func DelPipeline(mid string)

DelPipeline delete pub

func DelSub

func DelSub(mid, id string)

DelSub del sub

func DelSubFromAllPub

func DelSubFromAllPub(id string) map[string]string

DelSubFromAllPub del all sub by id

func DelSubFromAllPubByPrefix

func DelSubFromAllPubByPrefix(id string) map[string]string

DelSubFromAllPubByPrefix del sub from all pipelines by prefix

func GetSubs

func GetSubs(mid string) map[string]Transport

GetSubs get sub by mid

func GetWebRtcMIDByPID

func GetWebRtcMIDByPID(id string) []string

GetWebRtcMIDByPID ..

func Init

func Init(port int, ices []string)

Init init port and ice urls

func NewRTPTransportSub

func NewRTPTransportSub(mid, sid, addr string)

NewRTPTransportSub new a rtp transport suber

Types

type RTPTransport

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

RTPTransport ..

func (*RTPTransport) Close

func (t *RTPTransport) Close()

Close release all

func (*RTPTransport) ID

func (t *RTPTransport) ID() string

ID return id

func (*RTPTransport) ReadRTP

func (t *RTPTransport) ReadRTP() (*rtp.Packet, error)

ReadRTP read rtp from transport

func (*RTPTransport) SSRCPT

func (t *RTPTransport) SSRCPT() map[uint32]uint8

SSRCPT playload type and ssrc

func (*RTPTransport) WriteRTCP

func (t *RTPTransport) WriteRTCP(pkt rtcp.Packet) error

func (*RTPTransport) WriteRTP

func (t *RTPTransport) WriteRTP(rtp *rtp.Packet) error

WriteRTP send rtp packet

func (*RTPTransport) WriteRawRTCP

func (t *RTPTransport) WriteRawRTCP(data []byte) (int, error)

WriteRawRTCP write rtcp data

type Transport

type Transport interface {
	ID() string
	ReadRTP() (*rtp.Packet, error)
	WriteRTP(*rtp.Packet) error
	WriteRTCP(rtcp.Packet) error
	Close()
	// contains filtered or unexported methods
}

Transport is a interface

func GetPub

func GetPub(mid string) Transport

GetPub get pub

type WebRTCTransport

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

WebRTCTransport ..

func NewWebRTCTransport

func NewWebRTCTransport(mid, id string, isPub bool) *WebRTCTransport

NewWebRTCTransport new a webrtc transport

func (*WebRTCTransport) AnswerPublish

func (t *WebRTCTransport) AnswerPublish(rid string, offer webrtc.SessionDescription, options map[string]interface{}, fn func(ssrc uint32, pt uint8)) (answer webrtc.SessionDescription, err error)

AnswerPublish answer to pub

func (*WebRTCTransport) AnswerSubscribe

func (t *WebRTCTransport) AnswerSubscribe(offer webrtc.SessionDescription, ssrcPT map[uint32]uint8, mid string) (answer webrtc.SessionDescription, err error)

AnswerSubscribe answer to sub

func (*WebRTCTransport) Close

func (t *WebRTCTransport) Close()

Close all

func (*WebRTCTransport) ID

func (t *WebRTCTransport) ID() string

ID return id

func (*WebRTCTransport) ReadRTP

func (t *WebRTCTransport) ReadRTP() (*rtp.Packet, error)

ReadRTP read rtp packet

func (*WebRTCTransport) SSRCPT

func (t *WebRTCTransport) SSRCPT() map[uint32]uint8

SSRCPT get SSRC and PayloadType

func (*WebRTCTransport) WriteRTCP

func (t *WebRTCTransport) WriteRTCP(pkt rtcp.Packet) error

func (*WebRTCTransport) WriteRTP

func (t *WebRTCTransport) WriteRTP(pkt *rtp.Packet) error

WriteRTP send rtp packet

Directories

Path Synopsis
deadline
Package deadline provides deadline timer used to implement net.Conn compatible connection
Package deadline provides deadline timer used to implement net.Conn compatible connection
udp
Package udp provides a connection-oriented listener over a UDP PacketConn
Package udp provides a connection-oriented listener over a UDP PacketConn

Jump to

Keyboard shortcuts

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