mirror of
https://github.com/CCExtractor/ccextractor.git
synced 2026-04-23 22:50:06 +00:00
[PR #1823] [MERGED] fix: Correct is_decoder_processed_enough() multiprogram logic and suppress false warnings #2569
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/CCExtractor/ccextractor/pull/1823
Author: @cfsmp3
Created: 12/14/2025
Status: ✅ Merged
Merged: 12/14/2025
Merged by: @cfsmp3
Base:
master← Head:fix/issue-1701-switch-to-next-file-error📝 Commits (1)
df1e075fix: Correct is_decoder_processed_enough() multiprogram logic and suppress false warnings📊 Changes
4 files changed (+107 additions, -13 deletions)
View changed files
📝
src/lib_ccx/file_functions.c(+9 -1)📝
src/lib_ccx/lib_ccx.c(+23 -5)📝
src/rust/src/file_functions/file.rs(+9 -1)📝
src/rust/src/hlist.rs(+66 -6)📄 Description
Summary
Fixes #1701
The
is_decoder_processed_enough()function had a bug where it would always return FALSE in multiprogram mode, causing false "Error in switch_to_next_file()" warnings for files without captions.Root Cause
The condition
dec_ctx->processed_enough == CCX_TRUE && ctx->multiprogram == CCX_FALSEmeant that in multiprogram mode (ctx->multiprogram == CCX_TRUE), the function would never return TRUE, even when all decoders had finished processing.Changes
is_decoder_processed_enough()in both C and Rust:switch_to_next_file():Files Modified
src/lib_ccx/lib_ccx.c- Fixedis_decoder_processed_enough()logicsrc/lib_ccx/file_functions.c- Added empty decoder list checksrc/rust/src/hlist.rs- Fixed Rust version + updated testssrc/rust/src/file_functions/file.rs- Added empty decoder list checkTest plan
.oggfile from issue - no more false error message--autoprogram(multiprogram mode) - works correctly🤖 Generated with Claude Code
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.