]> 127.0.0.1 Git - bili_danmu/.git/commitdiff
Fix cut replay
authorqydysky <qydysky@foxmail.com>
Sat, 16 Nov 2024 09:56:32 +0000 (17:56 +0800)
committerqydysky <qydysky@foxmail.com>
Sat, 16 Nov 2024 09:56:32 +0000 (17:56 +0800)
Reply/F.go
go.mod
go.sum

index c7f42d852cd3a2b5be2dd95fc608ece655a7377e..f4ef69f57bec132fa3e034489c64c2db9f1b1d17 100644 (file)
@@ -1539,13 +1539,16 @@ 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})
+
                                                if strings.HasSuffix(v, "flv") {
                                                        w.Header().Set("Content-Disposition", fmt.Sprintf("inline; filename=\"%s.%d.flv\"", qref, time.Now().Unix()))
                                                        flvDecoder := NewFlvDecoder()
                                                        if v, ok := c.C.K_v.LoadV(`flv音视频时间戳容差ms`).(float64); ok && v > 100 {
                                                                flvDecoder.Diff = v
                                                        }
-                                                       if e := flvDecoder.Cut(f, startT, duration, w); e != nil && !errors.Is(e, io.EOF) {
+                                                       if e := flvDecoder.Cut(f, startT, duration, res); e != nil && !errors.Is(e, io.EOF) {
                                                                flog.L(`E: `, e)
                                                        }
                                                }
@@ -1555,7 +1558,7 @@ func init() {
                                                        if v, ok := c.C.K_v.LoadV(`fmp4音视频时间戳容差s`).(float64); ok && v > 0.1 {
                                                                fmp4Decoder.AVTDiff = v
                                                        }
-                                                       if e := fmp4Decoder.Cut(f, startT, duration, w); e != nil && !errors.Is(e, io.EOF) {
+                                                       if e := fmp4Decoder.Cut(f, startT, duration, res); e != nil && !errors.Is(e, io.EOF) {
                                                                flog.L(`E: `, e)
                                                        }
                                                }
diff --git a/go.mod b/go.mod
index 6c98fe8a7017f153a92dfe33a59fdc60de20e7b8..fd2172cd52cc59b0879710e95ad7a911482e7abf 100644 (file)
--- a/go.mod
+++ b/go.mod
@@ -5,7 +5,7 @@ go 1.23
 require (
        github.com/gotk3/gotk3 v0.6.4
        github.com/mdp/qrterminal/v3 v3.2.0
-       github.com/qydysky/part v0.28.20241114122041
+       github.com/qydysky/part v0.28.20241116095044
        github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e
        github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966
        golang.org/x/text v0.17.0
diff --git a/go.sum b/go.sum
index 6824543d314c9067bdef3665011f9a4d848152ad..01f67a03ec5c6608e71b8bc5abc473b620fc6bad 100644 (file)
--- a/go.sum
+++ b/go.sum
@@ -46,8 +46,8 @@ github.com/qydysky/biliApi v0.0.0-20240725184407-15076dddb6fb h1:dtSpNF9hLQa09TU
 github.com/qydysky/biliApi v0.0.0-20240725184407-15076dddb6fb/go.mod h1:om024vfxALQ5vxsbaGoMm8IS0esLYBnEOpJI8FsGoDg=
 github.com/qydysky/brotli v0.0.0-20240828134800-e9913a6e7ed9 h1:k451T+bpsLr+Dq9Ujo+Qtx0iomRA1XXS5ttlEojvfuQ=
 github.com/qydysky/brotli v0.0.0-20240828134800-e9913a6e7ed9/go.mod h1:cI8/gy/wjy2Eb+p2IUj2ZuDnC8R5Vrx3O0VMPvMvphA=
-github.com/qydysky/part v0.28.20241114122041 h1:FuKZ8DlLtC9LmxENhOXE9BWFFbgvbj0ft6fMd3RkYL8=
-github.com/qydysky/part v0.28.20241114122041/go.mod h1:s3h7P6YdST5b9WoqjlS9w+JzDFdMeSENQOi8noYuopg=
+github.com/qydysky/part v0.28.20241116095044 h1:1yLfP5/0T58pedooC1JqKojEH3iml7DA24OVh9aHEok=
+github.com/qydysky/part v0.28.20241116095044/go.mod h1:s3h7P6YdST5b9WoqjlS9w+JzDFdMeSENQOi8noYuopg=
 github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE=
 github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
 github.com/shirou/gopsutil v3.21.11+incompatible h1:+1+c1VGhc88SSonWP6foOcLhvnKlUeu/erjjvaPEYiI=