HLS.js 1.7.1 bug causes KLV metadata loss in low-latency mode
A bug in HLS.js version 1.7.1 causes the loss of MPEG-TS KLV metadata during LL-HLS playback. The issue stems from the TSDemuxer failing to persist KLV PES data across partial segment loads, preventing the emission of FRAG_PARSING_METADATA events.
Key Takeaways
- The bug specifically affects lowLatencyMode when set to true, while standard HLS playback remains unaffected.
- TSDemuxer initializes KLV PES data to null for every call, failing to retain data between short LL-HLS part loads.
- Affected versions fail to emit the FRAG_PARSING_METADATA event required for synchronized data applications.
- The issue stems from a lack of KLV assignment in the demuxer, unlike existing persistence for video, audio, and ID3 tracks.
Why It Matters
This technical failure directly impacts streaming applications that rely on synchronized telemetry or geospatial data, such as ISR or professional sports broadcasting. By failing to persist KLV metadata across partial segments, the player breaks the data chain essential for low-latency interactive features. Within the broader ecosystem, this highlights the fragility of LL-HLS implementations when handling non-media elementary streams that require stateful demuxing. Developers should monitor the video-dev GitHub repository for a patch to the TSDemuxer class to ensure metadata parity between standard and low-latency modes.
Additional Context
The HLS.js project, maintained under the video-dev organization on GitHub, has become the de facto open-source player library for HTTP Live Streaming in web browsers that lack native HLS support. Its adoption spans live sports, surveillance, and professional monitoring workflows where metadata fidelity is non-negotiable. In June 2026, Ericsson launched its AI in RAN commercial software subscription claiming up to 20% higher downlink throughput across more than 15 live deployments, underscoring how network-side intelligence increasingly depends on accurate metadata streams from edge players like HLS.js to feed analytics pipelines. The KLV metadata loss in version 1.7.1 therefore carries implications beyond a single player library, touching the broader chain of network telemetry that operators are beginning to automate.
On the business and standards side, the LL-HLS specification that HLS.js implements was introduced by Apple in 2019 and has since become the primary mechanism for sub-three-second latency delivery over HTTP. Nokia announced work with AWS and Databricks to build data, cloud, and control layers for autonomous networks at DTW Ignite in June 2026, a move that positions telco orchestration platforms to consume real-time metadata from video streams for service assurance. When a player-side bug silently drops KLV payloads, downstream systems that rely on those payloads for geospatial tagging or compliance logging face data gaps that no amount of network-side intelligence can reconstruct. The absence of an industry-wide interoperability standard for metadata handling in LL-HLS players compounds the risk for integrators building multi-vendor stacks.
From a technical standpoint, the TSDemuxer class in HLS.js is responsible for parsing MPEG-TS segments and extracting elementary streams, including metadata tracks. Nokia disclosed that its mobile core AI agents reduced call setup times from roughly 10 seconds to one or two seconds in certain use cases, illustrating the kind of latency-sensitive environment where LL-HLS metadata must arrive in sync with media frames. The specific failure mode in HLS.js 1.7.1, where partial segment loads in LL-HLS mode cause KLV PES data to be discarded rather than buffered across chunk boundaries, represents a state-management defect in the demuxer's incremental parsing logic. , a trend that will increase the volume of metadata-rich streams passing through players like HLS.js and make bugs of this nature more consequential at scale.
Read full article at github.com
Enjoy our coverage?
Add StreamingMeme as a preferred source on Google to see more of our streaming news at the top of your Search results.
Add as preferred source