Skip to content

Conversation

@kixelated
Copy link
Collaborator

  • Add optional features for mp4, h264, h265, and hls support
  • Make mp4-atom, h264-parser, scuffle-h265, m3u8-rs, and reqwest optional dependencies
  • Add #[non_exhaustive] to VideoCodec, AudioCodec, and DecoderFormat enums
  • Add conditional compilation for feature-gated modules
  • Add 'just check-all' command using cargo-hack to test all feature permutations
  • All features enabled by default for backwards compatibility

- Add optional features for mp4, h264, h265, and hls support
- Make mp4-atom, h264-parser, scuffle-h265, m3u8-rs, and reqwest optional dependencies
- Add #[non_exhaustive] to VideoCodec, AudioCodec, and DecoderFormat enums
- Add conditional compilation for feature-gated modules
- Add 'just check-all' command using cargo-hack to test all feature permutations
- All features enabled by default for backwards compatibility
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 19, 2026

Walkthrough

The hang crate introduces feature flags with defaults ["mp4","h264","h265","hls"] and makes several dependencies optional and feature-gated. AudioCodec, VideoCodec, and DecoderFormat are annotated #[non_exhaustive]. Decoder variants, import modules, and related match arms are gated by mp4/h264/h265/hls features. The Error enum’s Http variant and the Fromreqwest::Error impl are gated by the hls feature. Build tooling: cargo-hack is added to the dev environment and the justfile gains check-all and test-all targets; CI workflows are updated to invoke those targets.

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The pull request title 'feat(hang): add feature flags for third-party dependencies' accurately summarizes the main change—introducing optional feature flags for mp4, h264, h265, and hls support in the hang crate.
Description check ✅ Passed The pull request description is directly related to the changeset, providing a clear bullet-point overview of the modifications including optional features, optional dependencies, non-exhaustive attributes, conditional compilation, and the cargo-hack integration.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

- check-all now only runs cargo hack check for all feature combinations
- test-all runs cargo hack test for all feature combinations
- Both commands run their standard counterparts first
@kixelated kixelated enabled auto-merge (squash) January 19, 2026 22:14
@kixelated kixelated merged commit d61d1da into main Jan 19, 2026
1 check passed
@kixelated kixelated deleted the claude/add-third-party-features-TTrb4 branch January 19, 2026 22:17
@moq-bot moq-bot bot mentioned this pull request Jan 18, 2026
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.

3 participants