Compare commits

...

2 Commits

Author SHA1 Message Date
Icedream 0d8ecc64ad
Send the last metadata info to new listeners. 2018-07-03 08:18:45 +02:00
Icedream 6481884b73
Add logger and recovery middlewares. 2018-07-03 08:17:58 +02:00
2 changed files with 9 additions and 0 deletions

View File

@ -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 {

View File

@ -21,6 +21,9 @@ func NewServer() *Server {
Router: gin.New(),
}
server.Router.Use(gin.Logger())
server.Router.Use(gin.Recovery())
server.Http.Handler = server.Router
server.Http.Addr = ":8000"