From 6d4ade40be7a24bca787033e7eae9140f16cf3f1 Mon Sep 17 00:00:00 2001 From: nareix Date: Fri, 1 Jul 2016 17:57:27 +0800 Subject: [PATCH] add NALU_RAW/AVCC/ANNEXB --- h264parser/parser.go | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/h264parser/parser.go b/h264parser/parser.go index b8070ee..fd30e7c 100644 --- a/h264parser/parser.go +++ b/h264parser/parser.go @@ -215,9 +215,15 @@ func WalkNALUsAVCC(nalus [][]byte, write func([]byte)) { } } -func SplitNALUs(b []byte) (nalus [][]byte, ok bool) { +const ( + NALU_RAW = iota + NALU_AVCC + NALU_ANNEXB +) + +func SplitNALUs(b []byte) (nalus [][]byte, typ int) { if len(b) < 4 { - return [][]byte{b}, false + return [][]byte{b}, NALU_RAW } val3 := bits.GetUIntBE(b, 24) @@ -241,7 +247,7 @@ func SplitNALUs(b []byte) (nalus [][]byte, ok bool) { } } if len(_b) == 0 { - return nalus, true + return nalus, NALU_AVCC } } @@ -285,11 +291,11 @@ func SplitNALUs(b []byte) (nalus [][]byte, ok bool) { } } } - ok = true + typ = NALU_ANNEXB return } - return [][]byte{b}, false + return [][]byte{b}, NALU_RAW } type SPSInfo struct {