Re: RFR: 8283218: Update GStreamer to 1.20.1 [v3]
On Fri, 15 Apr 2022 23:29:54 GMT, Alexander Matveev wrote: >> - GStreamer updated to 1.20.1 and GLib updated to 2.72.0. >> - No changes to our code, except in GstAudioSpectrum.cpp >> g_atomic_pointer_compare_and_exchange() was changed to >> g_atomic_pointer_set(). For some reason I was not able to get code compiled >> with g_atomic_pointer_compare_and_exchange() used from C++ code. Also, I do >> not see a need to use g_atomic_pointer_compare_and_exchange(), since >> m_pHolder always equals to old_holder. >> - Tested on all platforms with all supported media streams. > > Alexander Matveev has updated the pull request incrementally with one > additional commit since the last revision: > > 8283218: Update GStreamer to 1.20.1 [v3] 8283218: Update GStreamer to 1.20.1 [v4] - Added missing include file (string.h). - PR: https://git.openjdk.java.net/jfx/pull/768
Re: RFR: 8283218: Update GStreamer to 1.20.1 [v3]
On Fri, 15 Apr 2022 23:29:54 GMT, Alexander Matveev wrote: >> - GStreamer updated to 1.20.1 and GLib updated to 2.72.0. >> - No changes to our code, except in GstAudioSpectrum.cpp >> g_atomic_pointer_compare_and_exchange() was changed to >> g_atomic_pointer_set(). For some reason I was not able to get code compiled >> with g_atomic_pointer_compare_and_exchange() used from C++ code. Also, I do >> not see a need to use g_atomic_pointer_compare_and_exchange(), since >> m_pHolder always equals to old_holder. >> - Tested on all platforms with all supported media streams. > > Alexander Matveev has updated the pull request incrementally with one > additional commit since the last revision: > > 8283218: Update GStreamer to 1.20.1 [v3] I see one remaining build failure on Ubuntu 16.04, which should be easy to fix: ../../../gstreamer-lite/gstreamer/libs/gst/base/gstbytereader.h:367:3: error: implicit declaration of function 'memcpy' [-Werror=implicit-function-declaration] 367 | memcpy (dup_data, data, size); | ^~ ../../../gstreamer-lite/gstreamer/libs/gst/base/gstbytereader.h:367:3: warning: incompatible implicit declaration of built-in function 'memcpy' ../../../gstreamer-lite/gstreamer/libs/gst/base/gstbytereader.h:27:1: note: include '' or provide a declaration of 'memcpy' 26 | #include +++ |+#include 27 | In file included from ../../../gstreamer-lite/gstreamer/libs/gst/base/gstbytewriter.h:25, from ../../../gstreamer-lite/gstreamer/libs/gst/base/gstbytewriter.c:26: ../../../gstreamer-lite/gstreamer/libs/gst/base/gstbytereader.h: In function 'gst_byte_reader_dup_data_unchecked': ../../../gstreamer-lite/gstreamer/libs/gst/base/gstbytereader.h:367:3: error: implicit declaration of function 'memcpy' [-Werror=implicit-function-declaration] 367 | memcpy (dup_data, data, size); | ^~ ../../../gstreamer-lite/gstreamer/libs/gst/base/gstbytereader.h:367:3: warning: incompatible implicit declaration of built-in function 'memcpy' The workaround you needed to do this time suggests we will need a different approach for the next update. I think we will need to consider one of two things: 1. Build and link glib-lite on Linux, as we do for the other platforms 2. Bump the minimum version of GLib needed to build or run JavaFX media. This would mean we would no longer run on Ubuntu 16.0.4 (and probably older versions of RHEL / Oracle Linux). We can decide as it gets closer to the next update. - PR: https://git.openjdk.java.net/jfx/pull/768
Re: RFR: 8283218: Update GStreamer to 1.20.1 [v3]
On Fri, 15 Apr 2022 23:29:54 GMT, Alexander Matveev wrote: >> - GStreamer updated to 1.20.1 and GLib updated to 2.72.0. >> - No changes to our code, except in GstAudioSpectrum.cpp >> g_atomic_pointer_compare_and_exchange() was changed to >> g_atomic_pointer_set(). For some reason I was not able to get code compiled >> with g_atomic_pointer_compare_and_exchange() used from C++ code. Also, I do >> not see a need to use g_atomic_pointer_compare_and_exchange(), since >> m_pHolder always equals to old_holder. >> - Tested on all platforms with all supported media streams. > > Alexander Matveev has updated the pull request incrementally with one > additional commit since the last revision: > > 8283218: Update GStreamer to 1.20.1 [v3] Update GStreamer to 1.20.1 [v2] - Made caps writable before changing them in qtdemux, otherwise values are not set and critical error printed in console. - Fixed compilation error in GstAudioSpectrum.cpp by casting pointer. - Added g_abort() if it is not defined (building with older GLib). Update GStreamer to 1.20.1 [v3] - Added -Werror=deprecated-declarations and GLIB_VERSION_MIN_REQUIRED/GLIB_VERSION_MAX_ALLOWED=2.48.0 to Linux makefiles. GLIB_VERSION_MIN_REQUIRED/GLIB_VERSION_MAX_ALLOWED will give deprecated warnings when code uses APIs from GLib which where added after 2.48.0. -Werror=deprecated-declarations will fail build if such warning detected. This is needed to make sure that we can build and run with older GLib starting with 2.48.0 and up. - avplugin does not have -Werror=deprecated-declarations, because avplugin uses deprecated APIs from libavcodec and build fails with this flag and fixing avplugin is out of scope of GStreamer update. - Fixed build issues that were discovered after above was implemented, so we can build/run with GLib 2.48.0 and up. - PR: https://git.openjdk.java.net/jfx/pull/768
Re: RFR: 8283218: Update GStreamer to 1.20.1 [v3]
> - GStreamer updated to 1.20.1 and GLib updated to 2.72.0. > - No changes to our code, except in GstAudioSpectrum.cpp > g_atomic_pointer_compare_and_exchange() was changed to > g_atomic_pointer_set(). For some reason I was not able to get code compiled > with g_atomic_pointer_compare_and_exchange() used from C++ code. Also, I do > not see a need to use g_atomic_pointer_compare_and_exchange(), since > m_pHolder always equals to old_holder. > - Tested on all platforms with all supported media streams. Alexander Matveev has updated the pull request incrementally with one additional commit since the last revision: 8283218: Update GStreamer to 1.20.1 [v3] - Changes: - all: https://git.openjdk.java.net/jfx/pull/768/files - new: https://git.openjdk.java.net/jfx/pull/768/files/b45b1fb1..51cc1e0f Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jfx&pr=768&range=02 - incr: https://webrevs.openjdk.java.net/?repo=jfx&pr=768&range=01-02 Stats: 211 lines in 11 files changed: 210 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/jfx/pull/768.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/768/head:pull/768 PR: https://git.openjdk.java.net/jfx/pull/768