]> 127.0.0.1 Git - bili_danmu/.git/commitdiff
Improve 结束时才保存录播信息
authorqydysky <qydysky@foxmail.com>
Sat, 6 Jan 2024 17:09:50 +0000 (01:09 +0800)
committerqydysky <qydysky@foxmail.com>
Sat, 6 Jan 2024 17:09:50 +0000 (01:09 +0800)
Reply/stream.go

index bad33f9d6cae073dd68a572d5ca07d08ff22ee1c..967050420603c1f9a3fdc5bf26060202b9e3afc8 100644 (file)
@@ -1265,48 +1265,49 @@ func (t *M4SStream) Start() bool {
                                        })
                                        defer cancelMsg()
 
+                                       ms.getSavepath()
+
+                                       var (
+                                               cp = ms.Current_save_path
+                                               st = ms.stream_type
+                                               cr = ms.common.Roomid
+                                       )
+
                                        l := ms.log.Base_add(`文件保存`)
                                        startf := func(_ *M4SStream) error {
                                                l.L(`T: `, `开始`)
                                                return nil
                                        }
                                        stopf := func(_ *M4SStream) error {
+                                               // savestate
+                                               {
+                                                       fj := file.New(cp+"0.json", 0, true)
+                                                       var pathInfo paf
+                                                       pathInfo.Uname = ms.common.Uname
+                                                       pathInfo.UpUid = ms.common.UpUid
+                                                       pathInfo.Roomid = ms.common.Roomid
+                                                       pathInfo.Format = st
+                                                       pathInfo.Qn = c.C.Qn[ms.common.Live_qn]
+                                                       pathInfo.Name = ms.common.Title
+                                                       pathInfo.StartT = time.Now().Format(time.DateTime)
+                                                       pathInfo.StartLiveT = ms.common.Live_Start_Time.Format(time.DateTime)
+                                                       pathInfo.Path = path.Base(cp)
+                                                       if pathInfoJson, err := json.Marshal(pathInfo); err != nil {
+                                                               l.L(`E: `, err)
+                                                       } else if _, err := fj.Write(pathInfoJson, true); err != nil {
+                                                               l.L(`E: `, err)
+                                                       }
+                                                       fj.Close()
+                                               }
                                                l.L(`T: `, `结束`)
                                                return nil
                                        }
-                                       ms.getSavepath()
 
                                        // 移除历史流
                                        if err := ms.removeStream(); err != nil {
                                                l.L(`W: `, err)
                                        }
 
-                                       var (
-                                               cp = ms.Current_save_path
-                                               st = ms.stream_type
-                                               cr = ms.common.Roomid
-                                       )
-
-                                       // savestate
-                                       {
-                                               fj := file.New(cp+"0.json", 0, true)
-                                               var pathInfo paf
-                                               pathInfo.Uname = ms.common.Uname
-                                               pathInfo.UpUid = ms.common.UpUid
-                                               pathInfo.Roomid = ms.common.Roomid
-                                               pathInfo.Format = st
-                                               pathInfo.Qn = c.C.Qn[ms.common.Live_qn]
-                                               pathInfo.Name = ms.common.Title
-                                               pathInfo.StartT = time.Now().Format(time.DateTime)
-                                               pathInfo.StartLiveT = ms.common.Live_Start_Time.Format(time.DateTime)
-                                               pathInfo.Path = path.Base(cp)
-                                               if pathInfoJson, err := json.Marshal(pathInfo); err != nil {
-                                                       l.L(`E: `, err)
-                                               } else if _, err := fj.Write(pathInfoJson, true); err != nil {
-                                                       l.L(`E: `, err)
-                                               }
-                                               fj.Close()
-                                       }
                                        go StartRecDanmu(contextC, cp)             //保存弹幕
                                        go Ass_f(contextC, cp, cp+"0", time.Now()) //开始ass
                                        startT := time.Now()