From e6cfd1818bd3997557857acf01cff90585b1eee4 Mon Sep 17 00:00:00 2001 From: Alexey Khit Date: Fri, 26 Aug 2022 10:07:35 +0300 Subject: [PATCH] Adds on the fly add producer feature --- cmd/streams/stream.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/cmd/streams/stream.go b/cmd/streams/stream.go index ce1fcb12..1aaa31ed 100644 --- a/cmd/streams/stream.go +++ b/cmd/streams/stream.go @@ -30,6 +30,7 @@ func NewStream(source interface{}) *Stream { } case map[string]interface{}: return NewStream(source["url"]) + case nil: default: panic("wrong source type") } @@ -118,11 +119,17 @@ func (s *Stream) RemoveConsumer(cons streamer.Consumer) { } func (s *Stream) AddProducer(prod streamer.Producer) { - panic("not implemented") + producer := &Producer{element: prod, state: stateTracks} + s.producers = append(s.producers, producer) } func (s *Stream) RemoveProducer(prod streamer.Producer) { - panic("not implemented") + for i, producer := range s.producers { + if producer.element == prod { + s.removeProducer(i) + break + } + } } func (s *Stream) Active() bool {