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
}
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)
if track == nil {
return nil
}
for _, t := range p.tracks {
if track == t {
return track
}
}
p.tracks = append(p.tracks, track)
if p.state == stateMedias {
p.state = stateTracks
}
p.tracks = append(p.tracks, track)
return track
}