add startcode+AUD before nalu make quicktime works

This commit is contained in:
nareix 2015-12-08 23:35:25 +08:00
parent b81a2b22b4
commit bf89f36b1a

View File

@ -565,9 +565,14 @@ func (self *SimpleH264Writer) WriteNALU(sync bool, duration int, nalu []byte) (e
nalus = append(nalus, nalu) nalus = append(nalus, nalu)
readers := []io.ReadSeeker{} readers := []io.ReadSeeker{}
for _, nalu := range nalus { for i, nalu := range nalus {
startCode := bytes.NewReader([]byte{0,0,1}) var startCode []byte
readers = append(readers, startCode) 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)) readers = append(readers, bytes.NewReader(nalu))
} }
data := &multiReadSeeker{readers: readers} data := &multiReadSeeker{readers: readers}