Skip to content

Modernization - #493

Merged
JeromeMartinez merged 8 commits into
MediaArea:mainfrom
JeromeMartinez:Modernization
Oct 12, 2026
Merged

JeromeMartinez merged 8 commits into
MediaArea:mainfrom
JeromeMartinez:Modernization

Conversation

@JeromeMartinez

Copy link
Copy Markdown
Member

MSVC projects review.
Natural order of file names: a small C++11 in-house function replaces alphanum
AVI: the check of the format tag in the fccHandler of audio streams never failed.
configure.ac: current Autoconf and Automake macros, no more warning from Autoconf 2.71 and Automake 1.16.5.
zlib 1.3.2.
libFLAC 1.5.0.

Remove MSVC2017 and MSVC2019, fix MSVC2022
Coherence of MSVC projects options
The order of file names (e.g. 9 before 10) is computed by a small
in-house function instead of alphanum (2008), with the same order except:
- numbers are compared without overflow (alphanum overflowed at 10 digits
  on Windows and returned an int from a long difference elsewhere),
- other characters are compared as unsigned bytes (the order of non-ASCII
  characters was different on x86 and on ARM Linux),
- names with numbers differing only by leading zeros are ordered (the
  order was undefined).
The check never failed: a logical AND was used instead of a bitwise AND
(warning with clang), and the byte-swapped format tag was compared with
the wrong bytes of fccHandler (read in big endian). The format tag in the
fccHandler (e.g. 1 for PCM, also with WAVE_FORMAT_EXTENSIBLE) is now
checked against the format tag of the fmt chunk.
Update of the bundled zlib from a development version (1.3.1.1) to the
1.3.2 release.
Update of the bundled libFLAC from a development version after 1.3.2
(2018) to the 1.5.0 release.
Only the files needed by the stream decoder are kept (metadata, window
and bit writer functions are not used).
Minimal changes for having it building on MSVC.
HAVE_FSEEKO is set by configure, else fseeko and ftello are mapped to
fseek and ftell, in conflict with their declarations on macOS.
actions/checkout v3 runs on Node.js 20, which is deprecated on GitHub
runners (warning), v7 runs on Node.js 24.
brew update migrates formulae of the runner image (e.g. azure-cli moved to
casks) and cleans up, and Homebrew outputs its warnings (e.g. one for each
outdated formula of the runner image) as annotations on GitHub Actions.
Workflow commands are stopped during the brew commands, so these warnings
are only in the log.
@JeromeMartinez
JeromeMartinez merged commit c9e8b65 into MediaArea:main Oct 12, 2026
2 checks passed
@JeromeMartinez
JeromeMartinez deleted the Modernization branch October 12, 2026 21:24
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.

1 participant