diff --git a/internal/core/rtmp_conn.go b/internal/core/rtmp_conn.go index 1a98dba0..26cd3a6d 100644 --- a/internal/core/rtmp_conn.go +++ b/internal/core/rtmp_conn.go @@ -423,18 +423,16 @@ func (c *rtmpConn) runRead(ctx context.Context) error { continue } - for _, au := range aus { + for i, au := range aus { c.conn.SetWriteDeadline(time.Now().Add(time.Duration(c.writeTimeout))) err := c.conn.WritePacket(av.Packet{ Type: av.AAC, Data: au, - Time: pts, + Time: pts + time.Duration(i)*aac.SamplesPerAccessUnit*time.Second/time.Duration(audioTrack.ClockRate()), }) if err != nil { return err } - - pts += aac.SamplesPerAccessUnit * time.Second / time.Duration(audioTrack.ClockRate()) } } }