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

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

📋 Pull Request Information

Original PR: https://github.com/CCExtractor/ccextractor/pull/1977
Author: @cfsmp3
Created: 1/4/2026
Status: Merged
Merged: 1/4/2026
Merged by: @cfsmp3

Base: masterHead: fix/issue-1647-mxf-708-captions


📝 Commits (3)

  • 6950a76 Fix MXF files containing CEA-708 captions not being detected/extracted
  • 0b7b7fd Trigger CI
  • efc28d8 Trigger CI

📊 Changes

5 files changed (+127 additions, -7 deletions)

View changed files

📝 src/lib_ccx/ccx_demuxer_mxf.c (+78 -4)
📝 src/lib_ccx/ccx_dtvcc.h (+1 -0)
📝 src/lib_ccx/general_loop.c (+29 -1)
📝 src/rust/src/decoder/mod.rs (+4 -2)
📝 src/rust/src/lib.rs (+15 -0)

📄 Description

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


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/CCExtractor/ccextractor/pull/1977 **Author:** [@cfsmp3](https://github.com/cfsmp3) **Created:** 1/4/2026 **Status:** ✅ Merged **Merged:** 1/4/2026 **Merged by:** [@cfsmp3](https://github.com/cfsmp3) **Base:** `master` ← **Head:** `fix/issue-1647-mxf-708-captions` --- ### 📝 Commits (3) - [`6950a76`](https://github.com/CCExtractor/ccextractor/commit/6950a7661e1ec02084f463c99432c83503966581) Fix MXF files containing CEA-708 captions not being detected/extracted - [`0b7b7fd`](https://github.com/CCExtractor/ccextractor/commit/0b7b7fd031e7d650a4d3762953fcfdfdab877c5c) Trigger CI - [`efc28d8`](https://github.com/CCExtractor/ccextractor/commit/efc28d87d50cc4b3136e1baba612d7079997975d) Trigger CI ### 📊 Changes **5 files changed** (+127 additions, -7 deletions) <details> <summary>View changed files</summary> 📝 `src/lib_ccx/ccx_demuxer_mxf.c` (+78 -4) 📝 `src/lib_ccx/ccx_dtvcc.h` (+1 -0) 📝 `src/lib_ccx/general_loop.c` (+29 -1) 📝 `src/rust/src/decoder/mod.rs` (+4 -2) 📝 `src/rust/src/lib.rs` (+15 -0) </details> ### 📄 Description ## 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) --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-29 17:23:52 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/ccextractor#2782