Add support AAC for RTMP to MP4
This commit is contained in:
+4
-3
@@ -84,9 +84,8 @@ func handlerMP4(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
cons := &mp4.Consumer{}
|
||||
cons.Listen(func(msg interface{}) {
|
||||
switch msg := msg.(type) {
|
||||
case []byte:
|
||||
if _, err := w.Write(msg); err != nil {
|
||||
if data, ok := msg.([]byte); ok {
|
||||
if _, err := w.Write(data); err != nil {
|
||||
exit <- struct{}{}
|
||||
}
|
||||
}
|
||||
@@ -112,6 +111,8 @@ func handlerMP4(w http.ResponseWriter, r *http.Request) {
|
||||
return
|
||||
}
|
||||
|
||||
cons.Start()
|
||||
|
||||
<-exit
|
||||
|
||||
log.Trace().Msg("[api.mp4] close")
|
||||
|
||||
+7
-8
@@ -21,14 +21,13 @@ func handlerWS(ctx *api.Context, msg *streamer.Message) {
|
||||
cons.RemoteAddr = ctx.Request.RemoteAddr
|
||||
|
||||
cons.Listen(func(msg interface{}) {
|
||||
switch msg.(type) {
|
||||
case *streamer.Message, []byte:
|
||||
ctx.Write(msg)
|
||||
if data, ok := msg.([]byte); ok {
|
||||
ctx.Write(data)
|
||||
}
|
||||
})
|
||||
|
||||
if err := stream.AddConsumer(cons); err != nil {
|
||||
log.Warn().Err(err).Msg("[api.mse] add consumer")
|
||||
log.Warn().Err(err).Caller().Send()
|
||||
ctx.Error(err)
|
||||
return
|
||||
}
|
||||
@@ -37,16 +36,16 @@ func handlerWS(ctx *api.Context, msg *streamer.Message) {
|
||||
stream.RemoveConsumer(cons)
|
||||
})
|
||||
|
||||
ctx.Write(&streamer.Message{
|
||||
Type: MsgTypeMSE, Value: cons.MimeType(),
|
||||
})
|
||||
ctx.Write(&streamer.Message{Type: MsgTypeMSE, Value: cons.MimeType()})
|
||||
|
||||
data, err := cons.Init()
|
||||
if err != nil {
|
||||
log.Warn().Err(err).Msg("[api.mse] init")
|
||||
log.Warn().Err(err).Caller().Send()
|
||||
ctx.Error(err)
|
||||
return
|
||||
}
|
||||
|
||||
ctx.Write(data)
|
||||
|
||||
cons.Start()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user