From 8c0225de8259be18cfcbb38f4211ac9d20b54243 Mon Sep 17 00:00:00 2001 From: nareix Date: Fri, 1 Jul 2016 18:22:33 +0800 Subject: [PATCH] demuxer: check nalu type --- demuxer.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/demuxer.go b/demuxer.go index ef3a8f2..2bf5918 100644 --- a/demuxer.go +++ b/demuxer.go @@ -382,6 +382,15 @@ func (self *Stream) readPacket() (pkt av.Packet, err error) { return } + switch self.Type() { + case av.H264: + if typ := h264parser.CheckNALUsType(pkt.Data); typ != h264parser.NALU_AVCC { + err = fmt.Errorf("mp4: demuxer: h264 nalu format=%d invalid", typ) + return + } + pkt.Data = pkt.Data[4:] + } + if self.sample.SyncSample != nil { if self.sample.SyncSample.Entries[self.syncSampleIndex]-1 == self.sampleIndex { pkt.IsKeyFrame = true