fix: report error when can't create file to write

desc: 当无法创建文件时报错
This commit is contained in:
langhuihui
2023-06-11 13:25:25 +08:00
parent fff5aef3c4
commit ab8e03475c
5 changed files with 14 additions and 2 deletions

4
flv.go
View File

@@ -137,6 +137,10 @@ func (r *FLVRecorder) OnEvent(event any) {
}
if file, err := r.CreateFileFn(filename, r.append); err == nil {
r.SetIO(file)
} else {
r.Error("create file failed", zap.Error(err))
r.Stop()
return
}
// 写入文件头
if !r.append {

2
hls.go
View File

@@ -53,9 +53,9 @@ func (h *HLSRecorder) OnEvent(event any) {
return
}
if err = h.createHlsTsSegmentFile(); err != nil {
h.Stop()
return
}
go h.start()
case AudioFrame:
pes := &mpegts.MpegtsPESFrame{

2
mp4.go
View File

@@ -155,7 +155,7 @@ func (r *MP4Recorder) OnEvent(event any) {
}
r.AddTrack(v)
case ISubscriber:
if r.ftyp != nil {
if r.ftyp != nil && r.Writer != nil {
r.ftyp.Encode(r)
r.Moov.Encode(r)
go r.start()

4
raw.go
View File

@@ -5,6 +5,7 @@ import (
"strconv"
"time"
"go.uber.org/zap"
. "m7s.live/engine/v4"
"m7s.live/engine/v4/codec"
"m7s.live/engine/v4/track"
@@ -42,6 +43,9 @@ func (r *RawRecorder) OnEvent(event any) {
}
if file, err := r.CreateFileFn(filename, r.append); err == nil {
r.SetIO(file)
} else {
r.Error("create file failed", zap.Error(err))
r.Stop()
}
go r.start()
case *track.Video:

View File

@@ -5,6 +5,7 @@ import (
"strconv"
"time"
"go.uber.org/zap"
. "m7s.live/engine/v4"
)
@@ -40,6 +41,9 @@ func (r *Recorder) OnEvent(event any) {
}
if file, err := r.CreateFileFn(filename, r.append); err == nil {
r.SetIO(file)
} else {
r.Error("create file failed", zap.Error(err))
r.Stop()
}
case AudioFrame:
// 纯音频流的情况下需要切割文件