Fix producer request new track after start

This commit is contained in:
Alexey Khit
2022-11-07 17:48:45 +03:00
parent 3a07e9fa03
commit c06253c8b2
+12 -7
View File
@@ -65,23 +65,28 @@ func (p *Producer) GetTrack(media *streamer.Media, codec *streamer.Codec) *strea
return nil return nil
} }
for _, track := range p.tracks {
if track.Codec == codec {
return track
}
}
// can't get new tracks after start
if p.state == stateStart {
return nil
}
track := p.element.GetTrack(media, codec) track := p.element.GetTrack(media, codec)
if track == nil { if track == nil {
return nil return nil
} }
for _, t := range p.tracks { p.tracks = append(p.tracks, track)
if track == t {
return track
}
}
if p.state == stateMedias { if p.state == stateMedias {
p.state = stateTracks p.state = stateTracks
} }
p.tracks = append(p.tracks, track)
return track return track
} }