恢复无 cookie 拉流修复:iPhone 原生播放器(AVPlayer/夸克系统解码)不携带 cookie 时媒体资产可凭会话 ID 拉流,纯 HTTP 生效;新增拉流拒绝诊断日志

This commit is contained in:
yvan
2026-09-18 12:09:28 +08:00
parent 53c87872fc
commit f2802dcc5f
4 changed files with 37 additions and 2 deletions
+7 -1
View File
@@ -259,10 +259,16 @@ func (app *UIApp) handlePlaybackMediaAsset(writer http.ResponseWriter, request *
return
}
run, err := strconv.ParseUint(parts[1], 10, 64)
viewer := contextViewer(request.Context())
app.playbackMu.Lock()
session := app.playbacks[parts[0]]
if err != nil || !viewerOwnsPlayback(request.Context(), session) || session.run != run || session.media == nil {
denied := err != nil || session == nil || session.run != run || session.media == nil
if !denied && viewer != nil {
denied = !viewerOwnsPlayback(request.Context(), session)
}
if denied {
app.playbackMu.Unlock()
app.recordPlaybackAssetDenial(request, "session-unavailable")
writer.WriteHeader(http.StatusGone)
return
}