From: qydysky Date: Sat, 12 Jun 2021 09:18:21 +0000 (+0800) Subject: hls切片重试失败使用通道 X-Git-Tag: v0.5.10~41^2~106 X-Git-Url: http://127.0.0.1:8081/?a=commitdiff_plain;h=0e4c74de312572535b22601980d863f4f63f9961;p=bili_danmu%2F.git hls切片重试失败使用通道 --- diff --git a/Reply/F.go b/Reply/F.go index ea1af9e..1dc8bb5 100644 --- a/Reply/F.go +++ b/Reply/F.go @@ -1083,13 +1083,9 @@ func Savestreamf(){ }, }) - type miss_download_T struct{ - List []*m4s_link_item - sync.RWMutex - } var ( last_download *m4s_link_item - miss_download miss_download_T + miss_download = make(chan *m4s_link_item,100) download_limit = funcCtrl.BlockFuncN{ Max:2, }//limit @@ -1110,15 +1106,8 @@ func Savestreamf(){ links := []*m4s_link_item{} //下载出错的 - miss_download.RLock() - if len(miss_download.List) != 0 { - miss_download.RUnlock() - miss_download.Lock() - links = append(miss_download.List, links...) - miss_download.List = []*m4s_link_item{} - miss_download.Unlock() - } else { - miss_download.RUnlock() + for len(miss_download) != 0 { + links = append(links, <-miss_download) } for k,v :=range links { @@ -1212,18 +1201,6 @@ func Savestreamf(){ path_behind = "?"+u.RawQuery } - //下载出错的 - miss_download.RLock() - if len(miss_download.List) != 0 { - miss_download.RUnlock() - miss_download.Lock() - links = append(miss_download.List, links...) - miss_download.List = []*m4s_link_item{} - miss_download.Unlock() - } else { - miss_download.RUnlock() - } - //出错期间没能获取到的 for i:=now-1;i>previou;i-=1 { base := strconv.Itoa(i)+".m4s" @@ -1264,9 +1241,6 @@ func Savestreamf(){ for i:=0;i