Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds Enhanced RTMP (e-RTMP) video parsing support alongside the existing legacy FLV video parsing. It introduces a new FlvVideoData enum that dispatches between legacy and enhanced formats based on the IsExHeader bit, and implements parsing for Enhanced RTMP packet types including ModEx (modifier/extension) prefixes.
Changes:
- Adds
video_enhanced.rswithFlvVideoData,EnhancedVideoTag,VideoFourCc,VideoPacketType, and ModEx parsing logic - Refactors
video.rsto extractparse_composition_time/serialize_composition_timehelpers, fix a comment typo, adjust the frame type mask, and change visibility ofVideoTagFrameTypemethods - Adds new error variants for unknown FourCC, packet types, and unsupported packet types
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
rtmp/src/flv/video_enhanced.rs |
New file: Enhanced RTMP video tag parsing with FourCC codecs, ModEx support, and packet type dispatch |
rtmp/src/flv/video.rs |
Refactored composition time into shared helpers, adjusted bitmask for frame type, widened visibility of VideoTagFrameType methods |
rtmp/src/flv/mod.rs |
Registers and re-exports the new video_enhanced module |
rtmp/src/error.rs |
Adds error variants for enhanced video parsing failures |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
This PR adds Enhanced RTMP (e-RTMP) video tag parsing support alongside the existing legacy FLV video parsing. It introduces a new FlvVideoData enum that dispatches between legacy and enhanced formats based on the IsExHeader bit, and implements full parsing for Enhanced RTMP video packets including FourCC codecs, ModEx extensions, and command frames.
Changes:
- New
video_enhanced.rsmodule withFlvVideoDatadispatcher,EnhancedVideoTagparser, FourCC codec identifiers, ModEx resolution, and video command types - Refactored legacy
video.rsto extract shared helpers (parse_composition_time,serialize_composition_time), adjust the frame type mask for Enhanced RTMP coexistence, and widen visibility ofVideoTagFrameTypemethods - Added new error variants in
error.rsfor enhanced video parsing failures
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
rtmp/src/flv/video_enhanced.rs |
New module implementing Enhanced RTMP video tag parsing with FourCC, ModEx, multitrack (stub), and command frame support |
rtmp/src/flv/video.rs |
Extracted composition time helpers, adjusted frame type bitmask from 4-bit to 3-bit, widened method visibility |
rtmp/src/flv/mod.rs |
Registered and re-exported the new video_enhanced module |
rtmp/src/error.rs |
Added error variants for unknown FourCC, packet types, ModEx types, and video commands |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
This PR adds Enhanced RTMP (E-RTMP) video tag parsing support alongside the existing legacy FLV video parsing. It introduces a new FlvVideoData enum that dispatches between legacy and enhanced formats based on the IsExHeader bit, and implements full parsing of Enhanced RTMP video tags including FourCC codec identification, multiple packet types, ModEx extensions, and video command signals.
Changes:
- New
video_enhanced.rsmodule implementing Enhanced RTMP video tag parsing with support for FourCC codecs (VP8/VP9/AV1/AVC/HEVC), ModEx extensions, and command frames - Fixed legacy video parsing: composition time is now correctly parsed as SI24 (signed 24-bit), and the frame type mask correctly excludes the IsExHeader bit
- Added new error variants to
FlvVideoTagParseErrorfor enhanced video parsing failures
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
rtmp/src/flv/video_enhanced.rs |
New module: Enhanced RTMP video tag parsing with FourCC, ModEx, and command support |
rtmp/src/flv/video.rs |
Fixed SI24 composition time parsing, adjusted frame type bitmask, extracted shared helpers |
rtmp/src/flv/mod.rs |
Registers and re-exports the new video_enhanced module |
rtmp/src/error.rs |
Adds error variants for unknown FourCC, packet types, ModEx types, and video commands |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
e8feb77 to
79bb79c
Compare
d3a57ee to
1bb4578
Compare
There was a problem hiding this comment.
Pull request overview
Adds initial support for Enhanced RTMP (E-RTMP) video tag parsing to the rtmp::flv layer, alongside the existing legacy FLV VIDEODATA parser.
Changes:
- Introduces a top-level
FlvVideoDataenum that dispatches between legacy (VideoTag) and Enhanced (ExVideoTag) parsing based on the IsExHeader bit. - Adds
ExVideoTagparsing with FourCC codec IDs, Enhanced packet types, and ModEx prefix resolution (including timestamp offset nanos). - Improves legacy H.264 composition time handling by parsing/serializing SI24 composition time (including negative offsets).
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
rtmp/src/flv/video.rs |
Updates legacy tag docs, exposes frame-type helpers to the crate, and adds SI24 composition time parse/serialize helpers. |
rtmp/src/flv/mod_ex.rs |
New ModEx resolver for Enhanced RTMP video packets (collects modifiers and resolves final packet type). |
rtmp/src/flv/mod.rs |
Adds Enhanced RTMP modules and introduces FlvVideoData dispatch + serialize wrapper. |
rtmp/src/flv/ex_video.rs |
New Enhanced RTMP video tag parsing (FourCC + packet/body parsing, ModEx handling). |
rtmp/src/error.rs |
Extends FlvVideoTagParseError with Enhanced RTMP-specific error variants. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
1bb4578 to
1af0ea4
Compare
No description provided.