Improve magic bitstream producer
This commit is contained in:
@@ -64,20 +64,22 @@ func (c *Producer) Start() error {
|
|||||||
|
|
||||||
buf = append(buf, b[:n]...)
|
buf = append(buf, b[:n]...)
|
||||||
|
|
||||||
i := annexb.IndexFrame(buf)
|
for {
|
||||||
if i < 0 {
|
i := annexb.IndexFrame(buf)
|
||||||
continue
|
if i < 0 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
|
||||||
|
pkt := &rtp.Packet{
|
||||||
|
Header: rtp.Header{Timestamp: core.Now90000()},
|
||||||
|
Payload: annexb.EncodeToAVCC(buf[:i], true),
|
||||||
|
}
|
||||||
|
c.Receivers[0].WriteRTP(pkt)
|
||||||
|
|
||||||
|
//log.Printf("[AVC] %v, len: %d", h264.Types(pkt.Payload), len(pkt.Payload))
|
||||||
|
|
||||||
|
buf = buf[i:]
|
||||||
}
|
}
|
||||||
|
|
||||||
pkt := &rtp.Packet{
|
|
||||||
Header: rtp.Header{Timestamp: core.Now90000()},
|
|
||||||
Payload: annexb.EncodeToAVCC(buf[:i], true),
|
|
||||||
}
|
|
||||||
c.Receivers[0].WriteRTP(pkt)
|
|
||||||
|
|
||||||
//log.Printf("[AVC] %v, len: %d", h264.Types(pkt.Payload), len(pkt.Payload))
|
|
||||||
|
|
||||||
buf = buf[i:]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user