Documentation
¶
Index ¶
- Constants
- Variables
- type DecPSPackage
- type EsHandler
- type IOBuffer
- func (b *IOBuffer) Len() int
- func (b *IOBuffer) Next(n int) []byte
- func (b *IOBuffer) ReadByte() (byte, error)
- func (b *IOBuffer) ReadN(length int) ([]byte, error)
- func (b *IOBuffer) Reset()
- func (b *IOBuffer) Skip(n int) (err error)
- func (b *IOBuffer) Uint16() (uint16, error)
- func (b *IOBuffer) Uint32() (uint32, error)
- func (b *IOBuffer) Write(p []byte) (n int, err error)
- type MpegPsEsStream
- type MpegPsStream
- type PSDemuxer
Constants ¶
View Source
const ( StartCodePS = 0x000001ba StartCodeSYS = 0x000001bb StartCodeMAP = 0x000001bc StartCodeVideo = 0x000001e0 StartCodeAudio = 0x000001c0 PrivateStreamCode = 0x000001bd MEPGProgramEndCode = 0x000001b9 )
Variables ¶
View Source
var ( ErrNotFoundStartCode = errors.New("not found the need start code flag") ErrMarkerBit = errors.New("marker bit value error") ErrFormatPack = errors.New("not package standard") ErrParsePakcet = errors.New("parse ps packet error") )
View Source
var ErrTooLarge = errors.New("IOBuffer: too large")
Functions ¶
This section is empty.
Types ¶
type DecPSPackage ¶
type DecPSPackage struct {
IOBuffer
Payload []byte
PTS uint32
DTS uint32
EsHandler
// contains filtered or unexported fields
}
https://github.com/videolan/vlc/blob/master/modules/demux/mpeg
func (*DecPSPackage) Feed ¶
func (dec *DecPSPackage) Feed(ps []byte)
func (*DecPSPackage) Read ¶
func (dec *DecPSPackage) Read() error
read the buffer and push video or audio
func (*DecPSPackage) ReadPayload ¶
func (dec *DecPSPackage) ReadPayload() (payload []byte, err error)
type EsHandler ¶
type EsHandler interface {
ReceiveAudio(MpegPsEsStream)
ReceiveVideo(MpegPsEsStream)
ReceivePSM(util.Buffer, bool, bool)
}
type MpegPsStream ¶
type MpegPsStream struct {
EsHandler
// contains filtered or unexported fields
}
func (*MpegPsStream) ReadPayload ¶
func (ps *MpegPsStream) ReadPayload(data *util.Buffer) (payload []byte, err error)
func (*MpegPsStream) Reset ¶
func (ps *MpegPsStream) Reset()
type PSDemuxer ¶
type PSDemuxer struct {
OnFrame func(frame []byte, cid mpeg2.PS_STREAM_TYPE, pts uint64, dts uint64)
//解ps包过程中,解码回调psm,system header,pes包等
//decodeResult 解码ps包时的产生的错误
//这个回调主要用于debug,查看是否ps包存在问题
OnPacket func(pkg mpeg2.Display, decodeResult error)
// contains filtered or unexported fields
}
func NewPSDemuxer ¶
func NewPSDemuxer() *PSDemuxer
Click to show internal directories.
Click to hide internal directories.