Skip to content

Conversation

@cfsmp3
Copy link
Contributor

@cfsmp3 cfsmp3 commented Dec 21, 2025

Summary

Korean broadcasts use EUC-KR encoding (variable-width) in CEA-708 captions, where ASCII is 1 byte and Korean characters are 2 bytes. The decoder was always writing 2 bytes per character (UTF-16BE style), causing NULL bytes (0x00) to be inserted before every ASCII character (spaces, punctuation).

Changes

  • Add is_utf16_charset() function to detect fixed-width 16-bit encodings (UTF-16BE, UCS-2)
  • Modify write_char() to accept use_utf16 flag:
  • Detect charset type in write_row() before building output buffer

Before fix

     그래 ,  계집  때문이었더냐 .   # Extra spaces from NULL bytes

After fix

     그래, 계집 때문이었더냐.        # Clean Korean text

Test plan

  • Tested with Korean MBC sample (mbc.ts) - drama dialog extracted correctly
  • Tested with Korean KBS sample (0623_215529_CH9-1_KBS.mpg) - news broadcast extracted correctly
  • All 301 Rust unit tests pass
  • No NULL bytes in output with --service "1[EUC-KR]"
  • Backward compatible: raw output (no charset) still works without NULL bytes

Closes #1065

🤖 Generated with Claude Code

@cfsmp3 cfsmp3 force-pushed the fix/korean-euc-kr-support branch from 4604869 to 5ee8c54 Compare December 21, 2025 07:40
cfsmp3 and others added 3 commits December 21, 2025 09:43
Korean broadcasts use EUC-KR encoding (variable-width) in CEA-708
captions, where ASCII is 1 byte and Korean characters are 2 bytes.
The decoder was always writing 2 bytes per character (UTF-16BE style),
causing NULL bytes to be inserted before every ASCII character.

Changes:
- Add is_utf16_charset() to detect fixed-width 16-bit encodings
- Modify write_char() to accept use_utf16 flag:
  - true: Always 2 bytes (UTF-16BE for Japanese, issue CCExtractor#1451)
  - false: 1 byte for ASCII, 2 bytes for extended (EUC-KR for Korean)
- Detect charset type in write_row() before building output buffer

This fixes Korean subtitle extraction when using --service "1[EUC-KR]"
while maintaining compatibility with Japanese UTF-16BE (issue CCExtractor#1451).

Closes CCExtractor#1065

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The Rust FFI functions were using c_long for PTS/FTS timestamps, but:
- C code uses LLONG (int64_t, 64 bits on all platforms)
- Rust c_long is 32 bits on Windows, 64 bits on Linux

This caused timestamp truncation on Windows when PTS values exceeded
2^31 (~24 days at 90kHz), resulting in wrong subtitle timestamps.

For example, a file with Min PTS of 23:50:45 (7,726,090,500 ticks)
would have its PTS truncated, breaking the teletext delta calculation
that normalizes timestamps to start at 0.

Changes:
- ccxr_add_current_pts: pts parameter i64
- ccxr_set_current_pts: pts parameter i64
- ccxr_get_fts: return type i64
- ccxr_get_visible_end: return type i64
- ccxr_get_visible_start: return type i64
- ccxr_get_fts_max: return type i64
- ccxr_print_mstime_static: mstime parameter i64
- fts_at_gop_start: extern static i64

Fixes tests 18 and 19 on Windows CI which showed raw PTS timestamps
(23:50:46) instead of normalized timestamps (00:00:00).

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
On Windows, c_long is i32 while on Linux it's i64. The function
ccxr_print_mstime_static expects i64, so casting to c_long caused
a type mismatch error on Windows builds.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@cfsmp3 cfsmp3 force-pushed the fix/korean-euc-kr-support branch from 084557b to 73cd19f Compare December 21, 2025 08:44
@ccextractor-bot
Copy link
Collaborator

CCExtractor CI platform finished running the test files on linux. Below is a summary of the test results, when compared to test for commit 6503502...:
Report Name Tests Passed
Broken 11/13
CEA-708 13/14
DVB 7/7
DVD 3/3
DVR-MS 2/2
General 21/27
Hardsubx 1/1
Hauppage 3/3
MP4 3/3
NoCC 10/10
Options 74/86
Teletext 21/21
WTV 12/13
XDS 29/34

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 --autoprogram --out=srt --latin1 1d9731bd80..., Last passed: Never
  • ccextractor --out=srt --latin1 --autoprogram 73d9313d64..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 7236304cfc..., Last passed: Never
  • ccextractor --out=ttxt --latin1 001dd8cdf7..., Last passed: Never
  • ccextractor --out=srt --latin1 06b3a9237d..., Last passed: Never
  • ccextractor --out=srt --latin1 83f8cceb74..., Last passed: Never
  • ccextractor --out=srt --latin1 b46e9e8e3f..., Last passed: Never
  • ccextractor --out=srt --latin1 89e417e622..., Last passed: Never
  • ccextractor --out=srt --latin1 d59eadc4ed..., Last passed: Never
  • ccextractor --out=srt --latin1 4d4e938ef6..., Last passed: Never
  • ccextractor --out=sami --latin1 --autoprogram --no-goptime 5b4e0a6034..., Last passed: Never
  • ccextractor --service 1 --out=txt f17524b53f..., Last passed: Never
  • ccextractor --service 1 --out=txt da904de35d..., Last passed: Never
  • ccextractor --service 1 --out=txt 80848c45f8..., Last passed: Never
  • ccextractor --service 1 --out=txt --no-bom --no-rollup b5d6aad89f..., Last passed: Never
  • ccextractor --service 1[EUC-KR] --out=txt --no-rollup b5d6aad89f..., Last passed: Never
  • ccextractor --service 1 --out=srt da904de35d..., Last passed: Never
  • ccextractor --service 1 --out=sami da904de35d..., Last passed: Never
  • ccextractor --service 1 --out=ttxt da904de35d..., Last passed: Never
  • ccextractor --service 1[EUC-KR] b5d6aad89f..., Last passed: Never
  • ccextractor --service 1[EUC-KR] --no-rollup b5d6aad89f..., Last passed: Never
  • ccextractor --service all da904de35d..., Last passed: Never
  • ccextractor --service all[EUC-KR] b5d6aad89f..., Last passed: Never
  • ccextractor --service 1,2[UTF-8],3[EUC-KR],54 --out=txt da904de35d..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 1020459a86..., Last passed: Never
  • ccextractor --autoprogram --out=srt --latin1 f1422b8bfe..., Last passed: Never
  • ccextractor --datapid 5603 --autoprogram --out=srt --latin1 --teletext 85c7fc1ad7..., Last passed: Never
  • ccextractor --autoprogram --out=srt --latin1 d41b53b504..., Last passed: Never
  • ccextractor --stdout --quiet --no-fontcolor 79a51f3500..., Last passed: Never
  • ccextractor --stdout --quiet --no-fontcolor 767b546f96..., Last passed: Never
  • ccextractor --autoprogram --out=srt --latin1 --quant 0 85271be4d2..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 5ae2007a79..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 1e44efd810..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 add511677c..., Last passed: Never
  • ccextractor --wtvconvertfix --autoprogram --out=srt --latin1 acf871cbfd..., Last passed: Never
  • ccextractor --wtvconvertfix --autoprogram --out=srt --latin1 5cbb21adb6..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 9a496d3828..., Last passed: Never
  • ccextractor --out=srt --latin1 --autoprogram 56c9f34548..., Last passed: Never
  • ccextractor --autoprogram --out=srt --latin1 e9b9008fdf..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 c032183ef0..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 27e46255f0..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 d037c7509e..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 1974a299f0..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 --ucla c41f73056a..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 --ucla 5d3a29f9f8..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 --ucla 70000200c0..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 --ucla 6dc772d881..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 --ucla dab1c1bd65..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 --ucla adce82fd39..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 01509e4d27..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 --ucla ab9cf8cfad..., Last passed: Never
  • ccextractor --autoprogram --out=srt --latin1 15feae9133..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 --ucla --output-field 2 5d3a29f9f8..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 --ucla --output-field 2 c41f73056a..., Last passed: Never
  • ccextractor --autoprogram --out=srt --latin1 --sentencecap c032183ef0..., Last passed: Never
  • ccextractor --autoprogram --out=bin --latin1 c032183ef0..., Last passed: Never
  • ccextractor --out=srt --latin1 --autoprogram 29e5ffd34b..., Last passed: Never
  • ccextractor --hardsubx 1a0302f7fd..., Last passed: Never
  • ccextractor --hauppauge --autoprogram --out=srt --latin1 a03b5b2a56..., Last passed: Never
  • ccextractor --autoprogram --out=srt --hauppauge --latin1 553d78e755..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --hauppauge --ucla --latin1 553d78e755..., Last passed: Never
  • ccextractor --in=mp4 --out=srt --latin1 b2771c84c2..., Last passed: Never
  • ccextractor --in=mp4 --out=srt --latin1 5df914ce77..., Last passed: Never
  • ccextractor --autoprogram --out=srt --bom --latin1 8849331dda..., Last passed: Never
  • ccextractor --mp4vidtrack --autoprogram --out=ttxt --latin1 adc0a818c3..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 08bdf0e2c1..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 bee139671a..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 3842d00925..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 80af83c038..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 837b02f722..., Last passed: Never
  • ccextractor --autoprogram --out=srt --latin1 41dab6b2a7..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 --ucla --xds 4b117b4d66..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 --ucla --xds 26ee6add4d..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 --ucla --xds fca0dce412..., Last passed: Never
  • ccextractor --autoprogram --out=srt --latin1 --output-field 1 a65d39ccb3..., Last passed: Never
  • ccextractor --autoprogram --out=srt --latin1 --output-field 2 a65d39ccb3..., Last passed: Never
  • ccextractor --autoprogram c83f765c66..., Last passed: Never
  • ccextractor --service 1 c83f765c66..., Last passed: Never
  • ccextractor --in=ts c83f765c66..., Last passed: Never
  • ccextractor --out=srt c83f765c66..., Last passed: Never
  • ccextractor --out=sami c83f765c66..., Last passed: Never
  • ccextractor --out=ttxt c83f765c66..., Last passed: Never
  • ccextractor --out=smptett c83f765c66..., Last passed: Never
  • ccextractor --no-goptime c83f765c66..., Last passed: Never
  • ccextractor --fixpadding c83f765c66..., Last passed: Never
  • ccextractor --90090 c83f765c66..., Last passed: Never
  • ccextractor --myth c83f765c66..., Last passed: Never
  • ccextractor --program-number 1 c83f765c66..., Last passed: Never
  • ccextractor --datapid 256 c83f765c66..., Last passed: Never
  • ccextractor --datastreamtype 2 c83f765c66..., Last passed: Never
  • ccextractor --datastreamtype 2 --streamtype 2 c83f765c66..., Last passed: Never
  • ccextractor --no-autotimeref c83f765c66..., Last passed: Never
  • ccextractor --bom c83f765c66..., Last passed: Never
  • ccextractor --no-bom c83f765c66..., Last passed: Never
  • ccextractor --unicode c83f765c66..., Last passed: Never
  • ccextractor --utf8 c83f765c66..., Last passed: Never
  • ccextractor --latin1 c83f765c66..., Last passed: Never
  • ccextractor --no-fontcolor c83f765c66..., Last passed: Never
  • ccextractor --no-typesetting c83f765c66..., Last passed: Never
  • ccextractor --trim c83f765c66..., Last passed: Never
  • ccextractor --sentencecap c83f765c66..., Last passed: Never
  • ccextractor --capfile /repository/Dictionary/MattS_dictionary.txt c83f765c66..., Last passed: Never
  • ccextractor --autodash --trim c83f765c66..., Last passed: Never
  • ccextractor --bufferinput c83f765c66..., Last passed: Never
  • ccextractor --no-bufferinput c83f765c66..., Last passed: Never
  • ccextractor --buffersize 1M c83f765c66..., Last passed: Never
  • ccextractor --dru c83f765c66..., Last passed: Never
  • ccextractor --no-rollup c83f765c66..., Last passed: Never
  • ccextractor --ru1 c83f765c66..., Last passed: Never
  • ccextractor --ru2 c83f765c66..., Last passed: Never
  • ccextractor --ru3 c83f765c66..., Last passed: Never
  • ccextractor --delay 200 c83f765c66..., Last passed: Never
  • ccextractor --startat 4 --endat 7 c83f765c66..., Last passed: Never
  • ccextractor --no-codec dvbsub c83f765c66..., Last passed: Never
  • ccextractor --debug --out=srt c83f765c66..., Last passed: Never
  • ccextractor --608 --out=srt c83f765c66..., Last passed: Never
  • ccextractor --708 --out=srt c83f765c66..., Last passed: Never
  • ccextractor --goppts --out=srt c83f765c66..., Last passed: Never
  • ccextractor --xdsdebug --out=srt c83f765c66..., Last passed: Never
  • ccextractor --vides --out=srt c83f765c66..., Last passed: Never
  • ccextractor --cbraw --out=srt c83f765c66..., Last passed: Never
  • ccextractor --no-sync --out=srt c83f765c66..., Last passed: Never
  • ccextractor --fullbin --out=srt c83f765c66..., Last passed: Never
  • ccextractor --parsedebug --out=srt c83f765c66..., Last passed: Never
  • ccextractor --parsePAT --out=srt c83f765c66..., Last passed: Never
  • ccextractor --parsePMT --out=srt c83f765c66..., Last passed: Never
  • ccextractor --investigate-packets --out=srt c83f765c66..., Last passed: Never
  • ccextractor --in=ps e9b9008fdf..., Last passed: Never
  • ccextractor --in=es dc7169d7c4..., Last passed: Never
  • ccextractor --in=asf 6395b281ad..., Last passed: Never
  • ccextractor --in=wtv b46e9e8e3f..., Last passed: Never
  • ccextractor --in=raw fb79021542..., Last passed: Never
  • ccextractor --in=mp4 b2771c84c2..., Last passed: Never
  • ccextractor --mp4vidtrack 5df914ce77..., Last passed: Never
  • ccextractor --wtvconvertfix acf871cbfd..., Last passed: Never
  • ccextractor --wtvmpeg2 10f0f77cf4..., Last passed: Never
  • ccextractor --hauppauge d6df1b227a..., Last passed: Never
  • ccextractor --codec dvbsub --out=spupng 85271be4d2..., Last passed: Never
  • 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 --tpage 801 4e56e88ba4..., Last passed: Never
  • ccextractor --tverbose 4e56e88ba4..., Last passed: Never
  • ccextractor --teletext 4e56e88ba4..., Last passed: Never
  • ccextractor --out=txt --ucla c83f765c66..., Last passed: Never
  • ccextractor --xmltv=3 --out=null 96efd279cf..., Last passed: Never
  • ccextractor --datapid 2310 --autoprogram --out=srt --latin1 e639e54550..., Last passed: Never
  • ccextractor --autoprogram --out=srt --latin1 4e56e88ba4..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 c0d2fba8c0..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 006fdc391a..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 e92a1d4d2a..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 b37ce60eb9..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 7e4ebf7fd7..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 9256a60e4b..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 27d7a43dd6..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 297a44921a..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 efbe129086..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 eae0077731..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 e2e2b501e0..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 8c1615c1a8..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 c6407fb294..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 --datets dcada745de..., Last passed: Never
  • ccextractor --autoprogram --out=srt --latin1 --tpage 398 5d5838bde9..., Last passed: Never
  • ccextractor --autoprogram --out=srt --latin1 --tpage 299 44c45593fb..., Last passed: Never
  • ccextractor --autoprogram --out=srt --latin1 --tpage 299 b8c55aa2e9..., Last passed: Never
  • ccextractor --autoprogram --out=srt --latin1 --teletext --tpage 398 3b276ad8bf..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 b236a0590b..., Last passed: Never
  • ccextractor --out=srt --latin1 f23a544ba8..., Last passed: Never
  • ccextractor --out=srt --latin1 97cc394d87..., Last passed: Never
  • ccextractor --out=srt --latin1 10f0f77cf4..., Last passed: Never
  • ccextractor --out=srt --latin1 df3b4d62d3..., Last passed: Never
  • ccextractor --out=srt --latin1 76734ac4a7..., Last passed: Never
  • ccextractor --out=srt --latin1 c791382c94..., Last passed: Never
  • ccextractor --out=srt --latin1 f673b2f916..., Last passed: Never
  • ccextractor --out=srt --latin1 da75bdee47..., Last passed: Never
  • ccextractor --out=srt --latin1 bd6f33a669..., Last passed: Never
  • ccextractor --out=srt --latin1 0e5e6b26be..., Last passed: Never
  • ccextractor --out=srt --latin1 a226cc302d..., Last passed: Never
  • ccextractor --out=srt --latin1 ae6327683e..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 --ucla --xds 725a49f871..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --xds --latin1 --ucla d037c7509e..., Last passed: Never
  • ccextractor --autoprogram --out=srt --latin1 --ucla d037c7509e..., Last passed: Never
  • ccextractor --autoprogram --out=smptett --latin1 --ucla e274a73653..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --xds --latin1 --ucla e274a73653..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --xds --latin1 --ucla 85058ad37e..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 --ucla --xds b22260d065..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 --xds --ucla c813e713a0..., Last passed: Never
  • ccextractor --autoprogram --out=srt --latin1 --ucla c813e713a0..., Last passed: Never
  • ccextractor --autoprogram --out=srt --latin1 --ucla 27fab4dbb6..., Last passed: Never
  • ccextractor --autoprogram --out=srt --latin1 --ucla bbd5bb52fc..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 --ucla --xds d0291cdcf6..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 --ucla 7d2730d38e..., Last passed: Never
  • ccextractor --autoprogram --out=srt --latin1 --ucla 7d2730d38e..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 --ucla --xds c8dc039a88..., Last passed: Never
  • ccextractor --autoprogram --out=srt --latin1 --ucla c8dc039a88..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 --ucla --xds 53339f3455..., Last passed: Never
  • ccextractor --autoprogram --out=srt --latin1 --ucla 53339f3455..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 --ucla --xds 83b03036a2..., Last passed: Never
  • ccextractor --autoprogram --out=srt --latin1 --ucla 83b03036a2..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 --ucla --xds 7d3f25c32c..., Last passed: Never
  • ccextractor --autoprogram --out=srt --latin1 --ucla 7d3f25c32c..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 --ucla --xds f41d4c29a1..., Last passed: Never
  • ccextractor --autoprogram --out=srt --latin1 --ucla f41d4c29a1..., Last passed: Never
  • ccextractor --autoprogram --out=srt --latin1 --ucla 88cd42b89a..., Last passed: Never
  • ccextractor --autoprogram --out=srt --latin1 --output-field 2 --ucla 88cd42b89a..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 --ucla --xds 7f41299cc7..., Last passed: Never
  • ccextractor --autoprogram --out=srt --latin1 --ucla 7f41299cc7..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 --ucla --xds 0069dffd21..., Last passed: Never

All tests passing on the master branch were passed completely.

Check the result page for more info.

@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 6503502...:
Report Name Tests Passed
Broken 13/13
CEA-708 13/14
DVB 6/7
DVD 3/3
DVR-MS 2/2
General 22/27
Hardsubx 1/1
Hauppage 3/3
MP4 3/3
NoCC 10/10
Options 75/86
Teletext 21/21
WTV 13/13
XDS 33/34

Your PR breaks these cases:

  • ccextractor --service 1 --out=txt --no-bom --no-rollup ea83ff7bcb...
  • ccextractor --autoprogram --out=srt --latin1 --quant 0 85271be4d2...
  • ccextractor --autoprogram --out=ttxt --latin1 1974a299f0...
  • ccextractor --autoprogram --out=srt --latin1 b22260d065...
  • ccextractor --autoprogram --out=ttxt --latin1 --ucla 7aad20907e...
  • ccextractor --autoprogram --out=ttxt --latin1 --ucla dab1c1bd65...
  • ccextractor --out=srt --latin1 --autoprogram 29e5ffd34b...
  • ccextractor --out=txt c83f765c66...
  • ccextractor --goptime c83f765c66...
  • ccextractor --unixts 5 --out=txt c83f765c66...
  • ccextractor --out=txt --datets c83f765c66...
  • ccextractor --out=txt --sects c83f765c66...
  • ccextractor --out=txt --lf c83f765c66...
  • ccextractor --startcreditstext "CCextractor Start crdit Testing" c4dd893cb9...
  • ccextractor --startcreditsnotbefore 1 --startcreditstext "CCextractor Start crdit Testing" c4dd893cb9...
  • ccextractor --startcreditsnotafter 2 --startcreditstext "CCextractor Start crdit Testing" c4dd893cb9...
  • ccextractor --startcreditsforatleast 1 --startcreditstext "CCextractor Start crdit Testing" c4dd893cb9...
  • ccextractor --startcreditsforatmost 2 --startcreditstext "CCextractor Start crdit Testing" c4dd893cb9...
  • ccextractor --autoprogram --out=srt --latin1 --ucla b22260d065...

Congratulations: Merging this PR would fix the following tests:

  • ccextractor --autoprogram --out=ttxt --latin1 --ucla --xds 8e8229b88b..., Last passed: Never
  • ccextractor --out=srt --latin1 611b4a9235..., Last passed: Never
  • ccextractor --service 1 --out=txt --no-bom --no-rollup b5d6aad89f..., Last passed: Never
  • ccextractor --service 1[EUC-KR] --out=txt --no-rollup b5d6aad89f..., Last passed: Never
  • ccextractor --service 1[EUC-KR] b5d6aad89f..., Last passed: Never
  • ccextractor --service 1[EUC-KR] --no-rollup b5d6aad89f..., Last passed: Never
  • ccextractor --service all[EUC-KR] b5d6aad89f..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 132d7df7e9..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 99e5eaafdc..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 --ucla 70000200c0..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 --ucla 15feae9133..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 --ucla 95dd33c6f1..., Last passed: Never
  • ccextractor --hardsubx 1a0302f7fd..., Last passed: Never
  • ccextractor --out=dvdraw c83f765c66..., Last passed: Never
  • ccextractor --in=bin 988d4e8bba..., 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
  • ccextractor --autoprogram --out=ttxt --xds --latin1 --ucla e274a73653..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 --ucla --xds b22260d065..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 --ucla --xds 27fab4dbb6..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 --ucla --xds bbd5bb52fc..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 --ucla --xds b992e0cccb..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 --ucla --xds d0291cdcf6..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 --ucla 7d2730d38e..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 --ucla --xds 88cd42b89a..., Last passed: Never
  • ccextractor --autoprogram --out=ttxt --latin1 --ucla --xds 7f41299cc7..., 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 merged commit 25d68b7 into CCExtractor:master Dec 21, 2025
24 of 25 checks passed
@cfsmp3 cfsmp3 deleted the fix/korean-euc-kr-support branch December 21, 2025 11:23
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] Could not extract subtitle from Korean cable TV program.

2 participants