恢复无 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
@@ -95,10 +95,16 @@ func (app *UIApp) handlePlaybackNativeAsset(writer http.ResponseWriter, request
writeJSON(writer, http.StatusBadRequest, map[string]string{"error": "播放请求编号无效"})
return
}
viewer := contextViewer(request.Context())
app.playbackMu.Lock()
session := app.playbacks[query.Get("session")]
if !viewerOwnsPlayback(request.Context(), session) || session.run != run || session.native == nil {
denied := session == nil || session.run != run || session.native == nil
if !denied && viewer != nil {
denied = !viewerOwnsPlayback(request.Context(), session)
}
if denied {
app.playbackMu.Unlock()
app.recordPlaybackAssetDenial(request, "stream-unavailable")
writeJSON(writer, http.StatusGone, map[string]string{"error": "此播放流已结束,请重新选择分集"})
return
}