diff --git a/subscriber.go b/subscriber.go index b83309e..7752367 100644 --- a/subscriber.go +++ b/subscriber.go @@ -82,17 +82,17 @@ func (suber *WebRTCSubscriber) OnEvent(event any) { suber.flvHeadCache[0] = 9 suber.DC.Send(codec.FLVHeader) } - suber.DC.Send(util.ConcatBuffers(codec.VideoAVCC2FLV(v.AVCC, 0))) + suber.DC.Send(util.ConcatBuffers(codec.VideoAVCC2FLV(0, v))) } case VideoRTP: if suber.videoTrack != nil { suber.videoTrack.WriteRTP(&v.Packet) } else if suber.DC != nil { - frame := suber.Video.Frame - dataSize := uint32(util.SizeOfBuffers(frame.AVCC)) + frame := suber.VideoReader.Frame + dataSize := uint32(frame.AVCC.ByteLength) result := net.Buffers{suber.flvHeadCache[:11]} - result = append(result, frame.AVCC...) - ts := frame.AbsTime - suber.SkipTS + result = append(result, frame.AVCC.ToBuffers()...) + ts := suber.VideoReader.AbsTime util.PutBE(suber.flvHeadCache[1:4], dataSize) util.PutBE(suber.flvHeadCache[4:7], ts) suber.flvHeadCache[7] = byte(ts >> 24)