|
|
|
@ -94,8 +94,11 @@ func (s *Streamer) AudioCacheEmpty() bool {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (s *Streamer) feedVideo(msg base.RtmpMsg) {
|
|
|
|
|
if len(msg.Payload) < 5 {
|
|
|
|
|
nazalog.Errorf("[%s] invalid video message length. len=%d", s.UniqueKey, len(msg.Payload))
|
|
|
|
|
// 注意,有一种情况是msg.Payload为 27 02 00 00 00
|
|
|
|
|
// 此时打印错误并返回也不影响
|
|
|
|
|
//
|
|
|
|
|
if len(msg.Payload) <= 5 {
|
|
|
|
|
nazalog.Errorf("[%s] invalid video message length. header=%+v, payload=%s", s.UniqueKey, msg.Header, hex.Dump(msg.Payload))
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
//nazalog.Debugf("[%s] feed video. header=%+v, payload=%s", s.UniqueKey, msg.Header, hex.Dump(nazastring.SubSliceSafety(msg.Payload, 16)))
|
|
|
|
@ -131,9 +134,6 @@ func (s *Streamer) feedVideo(msg base.RtmpMsg) {
|
|
|
|
|
// msg中可能有多个NALU,逐个获取
|
|
|
|
|
nals, err := avc.SplitNaluAvcc(msg.Payload[5:])
|
|
|
|
|
if err != nil {
|
|
|
|
|
// 注意,有一种情况是msg.Payload为 27 02 00 00 00
|
|
|
|
|
// 此时打印错误并返回也不影响
|
|
|
|
|
//
|
|
|
|
|
nazalog.Errorf("[%s] iterate nalu failed. err=%+v, header=%+v, payload=%s", err, s.UniqueKey, msg.Header, hex.Dump(nazastring.SubSliceSafety(msg.Payload, 32)))
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|