Skip to content

Conversation

robwalch
Copy link
Collaborator

@robwalch robwalch commented Sep 3, 2025

This PR will...

  1. Add stats.parsing.end timing prior to emitting MANIFEST_PARSED on MANIFEST_LOADED and MANIFEST_PARSING_ERROR
  2. Move unknown codecs handling to playlist-loader

Why is this Pull Request needed?

  1. Ensures time to parse Multivariant Playlist is measures and available in HLS.js events.
  2. Unknown codecs that are supported as audio and video mime times need to be added to parsed levels before parsing media options so that audioCodec is set on audio tracks and audio levelCodec is set on levels. This ensures creation of SourceBuffers with the full mime type based on the playlists CODECS rather than the incomplete four CC string parse from the segments.

Are there any points in the code the reviewer needs to double check?

Resolves issues:

Resolves #7518

Checklist

  • changes have been done against master branch, and PR does not conflict
  • new unit / functional tests have been added (whenever applicable)
  • API or design changes are documented in API.md

@robwalch robwalch added this to the 1.6.12 milestone Sep 3, 2025
@robwalch robwalch changed the title Bugfix/manifest parsing end Multivariant Playlist parsing fixes Sep 3, 2025
@robwalch robwalch merged commit 708e10f into master Sep 6, 2025
27 of 28 checks passed
@robwalch robwalch deleted the bugfix/manifest-parsing-end branch September 6, 2025 03:41
robwalch added a commit that referenced this pull request Sep 6, 2025
* Move unknown codecs handling to playlist-loader

* Add `stats.parsing.end` timing prior to emitting MANIFEST_PARSED on MANIFEST_LOADED (or MANIFEST_PARSING_ERROR)
Resolves #7518

* Add mvp loading and parsing test with `stats.parsing.end` assertion (#7518)

* Fix incorrect LEVEL_LOADED `level` index when lower level removed while loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

Successfully merging this pull request may close these issues.

stats.parsing.end is not set for master playlists
1 participant