diff --git a/app/channels/channel.go b/app/channels/channel.go index 70c9bda..02a6d98 100644 --- a/app/channels/channel.go +++ b/app/channels/channel.go @@ -17,6 +17,8 @@ type Channel struct { OutputStreams map[string]*media.MediaStream Events *pubsub.PubSub + + lastMetadata map[string]string } func (channel *Channel) AddInputStream(id string) *media.MediaStream { @@ -50,6 +52,7 @@ func (channel *Channel) AddOutputContainer(id string) *media.MediaStreamContaine } func (channel *Channel) SetMetadata(data map[string]string) { + channel.lastMetadata = data channel.Events.Pub(data, "metadata") } @@ -57,6 +60,9 @@ func (channel *Channel) Metadata() chan map[string]string { outC := make(chan map[string]string) go func() { defer close(outC) + if channel.lastMetadata != nil { + outC <- channel.lastMetadata + } c := channel.Events.Sub("metadata") forloop: for event := range c {