]> 127.0.0.1 Git - bili_danmu/.git/commitdiff
Fix 录制了错误的数据 #115
authorqydysky <qydysky@foxmail.com>
Tue, 2 Apr 2024 15:50:14 +0000 (23:50 +0800)
committerqydysky <qydysky@foxmail.com>
Tue, 2 Apr 2024 15:50:14 +0000 (23:50 +0800)
Reply/stream.go
go.mod
go.sum

index 8f9e94b9e21e0eb0063f8e29dc16635787d0988e..d426173300030d3f1d6258959c0e836a880eefba 100644 (file)
@@ -945,6 +945,7 @@ func (t *M4SStream) saveStreamM4s() (e error) {
                // 下载切片
                for {
                        downOk := true
+                       dCount := 0
                        for i := 0; i < len(download_seq); i++ {
                                // 已下载但还未移除的切片
                                if download_seq[i].status == 2 {
@@ -952,10 +953,11 @@ func (t *M4SStream) saveStreamM4s() (e error) {
                                }
 
                                // 每次最多只下载10个切片
-                               if i >= 10 {
+                               if dCount >= 10 {
                                        t.log.L(`T: `, `延迟切片下载 数量(`, len(download_seq)-i, `)`)
                                        break
                                }
+                               dCount += 1
 
                                done := downloadLimit.Block()
 
@@ -1002,21 +1004,7 @@ func (t *M4SStream) saveStreamM4s() (e error) {
                }
 
                // 传递已下载切片
-               for k := 0; k < len(download_seq); k++ {
-                       // v := download_seq[k]
-
-                       // if download_seq[k].status != 2 {
-                       //      if download_seq[k].tryDownCount >= 3 {
-                       //              //下载了2次,任未下载成功,忽略此块
-                       //              t.putM4s(download_seq...)
-                       //              //丢弃所有数据
-                       //              buf.Reset()
-                       //              t.log.L(`E: `, `切片下载失败`, download_seq[k].err)
-                       //              return errors.New(`切片下载失败` + download_seq[k].err.Error())
-                       //      } else {
-                       //              break
-                       //      }
-                       // }
+               for k := 0; k < len(download_seq) && download_seq[k].status == 2; k++ {
 
                        if download_seq[k].isInit() {
                                {
@@ -1371,7 +1359,7 @@ func (t *M4SStream) PusherToFile(contextC context.Context, filepath string, star
        defer done()
 
        _, _ = f.Write(t.getFirstBuf(), true)
-       cancelRec := t.Stream_msg.Pull_tag_async(map[string]func([]byte) bool{
+       cancelRec := t.Stream_msg.Pull_tag_async_order(map[string]func([]byte) bool{
                `data`: func(b []byte) bool {
                        select {
                        case <-contextC.Done():
@@ -1458,7 +1446,7 @@ func (t *M4SStream) PusherToHttp(conn net.Conn, w http.ResponseWriter, r *http.R
                return err
        }
 
-       var cancelRec = t.Stream_msg.Pull_tag_async(map[string]func([]byte) bool{
+       var cancelRec = t.Stream_msg.Pull_tag_async_order(map[string]func([]byte) bool{
                `data`: func(b []byte) bool {
                        select {
                        case <-r.Context().Done():
@@ -1470,8 +1458,6 @@ func (t *M4SStream) PusherToHttp(conn net.Conn, w http.ResponseWriter, r *http.R
                        }
                        if n, err := w.Write(b); err != nil || n == 0 {
                                return true
-                       } else if e := conn.SetWriteDeadline(time.Now().Add(time.Second * 10)); e != nil {
-                               return true
                        }
                        return false
                },
diff --git a/go.mod b/go.mod
index 1edf956e69ab7e603f8d9a452b1e6ae398d624f2..34782c219ff083c6366c5d7b97f1b96044c97ce8 100644 (file)
--- a/go.mod
+++ b/go.mod
@@ -5,7 +5,7 @@ go 1.22
 require (
        github.com/gotk3/gotk3 v0.6.3
        github.com/mdp/qrterminal/v3 v3.2.0
-       github.com/qydysky/part v0.28.20240331120148
+       github.com/qydysky/part v0.28.20240402154002
        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.14.0
@@ -13,7 +13,7 @@ require (
 
 require (
        github.com/google/uuid v1.6.0
-       golang.org/x/exp v0.0.0-20240318143956-a85f2c67cd81
+       golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8
 )
 
 require (
@@ -24,7 +24,7 @@ require (
        github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
        golang.org/x/term v0.18.0 // indirect
        modernc.org/gc/v3 v3.0.0-20240304020402-f0dba7c97c2b // indirect
-       modernc.org/libc v1.47.0 // indirect
+       modernc.org/libc v1.49.0 // indirect
        modernc.org/mathutil v1.6.0 // indirect
        modernc.org/memory v1.7.2 // indirect
        modernc.org/strutil v1.2.0 // indirect
@@ -36,7 +36,7 @@ require (
        github.com/davecgh/go-spew v1.1.1 // indirect
        github.com/dustin/go-humanize v1.0.1
        github.com/go-ole/go-ole v1.3.0 // indirect
-       github.com/go-sql-driver/mysql v1.8.0
+       github.com/go-sql-driver/mysql v1.8.1
        github.com/gorilla/websocket v1.5.1 // indirect
        github.com/klauspost/compress v1.17.7 // indirect
        github.com/lib/pq v1.10.9
diff --git a/go.sum b/go.sum
index 65dc13e3f94b7ac7e9a0e7cb7ac31e6858b02faf..622e9fc001ff771a2a28ff1eade7e2dbc95fa2fd 100644 (file)
--- a/go.sum
+++ b/go.sum
@@ -9,8 +9,8 @@ github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+m
 github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
 github.com/go-ole/go-ole v1.3.0 h1:Dt6ye7+vXGIKZ7Xtk4s6/xVdGDQynvom7xCFEdWr6uE=
 github.com/go-ole/go-ole v1.3.0/go.mod h1:5LS6F96DhAwUc7C+1HLexzMXY1xGRSryjyPPKW6zv78=
-github.com/go-sql-driver/mysql v1.8.0 h1:UtktXaU2Nb64z/pLiGIxY4431SJ4/dR5cjMmlVHgnT4=
-github.com/go-sql-driver/mysql v1.8.0/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg=
+github.com/go-sql-driver/mysql v1.8.1 h1:LedoTUt/eveggdHS9qUFC1EFSa8bU2+1pZjSRpvNJ1Y=
+github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg=
 github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26 h1:Xim43kblpZXfIBQsbuBVKCudVG457BR2GZFIz3uw3hQ=
 github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26/go.mod h1:dDKJzRmX4S37WGHujM7tX//fmj1uioxKzKxz3lo4HJo=
 github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
@@ -37,8 +37,8 @@ github.com/ncruces/go-strftime v0.1.9 h1:bY0MQC28UADQmHmaF5dgpLmImcShSi2kHU9XLdh
 github.com/ncruces/go-strftime v0.1.9/go.mod h1:Fwc5htZGVVkseilnfgOVb9mKy6w1naJmn9CehxcKcls=
 github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
 github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/qydysky/part v0.28.20240331120148 h1:LiZsVm+U50+Lf+L6b+MaGZcytoQCnWVWZ35axOeyebs=
-github.com/qydysky/part v0.28.20240331120148/go.mod h1:XytV5dI1Y7+qvjhsa2TMvi55RBZQQf0LCDYQ1kUCYqM=
+github.com/qydysky/part v0.28.20240402154002 h1:hx1PnsXysltox5xSb2asl3I9bY87ar3LF78lcFgVg8Q=
+github.com/qydysky/part v0.28.20240402154002/go.mod h1:XytV5dI1Y7+qvjhsa2TMvi55RBZQQf0LCDYQ1kUCYqM=
 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=
@@ -57,8 +57,8 @@ github.com/tklauser/numcpus v0.7.0 h1:yjuerZP127QG9m5Zh/mSO4wqurYil27tHrqwRoRjpr
 github.com/tklauser/numcpus v0.7.0/go.mod h1:bb6dMVcj8A42tSE7i32fsIUCbQNllK5iDguyOZRUzAY=
 github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0=
 github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0=
-golang.org/x/exp v0.0.0-20240318143956-a85f2c67cd81 h1:6R2FC06FonbXQ8pK11/PDFY6N6LWlf9KlzibaCapmqc=
-golang.org/x/exp v0.0.0-20240318143956-a85f2c67cd81/go.mod h1:CQ1k9gNrJ50XIzaKCRR2hssIjF07kZFEiieALBM/ARQ=
+golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8 h1:aAcj0Da7eBAtrTp03QXWvm88pSyOt+UgdZw2BFZ+lEw=
+golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8/go.mod h1:CQ1k9gNrJ50XIzaKCRR2hssIjF07kZFEiieALBM/ARQ=
 golang.org/x/mod v0.16.0 h1:QX4fJ0Rr5cPQCF7O9lh9Se4pmwfwskqZfq5moyldzic=
 golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
 golang.org/x/net v0.22.0 h1:9sGLhx7iRIHEiX0oAJ3MRZMUCElJgy7Br1nO+AMN3Tc=
@@ -81,16 +81,16 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
 gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
 modernc.org/cc/v4 v4.19.5 h1:QlsZyQ1zf78DGeqnQ9ILi9hXyMdoC5e1qoGNUyBjHQw=
 modernc.org/cc/v4 v4.19.5/go.mod h1:HM7VJTZbUCR3rV8EYBi9wxnJ0ZBRiGE5OeGXNA0IsLQ=
-modernc.org/ccgo/v4 v4.13.0 h1:99E8QHRoPrXN8VpS0zgAgJ5nSjpXrPKpsJIMvGL/2Oc=
-modernc.org/ccgo/v4 v4.13.0/go.mod h1:Td6RI9W9G2ZpKHaJ7UeGEiB2aIpoDqLBnm4wtkbJTbQ=
+modernc.org/ccgo/v4 v4.13.1 h1:qBttaSxEHNze36VBivw1/vkHuyjMDN3RY5wQX+p1Oxg=
+modernc.org/ccgo/v4 v4.13.1/go.mod h1:Td6RI9W9G2ZpKHaJ7UeGEiB2aIpoDqLBnm4wtkbJTbQ=
 modernc.org/fileutil v1.3.0 h1:gQ5SIzK3H9kdfai/5x41oQiKValumqNTDXMvKo62HvE=
 modernc.org/fileutil v1.3.0/go.mod h1:XatxS8fZi3pS8/hKG2GH/ArUogfxjpEKs3Ku3aK4JyQ=
 modernc.org/gc/v2 v2.4.1 h1:9cNzOqPyMJBvrUipmynX0ZohMhcxPtMccYgGOJdOiBw=
 modernc.org/gc/v2 v2.4.1/go.mod h1:wzN5dK1AzVGoH6XOzc3YZ+ey/jPgYHLuVckd62P0GYU=
 modernc.org/gc/v3 v3.0.0-20240304020402-f0dba7c97c2b h1:BnN1t+pb1cy61zbvSUV7SeI0PwosMhlAEi/vBY4qxp8=
 modernc.org/gc/v3 v3.0.0-20240304020402-f0dba7c97c2b/go.mod h1:Qz0X07sNOR1jWYCrJMEnbW/X55x206Q7Vt4mz6/wHp4=
-modernc.org/libc v1.47.0 h1:BXrzId9fOOkBtS+uFQ5aZyVGmt7WcSEPrXF5Kwsho90=
-modernc.org/libc v1.47.0/go.mod h1:gzCncw0a74aCiVqHeWAYHHaW//fkSHHS/3S/gfhLlCI=
+modernc.org/libc v1.49.0 h1:/kkNBuCXvlTbOGwrQdgR67eK1Y9+kR+fhdBd89C64VM=
+modernc.org/libc v1.49.0/go.mod h1:DNz0lgQgT6FPIPm8rHtjFj0FL5/YOr/NYFXWYBcSxMw=
 modernc.org/mathutil v1.6.0 h1:fRe9+AmYlaej+64JsEEhoWuAYBkOtQiMEU7n/XgfYi4=
 modernc.org/mathutil v1.6.0/go.mod h1:Ui5Q9q1TR2gFm0AQRqQUaBWFLAhQpCwNcuhBOSedWPo=
 modernc.org/memory v1.7.2 h1:Klh90S215mmH8c9gO98QxQFsY+W451E8AnzjoE2ee1E=