Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

[PROPOSAL] The C-vs-Rust dual-build comparison from #2207 never runs; the C-only build drops 708 and HEVC captions

未关闭
#2,398 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
5/5
预计耗时
一周以上
新手友好度
35/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
活跃
技术栈
c, github-actions, rust
领域
ci-cd, testing-qa

调研方向

Start by reading #2207, #2109, and the sample-platform wiring at mod_ci/controllers.py:264-268; compare those with this repository’s GitHub Actions workflows. The proposal calls for running both Linux builds against a small public sample set, reporting output differences without blocking CI, then triaging each difference. The issue asks maintainers to decide where the job and samples should live, so the implementation scope depends on that decision.

由索引模型根据 Issue 内容生成。

描述

#2207 added two builds so that "both must produce identical output on the sample platform; divergence means a Rust port introduced a behavioral difference". That comparison never got wired up: sample-platform#1122 pointed the platform at the "(with migrations)" builds only (mod_ci/controllers.py:264-268), and no workflow compares the two artifacts. In #2109 you mentioned Rust ports won't be merged until this kind of C-vs-Rust check exists.

I built both variants from master on macOS (same source, only -DDISABLE_RUST differs) and compared them on public samples from https://streams.videolan.org/streams/ts/ with 5 option sets each:

Sample Result
Closed Caption EIA.ts identical
atsc-cea-708-dtvcc-and-cea-608.ts (first 20 MB) 608 identical; the min-rust build writes no 708 file (Rust: 5 cues), both exit 0
CC/wabc-4pm-ota.clip1.ts (US broadcast) 608 identical (40 cues); the min-rust build writes no 708 file (Rust: 42 cues), both exit 0
CC/hevc_cc.ts min-rust build writes nothing (exit 10) although it logs "Total caption blocks received: 762"; Rust extracts 608 + 708

I'd like to build the comparison:

  1. A CI job that runs both Linux artifacts on a small public sample set and reports differences (non-blocking at first).
  2. Triage each difference (fix the C path, or record it as expected).
  3. Then use it as the check for Rust ports.

Two questions before I start:

  • Should this live in this repo's GitHub Actions, or in the sample platform?
  • Where should the samples come from (download from VideoLAN with caching, or the sample platform)?
主要语言
C
星标
908
派生
595
平均合并
3 天 6 小时
30 天内合并 PR
31

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

CCExtractor/ccextractor 的其他 Issue

查看 CCExtractor/ccextractor 的全部 Issue

相似的 Issue

更多 C Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。