From 3d4514eab936f5945c1ed14c7a72b72a8d5d5b24 Mon Sep 17 00:00:00 2001 From: Alexey Khit Date: Wed, 2 Nov 2022 08:51:54 +0300 Subject: [PATCH] Fix loopback for stream --- cmd/streams/producer.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/cmd/streams/producer.go b/cmd/streams/producer.go index 79757aad..8c50ca22 100644 --- a/cmd/streams/producer.go +++ b/cmd/streams/producer.go @@ -59,10 +59,6 @@ func (p *Producer) GetTrack(media *streamer.Media, codec *streamer.Codec) *strea p.mx.Lock() defer p.mx.Unlock() - if p.state == stateMedias { - p.state = stateTracks - } - track := p.element.GetTrack(media, codec) if track == nil { return nil @@ -74,6 +70,10 @@ func (p *Producer) GetTrack(media *streamer.Media, codec *streamer.Codec) *strea } } + if p.state == stateMedias { + p.state = stateTracks + } + p.tracks = append(p.tracks, track) return track @@ -82,13 +82,13 @@ func (p *Producer) GetTrack(media *streamer.Media, codec *streamer.Codec) *strea // internals func (p *Producer) start() { - p.mx.Lock() - defer p.mx.Unlock() - if p.state != stateTracks { return } + p.mx.Lock() + defer p.mx.Unlock() + log.Debug().Str("url", p.url).Msg("[streams] start producer") p.state = stateStart