mirror of
https://github.com/shaka-project/shaka-player.git
synced 2026-06-26 17:46:26 +03:00
0f322b08bb
HLS SUPPLEMENTAL-CODECS (e.g. Dolby Vision dvh1) creates duplicate variant tags with different codecs but the same media playlist URI. Due to lazy-loading, only one variant gets its drmInfos populated via createSegmentIndex(). The other variant remains with empty drmInfos and is treated as unencrypted by getDecodingConfigs_(). In the preferredKeySystems loop, the filter rejected these unencrypted configs (undefined !== preferredKeySystem), leaving the variant with no decodingInfo and causing it to be dropped. Fix: allow unencrypted configs (!keySystem) to pass through, matching the pattern already used in the second (fallback) loop. Propagating drmInfos in HLS parser would be more correct but is complex because stream duplication happens at the tag level with separate cache keys (URI + codecs) in createStreamInfoFromVariantTags_.