[PR #1977] Fix MXF files containing CEA-708 captions not being detected/extracted #2786

Closed
opened 2026-01-29 17:23:53 +00:00 by claunia · 0 comments
Owner

Original Pull Request: https://github.com/CCExtractor/ccextractor/pull/1977

State: closed
Merged: Yes


Summary

  • Fixed MXF files containing CEA-708 captions not being detected or extracted
  • Root cause: CCX_RAW_TYPE data from MXF demuxer was only passed to the legacy 608 decoder, not the DTVCC decoder for 708 captions
  • Changed CCX_RAW_TYPE handling to use process_cc_data instead of process_raw_with_field
  • Added DTVCC decoder activation for MXF/GXF sources
  • Fixed PTS calculation in MXF demuxer to use 90kHz units

Test plan

  • Tested with sample MXF file containing CEA-708 captions (708cc_5seconds.mxf)
  • Verified output: captions extracted correctly to .p0.svc01.srt file
  • Build passes successfully

Files changed

  • src/lib_ccx/general_loop.c - Main fix: route CCX_RAW_TYPE through DTVCC decoder
  • src/lib_ccx/ccx_dtvcc.h - Added FFI declaration for ccxr_dtvcc_set_active
  • src/rust/src/lib.rs - Added ccxr_dtvcc_set_active function
  • src/rust/src/decoder/mod.rs - Fixed flush logic for visible windows
  • src/lib_ccx/ccx_demuxer_mxf.c - Fixed PTS calculation, changed verbose logging to debug

Fixes #1647

🤖 Generated with Claude Code

**Original Pull Request:** https://github.com/CCExtractor/ccextractor/pull/1977 **State:** closed **Merged:** Yes --- ## Summary - Fixed MXF files containing CEA-708 captions not being detected or extracted - Root cause: `CCX_RAW_TYPE` data from MXF demuxer was only passed to the legacy 608 decoder, not the DTVCC decoder for 708 captions - Changed `CCX_RAW_TYPE` handling to use `process_cc_data` instead of `process_raw_with_field` - Added DTVCC decoder activation for MXF/GXF sources - Fixed PTS calculation in MXF demuxer to use 90kHz units ## Test plan - [x] Tested with sample MXF file containing CEA-708 captions (`708cc_5seconds.mxf`) - [x] Verified output: captions extracted correctly to `.p0.svc01.srt` file - [x] Build passes successfully ## Files changed - `src/lib_ccx/general_loop.c` - Main fix: route CCX_RAW_TYPE through DTVCC decoder - `src/lib_ccx/ccx_dtvcc.h` - Added FFI declaration for `ccxr_dtvcc_set_active` - `src/rust/src/lib.rs` - Added `ccxr_dtvcc_set_active` function - `src/rust/src/decoder/mod.rs` - Fixed flush logic for visible windows - `src/lib_ccx/ccx_demuxer_mxf.c` - Fixed PTS calculation, changed verbose logging to debug Fixes #1647 🤖 Generated with [Claude Code](https://claude.com/claude-code)
claunia added the pull-request label 2026-01-29 17:23:53 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/ccextractor#2786