Skip to content

MP4v2 v2.1.0

Compare
Choose a tag to compare
@enzo1982 enzo1982 released this 20 Mar 19:50
· 55 commits to main since this release

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] and MP4ModifyCallbacks[Ex] to allow working with custom I/O routines and memory buffers.
  • Added public API function MP4FreeH264SeqPictHeaders to free memory allocated by MP4GetTrackH264SeqPictHeaders.

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.

3. Tools improvements

  • Write total length and additonal metadata to .chapters.txt files when exporting chapters with mp4chaps.
  • Added options for modifying sort tags (sortartist, sortname etc.) to mp4tags.

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