sdp

package
v0.37.16 Latest Latest
Warning

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

Go to latest
Published: Sep 8, 2024 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ARtpMapEncodingNameH265  = "H265"
	ARtpMapEncodingNameH264  = "H264"
	ARtpMapEncodingNameAac   = "MPEG4-GENERIC"
	ARtpMapEncodingNameG711A = "PCMA"
	ARtpMapEncodingNameG711U = "PCMU"
	ArtpMapEncodingNameOpus  = "opus"
)
View Source
const (
	MediaDescPayloadTypeG711U = int(base.AvPacketPtG711U)
	MediaDescPayloadTypeG711A = int(base.AvPacketPtG711A)
	MediaDescPayloadTypeMp2   = int(base.AvPacketPtMp2)
)

Variables

Functions

func ParseAsc

func ParseAsc(a *AFmtPBase) ([]byte, error)

func ParseSpsPps

func ParseSpsPps(a *AFmtPBase) (sps, pps []byte, err error)

ParseSpsPps

解析AVC/H264的sps,pps 例子见单元测试

func ParseVpsSpsPps

func ParseVpsSpsPps(a *AFmtPBase) (vps, sps, pps []byte, err error)

Types

type AControl

type AControl struct {
	Value string
}

func ParseAControl

func ParseAControl(s string) (ret AControl, err error)

type AFmtPBase

type AFmtPBase struct {
	Format     int               // same as PayloadType
	Parameters map[string]string // name -> value
}

func ParseAFmtPBase

func ParseAFmtPBase(s string) (ret AFmtPBase, err error)

ParseAFmtPBase 例子见单元测试

type ARtpMap

type ARtpMap struct {
	PayloadType        int
	EncodingName       string
	ClockRate          int
	EncodingParameters string
}

func ParseARtpMap

func ParseARtpMap(s string) (ret ARtpMap, err error)

ParseARtpMap 例子见单元测试

type AudioInfo

type AudioInfo struct {
	AudioPt           base.AvPacketPt
	SamplingFrequency int
	Asc               []byte
}

type LogicContext

type LogicContext struct {
	RawSdp []byte

	AudioClockRate int
	VideoClockRate int

	Asc []byte
	Vps []byte
	Sps []byte
	Pps []byte
	// contains filtered or unexported fields
}

func Pack

func Pack(videoInfo VideoInfo, audioInfo AudioInfo) (ctx LogicContext, err error)

func ParseSdp2LogicContext

func ParseSdp2LogicContext(b []byte) (LogicContext, error)

func (*LogicContext) GetAudioPayloadTypeBase

func (lc *LogicContext) GetAudioPayloadTypeBase() base.AvPacketPt

func (*LogicContext) GetVideoPayloadTypeBase

func (lc *LogicContext) GetVideoPayloadTypeBase() base.AvPacketPt

func (*LogicContext) HasAudioAControl

func (lc *LogicContext) HasAudioAControl() bool

func (*LogicContext) HasVideoAControl

func (lc *LogicContext) HasVideoAControl() bool

func (*LogicContext) IsAudioPayloadTypeOrigin

func (lc *LogicContext) IsAudioPayloadTypeOrigin(t int) bool

func (*LogicContext) IsAudioUnpackable

func (lc *LogicContext) IsAudioUnpackable() bool

func (*LogicContext) IsAudioUri

func (lc *LogicContext) IsAudioUri(uri string) bool

func (*LogicContext) IsPayloadTypeOrigin

func (lc *LogicContext) IsPayloadTypeOrigin(t int) bool

func (*LogicContext) IsVideoPayloadTypeOrigin

func (lc *LogicContext) IsVideoPayloadTypeOrigin(t int) bool

func (*LogicContext) IsVideoUnpackable

func (lc *LogicContext) IsVideoUnpackable() bool

func (*LogicContext) IsVideoUri

func (lc *LogicContext) IsVideoUri(uri string) bool

func (*LogicContext) MakeAudioSetupUri

func (lc *LogicContext) MakeAudioSetupUri(uri string) string

func (*LogicContext) MakeVideoSetupUri

func (lc *LogicContext) MakeVideoSetupUri(uri string) string

type M

type M struct {
	Media string
	PT    int // 暂时只支持m只有一个pt值的情况
}

func ParseM

func ParseM(s string) (ret M, err error)

type MediaDesc

type MediaDesc struct {
	M         M
	ARtpMap   ARtpMap
	AFmtPBase *AFmtPBase
	AControl  AControl
}

type RawContext

type RawContext struct {
	MediaDescList []MediaDesc
}

func ParseSdp2RawContext

func ParseSdp2RawContext(b []byte) (RawContext, error)

ParseSdp2RawContext 例子见单元测试

type VideoInfo

type VideoInfo struct {
	VideoPt       base.AvPacketPt
	Vps, Sps, Pps []byte
}

Jump to

Keyboard shortcuts

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