]> 127.0.0.1 Git - bili_danmu/.git/commitdiff
Fix 切片回放支持区间加载
authorqydysky <qydysky@foxmail.com>
Sat, 16 Nov 2024 16:16:30 +0000 (00:16 +0800)
committerqydysky <qydysky@foxmail.com>
Sat, 16 Nov 2024 16:16:30 +0000 (00:16 +0800)
Reply/F.go

index f4ef69f57bec132fa3e034489c64c2db9f1b1d17..752c5ffdc5be8579509ccaa5559ea36cfcf880c6 100644 (file)
@@ -1522,7 +1522,7 @@ func init() {
                                                }
                                        }
 
-                                       f := file.New(v, int64(rangeHeaderNum), false)
+                                       f := file.New(v, 0, false)
                                        defer f.Close()
 
                                        // 设置当前返回区间,并拷贝
@@ -1539,8 +1539,7 @@ func init() {
                                        defer func() { flog.L(`T: `, r.RemoteAddr, `断开录播`, time.Since(ts)) }()
 
                                        if duration != 0 {
-                                               // too fast copy with break js work
-                                               res := pio.WriterWithConfig(w, pio.CopyConfig{BytePerSec: speed})
+                                               res := pio.WriterWithConfig(w, pio.CopyConfig{BytePerSec: speed, SkipByte: rangeHeaderNum})
 
                                                if strings.HasSuffix(v, "flv") {
                                                        w.Header().Set("Content-Disposition", fmt.Sprintf("inline; filename=\"%s.%d.flv\"", qref, time.Now().Unix()))
@@ -1562,7 +1561,7 @@ func init() {
                                                                flog.L(`E: `, e)
                                                        }
                                                }
-                                       } else if e := f.CopyToIoWriter(w, pio.CopyConfig{BytePerSec: speed}); e != nil {
+                                       } else if e := f.CopyToIoWriter(w, pio.CopyConfig{BytePerSec: speed, SkipByte: rangeHeaderNum}); e != nil {
                                                flog.L(`E: `, e)
                                        }
                                        // }