From bf89f36b1a11f394d0f7c92472f8cf8f900c446d Mon Sep 17 00:00:00 2001 From: nareix Date: Tue, 8 Dec 2015 23:35:25 +0800 Subject: [PATCH] add startcode+AUD before nalu make quicktime works --- writer.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/writer.go b/writer.go index e331ebc..4eef070 100644 --- a/writer.go +++ b/writer.go @@ -565,9 +565,14 @@ func (self *SimpleH264Writer) WriteNALU(sync bool, duration int, nalu []byte) (e nalus = append(nalus, nalu) readers := []io.ReadSeeker{} - for _, nalu := range nalus { - startCode := bytes.NewReader([]byte{0,0,1}) - readers = append(readers, startCode) + for i, nalu := range nalus { + var startCode []byte + if i == 0 { + startCode = []byte{0,0,0,1,0x9,0xf0,0,0,0,1} // AUD + } else { + startCode = []byte{0,0,1} + } + readers = append(readers, bytes.NewReader(startCode)) readers = append(readers, bytes.NewReader(nalu)) } data := &multiReadSeeker{readers: readers}