Carlos Fernandez 73db3a2c39 fix(avc): Handle streams that don't start with NAL start codes (#1626)
The AVC parser would fail with "Leading bytes are non-zero" error when
processing HLS/Twitch stream segments that start mid-stream without
proper NAL unit headers at the beginning.

Root cause: When process_avc encountered non-zero leading bytes, it
returned an error with 0 bytes processed. The C code would not remove
any bytes from the buffer, causing subsequent data to accumulate with
the corrupt beginning, leading to infinite errors.

Fix:
- Add find_nal_start_code() to search for valid NAL start codes
- If buffer doesn't start with 0x00 0x00, search for first NAL start
- Skip garbage data before first valid NAL unit
- Return full buffer length when no NAL found (clears the buffer)
- Change forbidden_zero_bit error from fatal to skip-and-continue

Tested with 6 Twitch HLS sample files - all now process correctly.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-20 09:08:14 +01:00
2025-10-26 20:19:55 +05:30
2023-05-29 18:34:15 +00:00
2021-08-10 14:13:09 +02:00
2016-12-13 14:32:35 +03:00
2021-04-04 16:07:12 -07:00

logo

CCExtractor

Build Status Sample-Platform Build Status Windows Sample-Platform Build Status Linux SourceForge GitHub All Releases

CCExtractor is a tool used to produce subtitles for TV recordings from almost anywhere in the world. We intend to keep up with all sources and formats.

Subtitles are important for many people. If you're learning a new language, subtitles are a great way to learn it from movies or TV shows. If you are hard of hearing, subtitles can help you better understand what's happening on the screen. We aim to make it easy to generate subtitles by using the command line tool or Windows GUI.

The official repository is (CCExtractor/ccextractor) and master being the most stable branch.

Features

  • Extract subtitles in real-time
  • Translate subtitles
  • Extract closed captions from DVDs
  • Convert closed captions to subtitles

Programming Languages & Technologies

The core functionality is written in C. Other languages used include C++ and Python.

Installation and Usage

Downloads for precompiled binaries and source code can be found on our website.

Extracting subtitles is relatively simple. Just run the following command:

ccextractor <input>

This will extract the subtitles.

More usage information can be found on our website:

You can also find the list of parameters and their brief description by running ccextractor without any arguments.

You can find sample files on our website to test the software.

Compiling CCExtractor

To learn more about how to compile and build CCExtractor for your platform check the compilation guide.

Support

By far the best way to get support is by opening an issue at our issue tracker.

When you create a new issue, please fill in the needed details in the provided template. That makes it easier for us to help you more efficiently.

If you have a question or a problem you can also contact us by email or chat with the team in Slack.

If you want to contribute to CCExtractor but can't submit some code patches or issues or video samples, you can also donate to us

Contributing

You can contribute to the project by reporting issues, forking it, modifying the code and making a pull request to the repository. We have some rules, outlined in the contributor's guide.

News & Other Information

News about releases and modifications to the code can be found in the CHANGES.TXT file.

For more information visit the CCExtractor website: https://www.ccextractor.org

License

GNU General Public License version 2.0 (GPL-2.0)

Description
No description provided
Readme 329 MiB
Latest
2026-02-20 02:01:27 +00:00
Languages
C 68.3%
Rust 28.8%
Shell 0.7%
M4 0.6%
Makefile 0.5%
Other 0.9%