-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: add support for more tags from rfc #3
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
e471c86
to
f46f4d9
Compare
Expanded support for RFC 8216 compliant tags in the playlist builder. Additional tags such as 'ExtXKey', 'ExtXMap', 'ExtXProgramDateTime', and others were added. Error handling for invalid formats for numerous fields were integrated, ensuring robustness. We verified compliance by validating every tag according to their respective rules.
Enhancements have been made to the m3u8 module. The target_duration function now accepts a u64 value instead of a u32, expanding possible duration values. We've also added `#[allow(clippy::too_many_arguments)]` to bypass Clippy's warnings for the media and stream_inf function. Also, more meaningful error messages have been added and the code is now streamlined for improved tag extraction. For validation.rs, we replaced the u32 data type with the u64 in InvalidTargetDuration to match the change in builder.rs.
f46f4d9
to
c221cb1
Compare
This commit refactors test cases and updates revisions in the M3U8 playlist parsing code. Changes include an update in version numbers from 3 to 7, and adjustments in parsing and building logic. Commented out explanations for the playlist builder were also removed. The changes were necessary to keep the tests consistent with the updates in the parsing logic.
This commit introduces the `ExtXPlaylistType` tag to the M3U8 playlist parser, which provides mutability information about the playlist. It also updates the builder to support adding this tag, and includes a new Makefile for testing and linting with cargo.
c221cb1
to
a72d41b
Compare
This commit changes builder methods to use string references (`&str`) instead of `String` for several fields. This improves performance by avoiding unnecessary allocations and simplifies the function signatures. Corresponding test adjustments have also been made to reflect these changes.
Implemented the `Clone` trait for `Tag` and refactored `PlaylistBuilder` to use `Rc<RefCell<Vec<Tag>>>` for better state management. Additionally, added `cargo fmt` to the `check` target in the `Makefile` to enforce consistent code formatting.
Invalid media sequence number error handling has been deemed unnecessary and thus removed from validation.rs and playlist/mod.rs. Other existing validation errors remain unaffected.
c242716
to
6beaf4d
Compare
Revised the structure of the `ExtInf` tag to encapsulate the URI directly within it, removing the need for separate `Uri` tags. This change simplifies the tag structure and ensures better cohesion by combining related data into a single tag.
Added regex as a new dependency in Cargo.toml. Removed EXT-X-DATE-RANGE support and related tests from the codebase. Updated Playlist parsing to process lines more efficiently using regex.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.