mpegps

package
v4.1.5 Latest Latest
Warning

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

Go to latest
Published: Jul 9, 2024 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

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 IOBuffer

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

func (*IOBuffer) Len

func (b *IOBuffer) Len() int

func (*IOBuffer) Next

func (b *IOBuffer) Next(n int) []byte

func (*IOBuffer) ReadByte

func (b *IOBuffer) ReadByte() (byte, error)

func (*IOBuffer) ReadN

func (b *IOBuffer) ReadN(length int) ([]byte, error)

func (*IOBuffer) Reset

func (b *IOBuffer) Reset()

func (*IOBuffer) Skip

func (b *IOBuffer) Skip(n int) (err error)

func (*IOBuffer) Uint16

func (b *IOBuffer) Uint16() (uint16, error)

func (*IOBuffer) Uint32

func (b *IOBuffer) Uint32() (uint32, error)

func (*IOBuffer) Write

func (b *IOBuffer) Write(p []byte) (n int, err error)

type MpegPsEsStream

type MpegPsEsStream struct {
	Type byte
	util.Buffer
	PTS uint32
	DTS uint32
}

type MpegPsStream

type MpegPsStream struct {
	EsHandler
	// contains filtered or unexported fields
}

func (*MpegPsStream) Feed

func (ps *MpegPsStream) Feed(data util.Buffer) (err error)

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

func (*PSDemuxer) Feed

func (psdemuxer *PSDemuxer) Feed(data []byte) error

func (*PSDemuxer) Reset

func (psdemuxer *PSDemuxer) Reset()

Jump to

Keyboard shortcuts

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