From: qydysky Date: Sun, 24 Dec 2023 17:50:06 +0000 (+0800) Subject: Fix flv格式回放中断 #95 X-Git-Tag: v0.11.14~1 X-Git-Url: http://127.0.0.1:8081/?a=commitdiff_plain;h=22138ca182d850ade83f7698a082c8c0146abb39;p=bili_danmu%2F.git Fix flv格式回放中断 #95 --- diff --git a/Reply/F.go b/Reply/F.go index 6f25250..48f9653 100644 --- a/Reply/F.go +++ b/Reply/F.go @@ -1440,22 +1440,22 @@ func init() { // 读取区间 var rangeHeaderNum int - // if rangeHeader := r.Header.Get(`range`); rangeHeader != "" { - // var e error - // if strings.Index(rangeHeader, "bytes=") != 0 { - // w.WriteHeader(http.StatusRequestedRangeNotSatisfiable) - // flog.L(`W: `, `请求的范围不合法:仅支持bytes`) - // return - // } else if strings.Contains(rangeHeader, ",") && strings.Index(rangeHeader, "-") != len(rangeHeader)-1 { - // w.WriteHeader(http.StatusRequestedRangeNotSatisfiable) - // flog.L(`W: `, `请求的范围不合法:仅支持向后范围`) - // return - // } else if rangeHeaderNum, e = strconv.Atoi(string(rangeHeader[6 : len(rangeHeader)-1])); e != nil { - // w.WriteHeader(http.StatusRequestedRangeNotSatisfiable) - // flog.L(`W: `, `请求的范围不合法:`, e) - // return - // } - // } + if rangeHeader := r.Header.Get(`range`); rangeHeader != "" { + var e error + if strings.Index(rangeHeader, "bytes=") != 0 { + w.WriteHeader(http.StatusRequestedRangeNotSatisfiable) + flog.L(`W: `, `请求的范围不合法:仅支持bytes`) + return + } else if strings.Contains(rangeHeader, ",") && strings.Index(rangeHeader, "-") != len(rangeHeader)-1 { + w.WriteHeader(http.StatusRequestedRangeNotSatisfiable) + flog.L(`W: `, `请求的范围不合法:仅支持向后范围`) + return + } else if rangeHeaderNum, e = strconv.Atoi(string(rangeHeader[6 : len(rangeHeader)-1])); e != nil { + w.WriteHeader(http.StatusRequestedRangeNotSatisfiable) + flog.L(`W: `, `请求的范围不合法:`, e) + return + } + } // 直播流回放速率 var speed, _ = humanize.ParseBytes("1 M")