]> 127.0.0.1 Git - bili_danmu/.git/commitdiff
Improve 代码简化
authorqydysky <qydysky@foxmail.com>
Sat, 23 Mar 2024 21:27:16 +0000 (05:27 +0800)
committerqydysky <qydysky@foxmail.com>
Sat, 23 Mar 2024 21:27:16 +0000 (05:27 +0800)
.github/workflows/go.yml
Reply/stream.go
go.mod
go.sum

index e47c25912505beff09614c8fc900d9f2ffa6a28d..70650b2cb728c26228159ae070ac17608c0b6b1a 100644 (file)
@@ -81,7 +81,7 @@ jobs:
       run: zip -q -r ubuntu_go${{ matrix.go }}.zip demo
 
     - name: Upload a Release Asset
-      uses: softprops/action-gh-release@v1
+      uses: softprops/action-gh-release@v2
       with:
         draft: true
         files: |
@@ -121,7 +121,7 @@ jobs:
       run: .\7za.exe a -r .\windows_go${{ matrix.go }}.zip ./demo
 
     - name: Upload a Release Asset
-      uses: softprops/action-gh-release@v1
+      uses: softprops/action-gh-release@v2
       with:
         draft: true
         files: |
@@ -161,7 +161,7 @@ jobs:
       run: zip -q -r macos_go${{ matrix.go }}.zip demo
 
     - name: Upload a Release Asset
-      uses: softprops/action-gh-release@v1
+      uses: softprops/action-gh-release@v2
       with:
         draft: true
         files: |
index 55251859bc7b7001e9a1894c2df9a2ab396fa3ae..d49b0b54607e6deb9f37504a9eee2403ce4483f8 100644 (file)
@@ -838,8 +838,6 @@ func (t *M4SStream) saveStreamFlv() (e error) {
 }
 
 func (t *M4SStream) saveStreamM4s() (e error) {
-       // 同时下载数限制
-       var download_limit = &funcCtrl.BlockFuncN{Max: 3}
 
        if v, ok := t.common.K_v.LoadV(`debug模式`).(bool); ok && v {
                cancle := make(chan struct{})
@@ -858,8 +856,9 @@ func (t *M4SStream) saveStreamM4s() (e error) {
                }()
        }
 
-       //
        var (
+               // 同时下载数限制
+               downloadLimit    = funcCtrl.NewBlockFuncN(3)
                buf              = slice.New[byte]()
                fmp4Decoder      = &Fmp4Decoder{}
                keyframe         = slice.New[byte]()
@@ -886,6 +885,7 @@ func (t *M4SStream) saveStreamM4s() (e error) {
                // 存在待下载切片
                if len(download_seq) != 0 {
                        var downingCount = 0 //本轮下载数量
+
                        // 下载切片
                        for _, v := range download_seq {
 
@@ -901,9 +901,7 @@ func (t *M4SStream) saveStreamM4s() (e error) {
                                }
                                downingCount += 1
 
-                               download_limit.Block(func() {
-                                       time.Sleep(time.Millisecond * 10)
-                               })
+                               done := downloadLimit.Block()
 
                                // 故障转移
                                if v.status == 3 {
@@ -923,7 +921,7 @@ func (t *M4SStream) saveStreamM4s() (e error) {
                                }
 
                                go func(link *m4s_link_item) {
-                                       defer download_limit.UnBlock()
+                                       defer done()
 
                                        link.download(t.reqPool, reqf.Rval{
                                                Timeout:     to * 1000,
@@ -937,10 +935,7 @@ func (t *M4SStream) saveStreamM4s() (e error) {
                        }
 
                        // 等待队列下载完成
-                       download_limit.BlockAll(func() {
-                               time.Sleep(time.Millisecond * 10)
-                       })
-                       download_limit.UnBlockAll()
+                       downloadLimit.BlockAll()()
                }
 
                // 传递已下载切片
diff --git a/go.mod b/go.mod
index 7c26ff855e73024cdb91f0f02d94384279843e4c..d4efcdcf663e63d2405dac67f0e0140057ad7d66 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.20240316105420
+       github.com/qydysky/part v0.28.20240323212235
        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-20240222234643-814bf88cf225
+       golang.org/x/exp v0.0.0-20240318143956-a85f2c67cd81
 )
 
 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.45.0 // indirect
+       modernc.org/libc v1.47.0 // indirect
        modernc.org/mathutil v1.6.0 // indirect
        modernc.org/memory v1.7.2 // indirect
        modernc.org/strutil v1.2.0 // indirect
diff --git a/go.sum b/go.sum
index b7eca6ac66da3fe11d52fdcfc87674d7ff04a1f8..bd25312d8e1e2c8da7648d773892badde205d5ab 100644 (file)
--- a/go.sum
+++ b/go.sum
@@ -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.20240316105420 h1:KUqY3aYyW1qbuOcU4Jn76JlLDF4RGkuzKatCaPG/jQo=
-github.com/qydysky/part v0.28.20240316105420/go.mod h1:XytV5dI1Y7+qvjhsa2TMvi55RBZQQf0LCDYQ1kUCYqM=
+github.com/qydysky/part v0.28.20240323212235 h1:SODy4RbqsMCXb/yaFNBrXlZfARWMKBLz1421FPKBxVQ=
+github.com/qydysky/part v0.28.20240323212235/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-20240222234643-814bf88cf225 h1:LfspQV/FYTatPTr/3HzIcmiUFH7PGP+OQ6mgDYo3yuQ=
-golang.org/x/exp v0.0.0-20240222234643-814bf88cf225/go.mod h1:CxmFvTBINI24O/j8iY7H1xHzx2i4OsyguNBmN/uPtqc=
+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/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=
@@ -79,18 +79,18 @@ golang.org/x/tools v0.19.0/go.mod h1:qoJWxmGSIBmAeriMx19ogtrEPrGtDbPK634QFIcLAhc
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 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.3 h1:vE9kmJqUcyvNOf8F2Hn8od14SOMq34BiqcZ2tMzLk5c=
-modernc.org/cc/v4 v4.19.3/go.mod h1:HM7VJTZbUCR3rV8EYBi9wxnJ0ZBRiGE5OeGXNA0IsLQ=
-modernc.org/ccgo/v4 v4.11.0 h1:2uc2kRvZLC/oHylsrirRW6f1I4wljQST2BBbm+aKiXM=
-modernc.org/ccgo/v4 v4.11.0/go.mod h1:GwrfAtnU6PdZkCWD4XI8wB1T5Xj3fSw9lO/40H1ldys=
+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/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.45.0 h1:qmAJZf9tYFqK/SFSFqpBc9uHWGsvoYWtRcMQdG+JEfM=
-modernc.org/libc v1.45.0/go.mod h1:YkRHLoN4L70OdO1cVmM83KZhRbRvsc3XogfVzbTXBwE=
+modernc.org/libc v1.47.0 h1:BXrzId9fOOkBtS+uFQ5aZyVGmt7WcSEPrXF5Kwsho90=
+modernc.org/libc v1.47.0/go.mod h1:gzCncw0a74aCiVqHeWAYHHaW//fkSHHS/3S/gfhLlCI=
 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=