From 5d70253ac94e5840be7b86054131dd753af63cc7 Mon Sep 17 00:00:00 2001 From: jeanlf Date: Wed, 17 Apr 2024 17:55:38 +0200 Subject: [PATCH] GPAC 2.4 Release --- Changelog | 6 ++++-- README.md | 11 ++++++----- applications/gpac/ios-Info.plist | 4 ++-- debian/changelog | 2 +- gpac.spec | 6 +++--- include/gpac/version.h | 4 ++-- packagers/osx/GPAC.app/Contents/Info.plist | 4 ++-- packagers/win32_64/nsis/gpac_installer.nsi | 2 +- share/doc/man/gpac-filters.1 | 2 +- share/doc/man/gpac.1 | 2 +- share/doc/man/mp4box.1 | 2 +- share/python/libgpac/libgpac.py | 2 +- src/filters/decrypt_cenc_isma.c | 6 ++---- src/utils/os_divers.c | 2 +- 14 files changed, 28 insertions(+), 27 deletions(-) diff --git a/Changelog b/Changelog index cb32a295ac..feeb9b02ec 100644 --- a/Changelog +++ b/Changelog @@ -1,4 +1,4 @@ -# On-going: GPAC 2.3-DEV +#04/2024: GPAC 2.4 ## Emscripten|WebAssembly(WASM) support - Session can run in worker or in main browser loop @@ -32,6 +32,7 @@ - Fixed GF_FileIO for async read and write modes - Added seeking in mp4dmx in mem mode - vout updated to use VBO (required for gles2) +- libcaca video output support - Allow ffdmx to work as demux filter on gpac input file pids - GHI format for pre-indexing DASH/HLS session for JIT packaging/encryption/transcode - Zero-copy for mp4dmx and fragmented mp4mx @@ -48,11 +49,12 @@ ## Misc - Migrated doc from github's wiki to wiki.gpac.io -- FFMPEG 6 support +- FFMPEG 7 support - Added features for configure (vout, aout, fonts, doc, evg) - Allow specifying network interface by name or IP (instead of IP only) - UDP/TCP filtering and recording to / playback from pcap, pcapng and GPAC gpc files - Added Nix and Docker build files +- many bug fixes, improvements and security patches # 19/12/2022: GPAC 2.2 diff --git a/README.md b/README.md index 808d6b4a24..19af5ceb59 100644 --- a/README.md +++ b/README.md @@ -25,9 +25,9 @@ # GPAC Introduction -Current version: 2.3-DEV +Current version: 2.4 -Latest Release: 2.2 +Latest Release: 2.4 GPAC is an open-source multimedia framework focused on modularity and standards compliance. GPAC provides tools to process, inspect, package, stream, playback and interact with media content. Such content can be any combination of audio, video, subtitles, metadata, scalable graphics, encrypted media, 2D/3D graphics and ECMAScript. @@ -116,8 +116,9 @@ Users are encouraged to use the latest tag or the master branch. ## V2.X Targets: -- [ ] Web integration (emscripten, Remotery UI) - [ ] DASH event support -- [ ] Better TTML2 / SMPTE ST 2052-1 support -- [ ] GUI cleanup ? +- [ ] Web GUI +- [ ] QUIC support +- [ ] ROUTE file repair support +- [ ] FLUTE file repair support diff --git a/applications/gpac/ios-Info.plist b/applications/gpac/ios-Info.plist index 5a6f0d0c5a..7983d1ab9a 100644 --- a/applications/gpac/ios-Info.plist +++ b/applications/gpac/ios-Info.plist @@ -37,11 +37,11 @@ CFBundlePackageType APPL CFBundleShortVersionString - 2.3-DEV + 2.4 CFBundleSignature gpac CFBundleVersion - 12.10.0 + 12.14.0 NSCameraUsageDescription GPAC needs camera access to handle this URL NSMicrophoneUsageDescription diff --git a/debian/changelog b/debian/changelog index bc585172cb..8156687259 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -gpac (2.3-DEV) stable; urgency=low +gpac (2.4) stable; urgency=low * Initial release - see https://github.com/gpac/gpac/releases for more details diff --git a/gpac.spec b/gpac.spec index fd8aa1b9df..fd9a062060 100644 --- a/gpac.spec +++ b/gpac.spec @@ -1,11 +1,11 @@ # $Id: gpac.spec,v 1.5 2008-12-02 18:04:42 jeanlf Exp $ Summary: Framework for production, encoding, delivery and interactive playback of multimedia content Name: gpac -Version: 2.3-DEV -Release: 2.3-DEV +Version: 2.4 +Release: 2.4 License: LGPL Group: Applications/Multimedia -Source0: gpac-2.3-DEV.tar.gz +Source0: gpac-2.4.tar.gz URL: https://gpac.io/ BuildRoot: %{_tmppath}/%{name}-root Requires: SDL diff --git a/include/gpac/version.h b/include/gpac/version.h index 1427fb65f3..82667b02ed 100644 --- a/include/gpac/version.h +++ b/include/gpac/version.h @@ -42,13 +42,13 @@ * SONAME versions must be digits (not strings) */ /*! Macro giving GPAC version name expressed as a printable string*/ -#define GPAC_VERSION "2.3-DEV" +#define GPAC_VERSION "2.4" // WARNING: when bumping, reflect the changes in share/python/libgpac.py !! /*! ABI Major number of libgpac */ #define GPAC_VERSION_MAJOR 12 /*! ABI Minor number of libgpac */ -#define GPAC_VERSION_MINOR 12 +#define GPAC_VERSION_MINOR 14 /*! ABI Micro number of libgpac */ #define GPAC_VERSION_MICRO 0 diff --git a/packagers/osx/GPAC.app/Contents/Info.plist b/packagers/osx/GPAC.app/Contents/Info.plist index c0c01d983d..26b6772f07 100644 --- a/packagers/osx/GPAC.app/Contents/Info.plist +++ b/packagers/osx/GPAC.app/Contents/Info.plist @@ -516,7 +516,7 @@ yes CFBundleShortVersionString - 2.3-DEV + 2.4 CFBundleSignature gpac CFBundleURLTypes @@ -567,7 +567,7 @@ NSMicrophoneUsageDescription GPAC needs microphone access to handle this URL CFBundleVersion - 12.10.0 + 12.14.0 LSMinimumSystemVersion 10.5.0 NSMainNibFile diff --git a/packagers/win32_64/nsis/gpac_installer.nsi b/packagers/win32_64/nsis/gpac_installer.nsi index ec07edeb6f..dd1bd40c35 100644 --- a/packagers/win32_64/nsis/gpac_installer.nsi +++ b/packagers/win32_64/nsis/gpac_installer.nsi @@ -1,6 +1,6 @@ ;-------------------------------- ;General -!define GPAC_VERSION 2.3-DEV +!define GPAC_VERSION 2.4 !include default.out !define GPAC_ROOT ..\..\.. diff --git a/share/doc/man/gpac-filters.1 b/share/doc/man/gpac-filters.1 index 225447759f..7ea6f2d651 100644 --- a/share/doc/man/gpac-filters.1 +++ b/share/doc/man/gpac-filters.1 @@ -11942,7 +11942,7 @@ Authors: GPAC developers, see git repo history (-log) .br For bug reports, feature requests, more information and source code, visit https://github.com/gpac/gpac .br -build: 2.3-DEV +build: 2.4 .br Copyright: (c) 2000-2023 Telecom Paris distributed under LGPL v2.1+ - https://gpac.io .br diff --git a/share/doc/man/gpac.1 b/share/doc/man/gpac.1 index 3fa3665767..345381f8d8 100644 --- a/share/doc/man/gpac.1 +++ b/share/doc/man/gpac.1 @@ -5160,7 +5160,7 @@ Authors: GPAC developers, see git repo history (-log) .br For bug reports, feature requests, more information and source code, visit https://github.com/gpac/gpac .br -build: 2.3-DEV +build: 2.4 .br Copyright: (c) 2000-2023 Telecom Paris distributed under LGPL v2.1+ - https://gpac.io .br diff --git a/share/doc/man/mp4box.1 b/share/doc/man/mp4box.1 index 47b353bfdf..bb09a1c9e4 100644 --- a/share/doc/man/mp4box.1 +++ b/share/doc/man/mp4box.1 @@ -2941,7 +2941,7 @@ Authors: GPAC developers, see git repo history (-log) .br For bug reports, feature requests, more information and source code, visit https://github.com/gpac/gpac .br -build: 2.3-DEV +build: 2.4 .br Copyright: (c) 2000-2023 Telecom Paris distributed under LGPL v2.1+ - https://gpac.io .br diff --git a/share/python/libgpac/libgpac.py b/share/python/libgpac/libgpac.py index f604f8cddb..d35e9308a5 100644 --- a/share/python/libgpac/libgpac.py +++ b/share/python/libgpac/libgpac.py @@ -242,7 +242,7 @@ #change this to reflect API we encapsulate. An incomatibility in either of these will throw a warning GF_ABI_MAJOR=12 -GF_ABI_MINOR=12 +GF_ABI_MINOR=14 gpac_abi_major=_libgpac.gf_gpac_abi_major() gpac_abi_minor=_libgpac.gf_gpac_abi_minor() diff --git a/src/filters/decrypt_cenc_isma.c b/src/filters/decrypt_cenc_isma.c index 7bdb0773c3..7e0a848b8c 100644 --- a/src/filters/decrypt_cenc_isma.c +++ b/src/filters/decrypt_cenc_isma.c @@ -613,10 +613,8 @@ static GF_Err cenc_dec_load_keys(GF_CENCDecCtx *ctx, GF_CENCDecStream *cstr) Bool match = GF_FALSE; if (cstr->is_hls) { match = GF_TRUE; - } else if (cstr->KIDs[j]) { - if (!memcmp(KID, cstr->KIDs[j], 16) || !memcmp(blank_KID, cstr->KIDs[j], 16) ) { - match = GF_TRUE; - } + } else if (!memcmp(KID, cstr->KIDs[j], 16) || !memcmp(blank_KID, cstr->KIDs[j], 16) ) { + match = GF_TRUE; } if (match) { memcpy(cstr->crypts[i].key, cstr->keys[j], 16); diff --git a/src/utils/os_divers.c b/src/utils/os_divers.c index a39041bf8d..4750affee9 100644 --- a/src/utils/os_divers.c +++ b/src/utils/os_divers.c @@ -80,7 +80,7 @@ static u64 sys_start_time_hr = 0; #include #define GPAC_FULL_VERSION GPAC_VERSION "-rev" GPAC_GIT_REVISION -#define GPAC_COPYRIGHT "(c) 2000-2023 Telecom Paris distributed under LGPL v2.1+ - https://gpac.io" +#define GPAC_COPYRIGHT "(c) 2000-2024 Telecom Paris distributed under LGPL v2.1+ - https://gpac.io" GF_EXPORT const char *gf_gpac_version()