mirror of
https://github.com/CCExtractor/ccextractor.git
synced 2026-04-18 20:12:50 +00:00
[PR #2009] fix(ts): allow manual streamtype override for private streams #2815
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/2009
Author: @pulk17
Created: 1/10/2026
Status: 🔄 Open
Base:
master← Head:fix/ts-private-stream-override📝 Commits (3)
6dcb605fix(ts): allow manual streamtype override for private streamscfbf89fstyle: fix indentation (clang-format)cf8f91cEmpty commit to rerun ci/cd tests📊 Changes
1 file changed (+7 additions, -3 deletions)
View changed files
📝
src/lib_ccx/ts_tables.c(+7 -3)📄 Description
[FIX] ts: Allow manual streamtype override for private streams causing fatal errors
In raising this pull request, I confirm the following (please check boxes):
My familiarity with the project is as follows (check one):
Summary
Fixed a logic bug in
ts_tables.cwhere the parser would trigger a fatal error ("I can't tell the stream type") for private streams (0x80-0xFF), even if the user explicitly provided--streamtype.The Issue
When parsing a PMT with private streams (common in M2TS files with PGS subtitles), the code checks if the stream type is private and immediately exits with a fatal error requesting manual selection.
The error logic failed to check if
ccx_options.demux_cfg.ts_forced_streamtypewas already set by the user via the CLI arguments. This made it impossible to force-read private streams, as the application would crash before applying the user's override.The Fix
Added a check to verify if the user has already manually set the stream type (via
--streamtype).Verification
Tested with
hitman_cut.m2ts(a sample with missing PMT/Private Stream) and00000.m2ts(PGS streams).Command:
ccextractor input.m2ts --datapid 4608 --streamtype 6🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.