Skip to content

fix: align MediaInfo projection with Plex metadata - #11

Merged
InfinityPacer merged 1 commit into
mainfrom
fix/plex-native-metadata-projection
Aug 30, 2026
Merged

InfinityPacer merged 1 commit into
mainfrom
fix/plex-native-metadata-projection

Conversation

@InfinityPacer

Copy link
Copy Markdown
Owner

Plex 的单项 metadata、季度集合和播放 decision 对 Stream 的原生响应形态不同。此前统一投影 Stream 会让集合响应偏离 Plex 原始契约,进而影响部分原生客户端加载季度。

本 PR 将 MediaInfo 投影收敛为端点语义:单项 metadata 和 decision 可补充缺失的 Media、Part 与描述性 Stream,季度集合仅补充 Media 与 Part,不读取、创建或修改 Stream。生成的 Stream 不伪造 Plex 拥有的 ID、选择状态或播放 decision;Plex 已有字段、未知字段和对象身份保持不变。

同时对齐 Plex 的 profile、宽高比、帧率、HDR10、HLG、Dolby Vision、音频和字幕字段表达。Plex 原始 metadata 已完整时,响应保持原样,不触发 STRM 读取、缓存查询或远程探测,为后续持久 MediaInfo 写入保留透明透传路径。

验证

  • go test -race -count=1 ./...
  • 28 个 Apple TV、Plex iOS、Plex Web 和 Infuse 代表请求脱敏重放,失败 0
  • Plex 身份字段差异 0,集合 Stream 差异 0,新增 CDN Probe 0
  • Plex Web STRM 首播、暂停、继续、Seek 和下一集切换
  • Part 保持 302,CDN Range 返回 206,视频字节不经过 Gateway

本 PR 不增加客户端特判矩阵,不写入 Plex 数据库,也不改变本地媒体或现有 302 数据路径。

@InfinityPacer
InfinityPacer merged commit 7b6cec8 into main Aug 30, 2026
1 check passed
@InfinityPacer
InfinityPacer deleted the fix/plex-native-metadata-projection branch August 30, 2026 07:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant