select {
//停止录制
case <-tsc:
- r.Cancel()
+ cancel()
//当前连接终止
case <-cancelC.Done():
}
for {
select {
case <-cancelC.Done():
+ rc.CloseWithError(context.Canceled)
return
case curT := <-timer.C:
if curT.Unix()-leastReadUnix.Load() > readTO {
t.log.L(`W: `, fmt.Sprintf("%vs未接收到有效数据", readTO))
// 5s未接收到任何数据
- r.Cancel()
+ cancel()
return
}
if v, ok := c.C.K_v.LoadV(`直播流清晰度`).(float64); ok {
if t.config.want_qn != int(v) {
t.log.L(`I: `, "直播流清晰度改变:", t.common.Qn[t.config.want_qn], "=>", t.common.Qn[int(v)])
t.config.want_qn = int(v)
- r.Cancel()
+ cancel()
return
}
}
buf = make([]byte, 1<<16)
frameCount = 0
)
- defer ticker.Stop()
- defer t.Stream_msg.PushLock_tag(`close`, nil)
+
for {
n, e := rc.Read(buf)
_ = buff.Append(buf[:n])
if e != nil {
- r.Cancel()
+ cancel()
break
}
if keyframe.Size() != 0 {
if len(t.first_buf) == 0 {
t.log.L(`W: `, `flv未接收到起始段`)
- r.Cancel()
+ cancel()
break
}
t.bootBufPush(keyframe.GetPureBuf())
buf = nil
buff.Reset()
+
+ ticker.Stop()
+ t.Stream_msg.PushLock_tag(`close`, nil)
}()
t.log.L(`I: `, `flv下载开始`)
_ = r.Reqf(reqf.Rval{
+ Ctx: cancelC,
Url: surl.String(),
SaveToPipeWriter: rw,
NoResponse: true,
require (
github.com/gotk3/gotk3 v0.6.2
github.com/mdp/qrterminal/v3 v3.1.1
- github.com/qydysky/part v0.28.1-0.20230627085103-b1631761d65e
+ github.com/qydysky/part v0.28.1-0.20230716191926-eec76611f9da
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.11.0
github.com/miekg/dns v1.1.55 h1:GoQ4hpsj0nFLYe+bWiCToyrBEJXkQfOOIvFGFy0lEgo=
github.com/miekg/dns v1.1.55/go.mod h1:uInx36IzPl7FYnDcMeVWxj9byh7DutNykX4G9Sj60FY=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
-github.com/qydysky/part v0.28.1-0.20230627085103-b1631761d65e h1:hadrhlWMlfPOD/QN8sA6iUUk/e36MKkO1g5e37+CdBY=
-github.com/qydysky/part v0.28.1-0.20230627085103-b1631761d65e/go.mod h1:CdkAHZ+OxieG1sI4M6UowP9j0QQDnhtDtN4tWsylCPU=
+github.com/qydysky/part v0.28.1-0.20230716191926-eec76611f9da h1:37ymW4OXo7uFZ4GZPDHcY741bBAxgLQBFTQvZbAMySA=
+github.com/qydysky/part v0.28.1-0.20230716191926-eec76611f9da/go.mod h1:CdkAHZ+OxieG1sI4M6UowP9j0QQDnhtDtN4tWsylCPU=
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=