Adds fix on RemoveConsumer panic
This commit is contained in:
@@ -103,6 +103,11 @@ func (s *Stream) AddConsumer(cons streamer.Consumer) (err error) {
|
|||||||
|
|
||||||
func (s *Stream) RemoveConsumer(cons streamer.Consumer) {
|
func (s *Stream) RemoveConsumer(cons streamer.Consumer) {
|
||||||
for i, consumer := range s.consumers {
|
for i, consumer := range s.consumers {
|
||||||
|
if consumer == nil {
|
||||||
|
log.Warn().Msgf("empty consumer: %+v\n", s)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
if consumer.element == cons {
|
if consumer.element == cons {
|
||||||
// remove consumer pads from all producers
|
// remove consumer pads from all producers
|
||||||
for _, track := range consumer.tracks {
|
for _, track := range consumer.tracks {
|
||||||
@@ -115,6 +120,11 @@ func (s *Stream) RemoveConsumer(cons streamer.Consumer) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _, producer := range s.producers {
|
for _, producer := range s.producers {
|
||||||
|
if producer == nil {
|
||||||
|
log.Warn().Msgf("empty producer: %+v\n", s)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
var sink bool
|
var sink bool
|
||||||
for _, track := range producer.tracks {
|
for _, track := range producer.tracks {
|
||||||
if len(track.Sink) > 0 {
|
if len(track.Sink) > 0 {
|
||||||
|
|||||||
Reference in New Issue
Block a user