MP4v2 v2.1.0
This is the MP4v2 v2.1.0 release, the first release by the new MP4v2 library project.
Changes since the MP4v2 v2.0.0 release:
1. API changes
- Added public API functions
MP4ReadCallbacks
,MP4CreateCallbacks[Ex]
andMP4ModifyCallbacks[Ex]
to allow working with custom I/O routines and memory buffers. - Added public API function
MP4FreeH264SeqPictHeaders
to free memory allocated byMP4GetTrackH264SeqPictHeaders
.
2. General improvements
-
I/O system
- Switched to ANSI C file I/O on Windows for improved performance with large files.
- Handle extended paths (prefixed with
\\?\
or\\?\UNC\
) on Windows.
-
MP4Modify behavior
- Attempt to truncate files if when modify reduces their size instead of filling space with a
free
atom. - Attempt to keep
moov
atom at the start of the file if it does not increase in size. - Do not leave empty
mdat
atoms behind after modify.
- Attempt to truncate files if when modify reduces their size instead of filling space with a
3. Tools improvements
- Write total length and additonal metadata to
.chapters.txt
files when exporting chapters withmp4chaps
. - Added options for modifying sort tags (
sortartist
,sortname
etc.) tomp4tags
.
4. Documentation improvements
- Converted old API documentation man pages to Doxygen comments in the public header files.
5. Build system improvements
-
Updated the Autotools build system
- Fixed building as a shared library on Windows.
- Added support for
pkg-config
.
-
Added support for building with CMake.
-
Upgraded Visual Studio solution and projects for Visual Studio 2022.
-
Added Xcode project files.
6. Bug fixes
- Fixed issues handling files with sample times exceeding 2^32.
- Fixed compile errors and warnings with newer versions of GCC/Clang.
7. Vulnerability fixes
- https://nvd.nist.gov/vuln/detail/CVE-2018-14054
- https://nvd.nist.gov/vuln/detail/CVE-2018-14325
- https://nvd.nist.gov/vuln/detail/CVE-2018-14326
- https://nvd.nist.gov/vuln/detail/CVE-2018-14379
- https://nvd.nist.gov/vuln/detail/CVE-2018-14403
- https://nvd.nist.gov/vuln/detail/CVE-2018-14446
- https://nvd.nist.gov/vuln/detail/CVE-2018-17235
- https://nvd.nist.gov/vuln/detail/CVE-2018-17236