diff --git a/internal/core/webrtc_outgoing_track.go b/internal/core/webrtc_outgoing_track.go index 4e1d5a6a..745f383d 100644 --- a/internal/core/webrtc_outgoing_track.go +++ b/internal/core/webrtc_outgoing_track.go @@ -363,7 +363,5 @@ func (t *webRTCOutgoingTrack) start( } }() - stream.AddReader(writer, t.media, t.format, func(u unit.Unit) error { - return t.cb(u) - }) + stream.AddReader(writer, t.media, t.format, t.cb) } diff --git a/internal/stream/stream_format.go b/internal/stream/stream_format.go index 0dc19e91..0cfa14a3 100644 --- a/internal/stream/stream_format.go +++ b/internal/stream/stream_format.go @@ -80,8 +80,9 @@ func (sf *streamFormat) writeUnit(s *Stream, medi *description.Media, u unit.Uni } for writer, cb := range sf.readers { + ccb := cb writer.Push(func() error { - return cb(u) + return ccb(u) }) } }