Repository navigation
fix(egohand): make the startup input checks work on release profiles - #1451
Merged
shaosu-nvidia merged 1 commit intoNov 6, 2026
Merged
Conversation
…ase profiles The input checks from #1444 were written against main, which has only the OpenCV video reader. On this branch the release profile reads video through FFmpeg, and the release image's OpenCV has no video I/O. Two things broke: - check_video_decodable() called cv2.VideoCapture directly, so on release it rejected every input, valid ones included. - The FFmpeg backend raises VideoDecodeError, UnsupportedVideoCodecError and VideoDecoderUnavailableError. Nothing caught them, so a zero-byte, truncated or unsupported-codec file printed a traceback, and a bad codec failed only after the model loaded. The first-frame check now reads through the active video backend, and probe_video() turns the backend errors into one line naming the file: exit 2 for an unsupported codec, exit 1 for a file that cannot be decoded. The error classes move to media/errors.py so the script can import them without loading a backend. A test fails if the script ever calls cv2.VideoCapture directly. Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Signed-off-by: Shao Su <[email protected]>
Contributor
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the
|
qingsi-at-nv
approved these changes
Nov 6, 2026
shaosu-nvidia
added a commit
that referenced
this pull request
Nov 6, 2026
…ase profiles (#1451) The input checks from #1444 were written against main, which has only the OpenCV video reader. On this branch the release profile reads video through FFmpeg, and the release image's OpenCV has no video I/O. Two things broke: - check_video_decodable() called cv2.VideoCapture directly, so on release it rejected every input, valid ones included. - The FFmpeg backend raises VideoDecodeError, UnsupportedVideoCodecError and VideoDecoderUnavailableError. Nothing caught them, so a zero-byte, truncated or unsupported-codec file printed a traceback, and a bad codec failed only after the model loaded. The first-frame check now reads through the active video backend, and probe_video() turns the backend errors into one line naming the file: exit 2 for an unsupported codec, exit 1 for a file that cannot be decoded. The error classes move to media/errors.py so the script can import them without loading a backend. A test fails if the script ever calls cv2.VideoCapture directly. Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Signed-off-by: Shao Su <[email protected]>
This file contains hidden or 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
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.
Description
The input checks from #1444 were written against main, which has only the OpenCV video reader. On this branch the release profile reads video through FFmpeg, and the release image's OpenCV has no video I/O. Two things broke:
The first-frame check now reads through the active video backend, and probe_video() turns the backend errors into one line naming the file: exit 2 for an unsupported codec, exit 1 for a file that cannot be decoded. The error classes move to media/errors.py so the script can import them without loading a backend. A test fails if the script ever calls cv2.VideoCapture directly.
Type of change
Testing
Checklist
SKIP=check-copyright-year pre-commit run --all-filesgit commit -s) per the DCO