Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

[BUG] Unescaped caption text breaks WebVTT and SMPTE-TT output

オープン
#2,437 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
72/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
c
領域
backend

調査の方向性

Start by tracing how caption text is written by the WebVTT and SMPTE-TT output paths; the issue does not name source files or tests. Reproduce with the linked 77-byte RCWT sample and the listed commands, including parsing the XML output. Done when the caption remains visible as literal text in WebVTT and SMPTE-TT output parses as valid XML, while generated formatting remains intact.

索引モデルが issue の本文から書いたものです。

説明

Caption text <BOB> & HI is written without escaping: WebVTT loses <BOB> when rendered, and SMPTE-TT produces invalid XML. Both commands exit with status 0.

Tested: Linux x86_64, CCExtractor 0.96.5 at 6c9fc900. Regression status unknown.

Reproduce

Download markup.bin, a 77-byte RCWT sample containing that caption, then run:

ccextractor markup.bin --out=webvtt -o markup.vtt
ccextractor markup.bin --out=smptett -o markup.xml
python3 -c 'import xml.etree.ElementTree as E; E.parse("markup.xml")'
Actual result
  • WebVTT: Chromium's cue.getCueAsHTML().textContent gives & HI; the literal <BOB> is treated as a tag.
  • SMPTE-TT: output contains <span><BOB> & HI. XML parsing fails: not well-formed (invalid token): line 20, column 21.
  • Control: transcript output preserves the full caption. A HELLO WORLD sample produces parseable XML.

Sample generator and control · Generated WebVTT · Generated XML

Expected

Preserve <BOB> & HI as visible text and produce valid XML. Escape literal caption characters, e.g. &lt;BOB&gt; &amp; HI, without escaping encoder-generated formatting.

Related: #1703 proposed escaping for SRT but was closed without merging.

Screenshot

Actual generated WebVTT parsed in a browser verification page:

Original caption compared with browser-parsed output

主要言語
C
スター
912
フォーク
598
平均マージ
2日 7時間
マージ済み PR(30日)
29

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

CCExtractor/ccextractor のほかの issue

CCExtractor/ccextractor の issue をすべて見る

似ている issue

C の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。