Commit Graph

42 Commits

Author SHA1 Message Date
Carlos Fernandez Sanz
92389cff84 ci: add dual build artifacts to compare C vs Rust code paths (#2207)
* fix: flush pending EIT sections in EPG_free() before freeing buffers

* ci: add dual build artifacts to compare C vs Rust code paths

Add -min-rust flag to linux/build that passes -DDISABLE_RUST to gcc,
causing switchable modules (DTVCC, demuxer, AVC, networking, hex utils)
to use their C implementations instead of Rust. The Rust library still
compiles since many modules are Rust-only.

The Linux CI now produces two artifacts:
- "CCExtractor Linux build" — min Rust (C paths where available)
- "CCExtractor Linux build (with migrations)" — max Rust

Both should produce identical output on the sample platform. If they
diverge, it means a Rust port introduced a behavioral difference.

The sample platform will need a corresponding update to recognize and
test the new "with migrations" artifact.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Varadraj75 <agrawalvaradraj2007@gmail.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 21:47:59 -07:00
dependabot[bot]
738d482ea7 chore(deps): bump actions/upload-artifact from 6 to 7
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 6 to 7.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-27 18:02:42 +00:00
Carlos Fernandez Sanz
2dc5cf3223 Improve CI caching, fix Linux deps, fix WinGet fork-user
* Improve CI caching and fix Linux build dependencies

- release.yml: Replace manual vcpkg clone + binary cache with
  lukka/run-vcpkg@v11 and installed-packages caching (matching
  build_windows.yml), add Cargo registry caching
- build_linux.yml: Add FFmpeg dev packages to build_autoconf, cmake,
  and build_rust jobs — libgpac on newer Ubuntu requires FFmpeg 6.x
  libraries at link time

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Fix WinGet publish: add fork-user to point to CCExtractor org fork

The winget-releaser action defaults to creating branches on the token
owner's fork (cfsmp3/winget-pkgs), which doesn't exist. The actual
fork is at CCExtractor/winget-pkgs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 19:20:48 -08:00
Carlos Fernandez
a10106e2dc Add notes that sample-platform depends on artifact names
The CCExtractor/sample-platform test runner does exact string matching
on artifact names to find builds for testing. If these names are changed
without updating Artifact_names in sample-platform, CI tests silently
stop running.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 14:13:09 -08:00
Carlos Fernandez
df90009f73 ci: add CMakeLists.txt to workflow path filters
Build workflows were not triggering on CMakeLists.txt changes.
Added **CMakeLists.txt and **.cmake patterns to path filters for:
- build_linux.yml
- build_mac.yml
- build_windows.yml
- build_docker.yml

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 17:23:34 -08:00
dependabot[bot]
9372e15024 chore(deps): bump actions/upload-artifact from 5 to 6
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 5 to 6.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-15 18:02:19 +00:00
dependabot[bot]
a7dfaea559 chore(deps): bump actions/cache from 4 to 5 (#1790)
Bumps [actions/cache](https://github.com/actions/cache) from 4 to 5.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-12 14:31:22 -08:00
dependabot[bot]
2720448e87 chore(deps): bump actions/checkout from 4 to 6 (#1766)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-07 18:54:15 -08:00
dependabot[bot]
5fceac5e90 chore(deps): bump actions/upload-artifact from 4 to 5 (#1757)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 5.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-07 18:53:35 -08:00
Hridesh MG
3f441150b4 Fix Hardsubx OCR (#1741)
* fix: hardsubx segmentation fault

* fix: hardsubx garbage output

* chore: enable hardsubx on test builds
2025-09-02 13:58:02 +05:30
dependabot[bot]
2d2a210c54 Bump actions/cache from 3 to 4 (#1589)
Bumps [actions/cache](https://github.com/actions/cache) from 3 to 4.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-04 20:02:21 +01:00
dependabot[bot]
63a259a313 Bump actions/checkout from 3 to 4 (#1567)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-09 20:01:49 +01:00
dependabot[bot]
eef2591c25 Bump actions/upload-artifact from 3 to 4 (#1587)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-09 20:00:59 +01:00
Prateek Sunal
aa4a76a941 [FEAT] Use system gpac library instead of vendoring gpacmp4 (#1535)
* feat: unpack gpac

* fix: linux ci

* fix: mac build

* fix: remove unused [no ci]

* fix: ignore config.h [no ci]

* temp commit, will drop this soon

* fix: install gpac

* fix: gpac

* fix: formatting

* fix: preproccessor directive

* fix: comment display version for now

* fix: display dlls code

* fix: bundle vcruntime in hardsubx windows

* fix: again

* fix: erros in ci

* fix: ci

* fix: add vcruntime in additional dependencies

* fix: try to copy vcruntime after build

* fix: space in runtime library

* fix: remove for now [no ci]

* fix: things in vcxproj

* fix: ci for leptonica sys

* fix: docs

* fix: copy dlls on post build event

* fix: copy vcruntime after build
2023-08-17 20:03:03 +00:00
Prateek Sunal
b983de6a54 [IMPROVEMENT] Make Environment variables for Hardsubx optional (#1508)
* feat: automatically link ffmpeg

* fix: ci

* chore: documentation update for vcpkg and hardsubx

* fix: add ffmpeg5 feature

* fix: remove ffmpeg5 feature

* fix: update rsmpeg
2023-03-21 09:53:55 -07:00
Prateek Sunal
0264e7da2b [IMPROVEMENT] Update Rust and fix windows build (#1480)
* fix: bump leptonica-sys to 0.4.3 and update Cargo.lock

* fix: bump rust version to 1.57.0 and build vcpkg for window hardsubx builds

* fix: add Bcrypt dependency

* fix: switch to rust stable

* chore: bump package versions

* fix: try to remove i686 to fix error

* fix: install tesseract and lint fixes

* fix: try using ffmpeg the third

* fix: include headers

* fix: add rsmpeg

* fix: switch default triplet to static md

* fix: import errors

* fix: directory path

* fix: pre build commands

* fix: update vcxproj

* fix: linux ci

* fix: ci fixes

* chore: lint fixes

* fix: error

* fix: copy include files

* fix: ci error

* fix: link swresample lib

* fix: some errors

* fix: include directory path and include all libraries

* fix: try to add library directories

* fix: fixes in libraries

* fix: formatting ci

* fix: mflat errors

* fix: libcurl

* fix: preprocessor definitions

* fix: add libcrypto

* fix: remove lib_hash to fix conflicts (we have libcrypto already)

* fix: add avcodec and avformat dependencies on windows

* fix: add remaining deps that may fix the build

* fix: add crypt depdency

* fix: rename conflicting names

* Revert "fix: remove lib_hash to fix conflicts (we have libcrypto already)"

This reverts commit f57ff716ed.

* fix: prefix with CC_

* fix: post build actions

* fix: ocr error

* Revert "fix: ocr error"

This reverts commit 92599454b6.

* fix: xcopy error

* fix: generated file name for x64

* fix: ocr error

* fix: add item group at top to see if it works

* fix: remove unwanted headers, removed \\ from VCPKG_ROOT, remove unwanted includes in vcxproj

* fix: add libpng for non hardsubx, comment the broken ocr code again

* fix: libpng path

* feat: add lib png headers in ClCompile

* fix: png.h not found

* fix: last try for ocr fix

* fix: libpng not found

* fix: cl compile headers

* fix: libpng and ocr

* fix: libpng error

* fix: redefinition error

* fix: zlib for non hardsubx

* fix: lib names

* fix: zlib.h not found
2023-03-12 13:45:21 -07:00
Willem
19f6ef43ef Update build_linux.yml 2022-07-18 20:51:22 +00:00
Willem
4dbcbe083e Update build_linux.yml 2022-07-18 20:50:15 +00:00
Willem
2a9a922d1a Update build_linux.yml 2022-07-18 20:46:50 +00:00
Willem
0d3e1d003d Update build_linux.yml
Try to fix bad behaviour for pushes
2022-07-18 20:43:26 +00:00
Shashwat Singh
170066f046 Port hardsubx utility (#1443)
* set up bindings conversion of hardsubx utility functions (and structs) and set up the module

* add low level ffmpeg rust binding

* Methods ported:

- convert_pts_to_ns
- convert_pts_to_ms
- convert_pts_to_s

A pure rust method was added called _edit_distance_rec that implements levenstein distance calculation using recursion and dynamic programming

The port of edit_distance_rec is simply a wrapper that calls above function.

This redundancy won't be nevessary as more downstream modules are ported to Rust

* put C code of hardsubx_utility under define rust flag

* run formatter

* make compilation of hardsubx rust modules conditional on the HARDSUBX and the OCR flags. Make ffmpeg a conditional dependency based on those flags

* remove namespaced dependency in cargo because that is a nightly feature

* add conditioal compilatio of ffmpeg related bindigs in build.rs

* make clang argument of -DENABLE_HARDSUBX conditional on cargo feature of hardsubx_ocr

* enable specific relevant features for ffmpeg-sys-next

* enable hardsubx_ocr feature in windows build

* add build feature in ffmpeg-sys-next

* ffmpeg build feature is conditional on platform

* Revert "ffmpeg build feature is conditional on platform"

This reverts commit e456fee942.

This is because conditional features do not work in cargo toml

* install yasm in the linux build github action for ocr and hardsubx enabled cmake

* turn globals to locals to reduce code

* remove redundant attributes

* style changes

* make import of ffmpeg-sys-next conditional on hardsubx_ocr flag

* add --all-features flag in clippy for github workflow

* run formatter

* fix clippy command

* install yasm as part of rust format build check

* install libtesseract-dev etc. for clippy build test

* readability change

* declare the function edit_distance as unsafe

* remove commented code

* formatting changes

* combine declaration and assignment

* add build command for building hardsubx rust

context to issue: #1445

* make hardsubx rust work with autoconf build. For issue: #1445

* update autoconf for mac for issue #1445
2022-07-13 14:36:30 +05:30
dependabot[bot]
ca303d6942 Bump actions/upload-artifact from 2 to 3 (#1430)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2 to 3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-11 09:48:03 +02:00
dependabot[bot]
30bc27aa0c Bump actions/cache from 2 to 3 (#1424)
Bumps [actions/cache](https://github.com/actions/cache) from 2 to 3.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](https://github.com/actions/cache/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-21 21:27:00 +00:00
Punit Lodha
0a4049c97c Fix clippy warning and Use rust 1.56.0 for CI (#1420)
* Fix cippy warning

* Use rust 1.56.0 for CI

Co-authored-by: Punit Lodha <punitlodha@pm.com>
2022-03-02 14:16:29 +01:00
dependabot[bot]
6e4ac56e9c Bump actions/checkout from 2.4.0 to 3 (#1419)
Bumps [actions/checkout](https://github.com/actions/checkout) from 2.4.0 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2.4.0...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-01 18:51:56 +00:00
dependabot[bot]
68e6390c76 Bump actions/checkout from 2.3.4 to 2.4.0 (#1388)
Bumps [actions/checkout](https://github.com/actions/checkout) from 2.3.4 to 2.4.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2.3.4...v2.4.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-10 07:03:06 +00:00
Punit Lodha
3a1851f904 Make rust decoder default (#1375)
* Use rust by default and add -WITHOUT_RUST flag

* Fix for shell and autoconf builds

* change directory for version check

* change to  staticlib

* Update windows to build rust

* fix formatting

* add information about 708 decoder in version flag

* revert file mode to 644

* Use x86 for OCR releases

* fix flushing bug

* fix formatting

* update lib names

* remove bazel

* update changelog
2021-10-15 08:15:51 -07:00
Willem
2a34bd99e6 [IMPROVEMENT] Automate release process for installer (#1357)
* Do not run push/pull request workflows for tags

* Stop including the old UI into artifacts for Widnows

* Introduce WiX installer and release flow
2021-06-28 14:18:33 -07:00
PunitLodha
c7886ed615 Add CI and docs for rust lib (#1355) 2021-06-27 17:58:51 +00:00
dependabot[bot]
84e6891922 Bump actions/checkout from 2 to 2.3.4 (#1334)
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 2.3.4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v2.3.4)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-11 20:11:18 +02:00
Venkata Shravan
4f5bd7bf37 Add bazel build to Github Actions (#1321) 2021-04-12 21:16:35 +00:00
Venkata Shravan
e3c54327e8 Updated Github actions and reduced steps required to upload artifacts. (#1289)
Updated Github actions, reduced upload artifact steps [Windows]. Closes #1284.
2020-12-28 09:59:46 +01:00
Willem
0227c2787a Update build_linux.yml
Correct path for version check for building with cmake
2020-04-26 20:48:25 +02:00
Willem
84dec36845 Update build_linux.yml
Add version information step on all Linux builds
2020-04-26 20:42:44 +02:00
Willem
b4f692807a Update build_linux.yml
Add a step to show version information
2020-04-26 20:38:59 +02:00
Nils André-Chang
88830e6c58 Remove the need for the push to be on the master branch
This is because contributors don't have branches called master it isn't
possible to manually trigger workflows as suggested by
https://github.community/t5/GitHub-Actions/GitHub-Actions-Manual-Trigger-Approvals/m-p/31517.

Also removed the workflow file from the path as it is implicitely set.
2020-02-15 22:12:55 +00:00
Nils André-Chang
746806dcef Cmake with OCR and Hardsubx in different job 2020-01-19 20:30:04 +00:00
Nils André-Chang
812734fd2a Add dependencies 2020-01-19 20:00:03 +00:00
Nils André-Chang
5599ce9eaf Test with OCR and HARDSUBX 2020-01-19 19:16:15 +00:00
Nils André-Chang
82b60988bb Parallelize 2020-01-18 20:20:40 +00:00
Nils André-Chang
ab1af7c678 Add Cmake job to github action 2020-01-18 20:16:15 +00:00
Willem
676be1f193 Add GitHub Action for Linux
Adds a GitHub Action that will build CCExtractor for Linux (Ubuntu in this case) using the shell script and the autoconf option.
2020-01-18 20:05:42 +01:00