Skip to content

video: the reader type is defined by the file format, not MATLAB's VideoReader - #143

Merged
jesshaley merged 1 commit into
mainfrom
claude/video-format-wording
Oct 20, 2026
Merged

jesshaley merged 1 commit into
mainfrom
claude/video-format-wording

Conversation

@jesshaley

@jesshaley jesshaley commented Oct 20, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

The follow-up to #140 that Steve asked for in its review. #140 was merged at 794a0e8, a minute before this commit was pushed, so the change was not in it.

The video reader type is defined by the file format: it reads mp4/avi/mov containers and the time stored for each frame. MATLAB implements it with VideoReader, and a Python reader can use any library that reads the same files (e.g. PyAV). The code already worked that way; this PR fixes what said otherwise.

  • Help text (+ndr/+reader/video.m): the class, constructor and frametimes help say the type is format-defined and that VideoReader is the MATLAB implementation, rather than "using ONLY MATLAB's built-in VideoReader".
  • Frame times are defined without reference to MATLAB: each frame's presentation time, the timestamp the container stores for it, in seconds from the start of the file. In MATLAB that is VideoReader's CurrentTime read just before each frame is decoded, as before.
  • The videoreader alias is removed from resource/ndr_reader_types.json. The type stays registered as video, mp4, avi and mov. Nothing in NDI uses the alias (grep of NDI-matlab's src, tests and workflows for 'videoreader' / "videoreader": no matches).

No code change to how frames are read; TestVideo checks known_readers lists video, which is unchanged.

Test plan

  • Test code green on d2ebe98: 412 tests, 409 passed, 0 failed (the 3 skipped are the CED sonpipe tests, as on main).
  • Test NDR Symmetry and Test .smrx (ubuntu, windows) green on d2ebe98; codecov patch and project pass.

🤖 Generated with Claude Code

https://claude.ai/code/session_01FxKLA8Tbf9cpvDe7fuVeKf

…deoReader

The 'video' type reads mp4/avi/mov containers and each frame's stored
presentation time, so a Python implementation (e.g. PyAV) can read the
same files and give the same times; VideoReader is how MATLAB implements
it. The class help, constructor help and frametimes help now say so, the
frame time is defined as the presentation time (in MATLAB, VideoReader's
CurrentTime before each readFrame), and the MATLAB-specific 'videoreader'
alias is removed from ndr_reader_types.json ('video', 'mp4', 'avi' and
'mov' remain). No change to how frames are read. Asked by Steve Van
Hooser in review.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FxKLA8Tbf9cpvDe7fuVeKf
@github-actions

Copy link
Copy Markdown
Contributor

Test Results

412 tests  ±0   409 ✅ ±0   40s ⏱️ +8s
 52 suites ±0     3 💤 ±0 
  1 files   ±0     0 ❌ ±0 

Results for commit d2ebe98. ± Comparison against base commit 6fa70d0.

@codecov

codecov Bot commented Oct 20, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 54.88%. Comparing base (6fa70d0) to head (d2ebe98).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #143   +/-   ##
=======================================
  Coverage   54.88%   54.88%           
=======================================
  Files         164      164           
  Lines        9598     9598           
=======================================
  Hits         5268     5268           
  Misses       4330     4330           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@jesshaley
jesshaley marked this pull request as ready for review October 20, 2026 14:02
@jesshaley
jesshaley merged commit 00cbbf8 into main Oct 20, 2026
8 checks passed
@jesshaley
jesshaley deleted the claude/video-format-wording branch October 30, 2026 14:00
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