Compare commits
2 Commits
f8dce5ce9d
...
0d8ecc64ad
Author | SHA1 | Date |
---|---|---|
|
0d8ecc64ad | |
|
6481884b73 |
|
@ -17,6 +17,8 @@ type Channel struct {
|
||||||
OutputStreams map[string]*media.MediaStream
|
OutputStreams map[string]*media.MediaStream
|
||||||
|
|
||||||
Events *pubsub.PubSub
|
Events *pubsub.PubSub
|
||||||
|
|
||||||
|
lastMetadata map[string]string
|
||||||
}
|
}
|
||||||
|
|
||||||
func (channel *Channel) AddInputStream(id string) *media.MediaStream {
|
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) {
|
func (channel *Channel) SetMetadata(data map[string]string) {
|
||||||
|
channel.lastMetadata = data
|
||||||
channel.Events.Pub(data, "metadata")
|
channel.Events.Pub(data, "metadata")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -57,6 +60,9 @@ func (channel *Channel) Metadata() chan map[string]string {
|
||||||
outC := make(chan map[string]string)
|
outC := make(chan map[string]string)
|
||||||
go func() {
|
go func() {
|
||||||
defer close(outC)
|
defer close(outC)
|
||||||
|
if channel.lastMetadata != nil {
|
||||||
|
outC <- channel.lastMetadata
|
||||||
|
}
|
||||||
c := channel.Events.Sub("metadata")
|
c := channel.Events.Sub("metadata")
|
||||||
forloop:
|
forloop:
|
||||||
for event := range c {
|
for event := range c {
|
||||||
|
|
|
@ -21,6 +21,9 @@ func NewServer() *Server {
|
||||||
Router: gin.New(),
|
Router: gin.New(),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
server.Router.Use(gin.Logger())
|
||||||
|
server.Router.Use(gin.Recovery())
|
||||||
|
|
||||||
server.Http.Handler = server.Router
|
server.Http.Handler = server.Router
|
||||||
server.Http.Addr = ":8000"
|
server.Http.Addr = ":8000"
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue