When an EXT-X-STREAM-INF lists an audio codec (e.g. CODECS="avc1,mp4a") but declares no AUDIO group, the audio is muxed into that rendition's segments. The parser was discarding the audio codec and keeping only the video codec, so the SourceBuffer mimetype omitted audio and the muxed segment failed to append (CHUNK_DEMUXER_ERROR_APPEND_FAILED: audio object type does not match the mimetype). Retain both codecs in that case so the mimetype matches the muxed media. The guard keys on an audio codec actually being present in CODECS, not on the mere absence of an AUDIO group — audioless video (CODECS="avc1") stays video-only, and demuxed sources (with an AUDIO group) are unchanged. Verified live: a muxed CMAF source (mediastreamsegmenter) now appends and plays in SPF where it previously errored. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Video.js v10
Modern, modular, and composable media player framework for Web and React.
🚧 Beta - close to stable. Experimental adoption in real projects. 🚧
Video.js v10 is close to stable. Try it out in real projects and share your feedback 🙏.
- Read our design documents.
- Read the v10 discussion topic.
- Watch Heff's recent presentation.
Timeline
- Technical Preview (Complete): Initial showcase for Demuxed.
- Alpha (Complete): See milestone
- Beta (Complete): See milestone
- GA (Mid 2026): See milestone ← WIP
- Video.js (End of 2026): Video.js core/contrib parity and supported plugins migrated.
Documentation
If you'd like to get started and learn more, you can find our documentation on our website:
Community
If you need help with anything related to Video.js 10, or if you'd like to casually chat with other members:
Contributing
We'd love for you to join our community channels above and give us feedback! Feedback on any of the following would help us:
- Player skin designs
- Component structures and APIs
- Package structure and exports
- Repo, workspace, contributor guides
Please see our contributing guide for getting set up locally and making code or docs changes.
Code of Conduct
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.