Skip to content

Conversation

@cfsmp3
Copy link
Contributor

@cfsmp3 cfsmp3 commented Dec 18, 2025

Summary

Fixes #1524 - McPoodle DVD raw format can neither be read nor written correctly.

Reading

  • Migrate DVD raw parser from C to Rust (src/rust/src/demuxer/dvdraw.rs)
  • Add FFI exports: ccxr_process_dvdraw(), ccxr_is_dvdraw_header()
  • Handle both McPoodle's single-byte and legacy 2-byte loop markers
  • Add 15 unit tests covering all edge cases

Writing

  • Fix LC3/LC4 constants from 2-byte to 1-byte to match McPoodle's format
  • Output files now have identical size to McPoodle's original (118,527 bytes for test file)

Test Results

Test Result
Read McPoodle's dvdraw ✅ Correct captions extracted
Write dvdraw from TS ✅ Correct file size (matches McPoodle's)
Roundtrip (TS→dvdraw→SRT) ✅ Caption content identical to direct extraction
Rust unit tests ✅ All 15 pass

Test plan

  • Verify reading McPoodle's original dvdraw file produces correct captions
  • Verify writing dvdraw from TS produces file with identical size to McPoodle's
  • Verify roundtrip (TS → dvdraw → SRT) produces same captions as direct extraction
  • Run Rust tests: cargo test dvdraw

🤖 Generated with Claude Code

Reading:
- Migrate DVD raw parser from C to Rust (src/rust/src/demuxer/dvdraw.rs)
- Add FFI exports: ccxr_process_dvdraw(), ccxr_is_dvdraw_header()
- Handle both McPoodle's single-byte and legacy 2-byte loop markers
- Add 15 unit tests covering all edge cases

Writing:
- Fix LC3/LC4 constants from 2-byte to 1-byte to match McPoodle's format
- Output files now have identical size to McPoodle's original

Fixes #1524

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
@cfsmp3 cfsmp3 force-pushed the fix/issue-1524-mcpoodle-dvdraw branch from 51247ef to ff08c79 Compare December 18, 2025 12:04
- Fix comment spacing (single space before //)
- Mark is_two_byte_loop_marker as #[cfg(test)] since it's only used in tests

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
@cfsmp3 cfsmp3 force-pushed the fix/issue-1524-mcpoodle-dvdraw branch from ff08c79 to 88fbe91 Compare December 18, 2025 12:08
@cfsmp3 cfsmp3 merged commit e160a53 into master Dec 18, 2025
29 of 31 checks passed
@ccextractor-bot
Copy link
Collaborator

CCExtractor CI platform finished running the test files on windows. Below is a summary of the test results, when compared to test for commit a0809ca...:
Report Name Tests Passed
Broken 4/13
CEA-708 8/14
DVB 4/7
DVD 0/3
DVR-MS 2/2
General 5/27
Hardsubx 0/1
Hauppage 0/3
MP4 3/3
NoCC 10/10
Options 73/86
Teletext 6/21
WTV 1/13
XDS 24/34

Your PR breaks these cases:

NOTE: The following tests have been failing on the master branch as well as the PR:

Congratulations: Merging this PR would fix the following tests:

  • ccextractor --startcreditstext "CCextractor Start crdit Testing" c4dd893cb9..., Last passed: Never
  • ccextractor --startcreditsnotbefore 1 --startcreditstext "CCextractor Start crdit Testing" c4dd893cb9..., Last passed: Never
  • ccextractor --startcreditsnotafter 2 --startcreditstext "CCextractor Start crdit Testing" c4dd893cb9..., Last passed: Never
  • ccextractor --startcreditsforatleast 1 --startcreditstext "CCextractor Start crdit Testing" c4dd893cb9..., Last passed: Never
  • ccextractor --startcreditsforatmost 2 --startcreditstext "CCextractor Start crdit Testing" c4dd893cb9..., Last passed: Never
  • ccextractor --endcreditstext "CCextractor Ends crdit Testing" addf5e2fc9..., Last passed: Never
  • ccextractor --endcreditsforatleast 3 --endcreditstext "CCextractor Ends crdit Testing" addf5e2fc9..., Last passed: Never
  • ccextractor --endcreditsforatmost 2 --endcreditstext "CCextractor Ends crdit Testing" addf5e2fc9..., Last passed: Never
  • ccextractor --out=srt --latin1 d7e7dbdf68..., Last passed: Never

It seems that not all tests were passed completely. This is an indication that the output of some files is not as expected (but might be according to you).

Check the result page for more info.

@cfsmp3 cfsmp3 deleted the fix/issue-1524-mcpoodle-dvdraw branch December 19, 2025 02:44
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.

[BUG] McPoodle DVD Raw format can neither be read nor written correctly

3 participants