Browse Source

Merge pull request #143 from sSimuSs/master

Excepting errors on writing response in NewFLVWriter
pull/154/head 0.0.14
浩麟 4 years ago committed by GitHub
parent
commit
a254105bac
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      protocol/httpflv/server.go
  2. 11
      protocol/httpflv/writer.go

4
protocol/httpflv/server.go

@ -40,7 +40,9 @@ func (server *Server) Serve(l net.Listener) error { @@ -40,7 +40,9 @@ func (server *Server) Serve(l net.Listener) error {
mux.HandleFunc("/streams", func(w http.ResponseWriter, r *http.Request) {
server.getStream(w, r)
})
http.Serve(l, mux)
if err := http.Serve(l, mux); err != nil {
return err
}
return nil
}

11
protocol/httpflv/writer.go

@ -42,15 +42,22 @@ func NewFLVWriter(app, title, url string, ctx http.ResponseWriter) *FLVWriter { @@ -42,15 +42,22 @@ func NewFLVWriter(app, title, url string, ctx http.ResponseWriter) *FLVWriter {
packetQueue: make(chan *av.Packet, maxQueueNum),
}
ret.ctx.Write([]byte{0x46, 0x4c, 0x56, 0x01, 0x05, 0x00, 0x00, 0x00, 0x09})
if _, err := ret.ctx.Write([]byte{0x46, 0x4c, 0x56, 0x01, 0x05, 0x00, 0x00, 0x00, 0x09}); err != nil {
log.Errorf("Error on response writer")
ret.closed = true
}
pio.PutI32BE(ret.buf[:4], 0)
ret.ctx.Write(ret.buf[:4])
if _, err := ret.ctx.Write(ret.buf[:4]); err != nil {
log.Errorf("Error on response writer")
ret.closed = true
}
go func() {
err := ret.SendPacket()
if err != nil {
log.Error("SendPacket error: ", err)
ret.closed = true
}
}()
return ret
}

Loading…
Cancel
Save