MCPcopy Create free account
hub / github.com/Monibuca/engine / ReadPAT

Method ReadPAT

codec/mpegts/mpegts.go:497–507  ·  view source on GitHub ↗

func (s *MpegTsStream) TestWrite(fileName string) error { if fileName != "" { file, err := os.Create(fileName) if err != nil { panic(err) } defer file.Close() patTsHeader := []byte{0x47, 0x40, 0x00, 0x10} if err := WritePATPacket(file, patTsHeader, *s.pat); err != nil { panic(

(packet *MpegTsPacket, pr io.Reader)

Source from the content-addressed store, hash-verified

495//}
496
497func (s *MpegTsStream) ReadPAT(packet *MpegTsPacket, pr io.Reader) (err error) {
498 // 首先找到PID==0x00的TS包(PAT)
499 if PID_PAT == packet.Header.Pid {
500 if len(packet.Payload) == 188 {
501 pr = &util.Crc32Reader{R: pr, Crc32: 0xffffffff}
502 }
503 // Header + PSI + Paylod
504 s.PAT, err = ReadPAT(pr)
505 }
506 return
507}
508func (s *MpegTsStream) ReadPMT(packet *MpegTsPacket, pr io.Reader) (err error) {
509 // 在读取PAT中已经将所有频道节目信息(PMT_PID)保存了起来
510 // 接着读取所有TS包里面的PID,找出PID==PMT_PID的TS包,就是PMT表

Callers

nothing calls this directly

Calls 1

ReadPATFunction · 0.85

Tested by

no test coverage detected