File webkit2gtk3-gstreamer1.8.patch of Package webkit2gtk3.30069

diff -urp webkitgtk-2.40.2.gstreamer1.12/Source/cmake/GStreamerChecks.cmake webkitgtk-2.40.2.gstreamer1.8/Source/cmake/GStreamerChecks.cmake
--- webkitgtk-2.40.2.gstreamer1.12/Source/cmake/GStreamerChecks.cmake	2023-05-30 14:14:09.163895529 -0500
+++ webkitgtk-2.40.2.gstreamer1.8/Source/cmake/GStreamerChecks.cmake	2023-05-30 14:25:03.367349322 -0500
@@ -36,7 +36,7 @@ if (ENABLE_VIDEO OR ENABLE_WEB_AUDIO)
               list(APPEND GSTREAMER_COMPONENTS webrtc)
           endif ()
 
-          find_package(GStreamer 1.10.0 REQUIRED COMPONENTS ${GSTREAMER_COMPONENTS})
+          find_package(GStreamer 1.8.3 REQUIRED COMPONENTS ${GSTREAMER_COMPONENTS})
 
           if (ENABLE_WEB_AUDIO)
               if (NOT PC_GSTREAMER_AUDIO_FOUND OR NOT PC_GSTREAMER_FFT_FOUND)
diff -urp webkitgtk-2.40.2.gstreamer1.12/Source/WebCore/platform/audio/gstreamer/AudioFileReaderGStreamer.cpp webkitgtk-2.40.2.gstreamer1.8/Source/WebCore/platform/audio/gstreamer/AudioFileReaderGStreamer.cpp
--- webkitgtk-2.40.2.gstreamer1.12/Source/WebCore/platform/audio/gstreamer/AudioFileReaderGStreamer.cpp	2023-02-20 03:22:18.077740200 -0600
+++ webkitgtk-2.40.2.gstreamer1.8/Source/WebCore/platform/audio/gstreamer/AudioFileReaderGStreamer.cpp	2023-05-30 14:25:03.367349322 -0500
@@ -200,7 +200,7 @@ static inline std::optional<int> channel
 
 GstFlowReturn AudioFileReader::handleSample(GstAppSink* sink)
 {
-    auto sample = adoptGRef(gst_app_sink_try_pull_sample(sink, 0));
+    auto sample = adoptGRef(gst_app_sink_pull_sample(sink));
     if (!sample)
         return gst_app_sink_is_eos(sink) ? GST_FLOW_EOS : GST_FLOW_ERROR;
 
diff -urp webkitgtk-2.40.2.gstreamer1.12/Source/WebCore/platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp webkitgtk-2.40.2.gstreamer1.8/Source/WebCore/platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp
--- webkitgtk-2.40.2.gstreamer1.12/Source/WebCore/platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp	2023-03-15 08:59:47.330720400 -0500
+++ webkitgtk-2.40.2.gstreamer1.8/Source/WebCore/platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp	2023-05-30 14:25:03.371349343 -0500
@@ -242,7 +242,7 @@ void AudioSourceProviderGStreamer::provi
 GstFlowReturn AudioSourceProviderGStreamer::handleSample(GstAppSink* sink, bool isPreroll)
 {
     GST_TRACE("Pulling audio sample from the sink");
-    auto sample = adoptGRef(isPreroll ? gst_app_sink_try_pull_preroll(sink, 0) : gst_app_sink_try_pull_sample(sink, 0));
+    auto sample = adoptGRef(isPreroll ? gst_app_sink_pull_preroll(sink) : gst_app_sink_pull_sample(sink));
     if (!sample)
         return gst_app_sink_is_eos(sink) ? GST_FLOW_EOS : GST_FLOW_ERROR;
 
diff -urp webkitgtk-2.40.2.gstreamer1.12/Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp webkitgtk-2.40.2.gstreamer1.8/Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp
--- webkitgtk-2.40.2.gstreamer1.12/Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp	2023-05-30 14:14:09.167895550 -0500
+++ webkitgtk-2.40.2.gstreamer1.8/Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp	2023-05-30 14:25:03.371349343 -0500
@@ -225,7 +225,6 @@ static void webKitWebAudioSrcConstructed
     ASSERT(priv->sampleRate);
 
     GST_OBJECT_FLAG_SET(GST_OBJECT_CAST(src), GST_ELEMENT_FLAG_SOURCE);
-    gst_bin_set_suppressed_flags(GST_BIN_CAST(src), static_cast<GstElementFlags>(GST_ELEMENT_FLAG_SOURCE | GST_ELEMENT_FLAG_SINK));
 
     gst_element_add_pad(GST_ELEMENT(src), priv->sourcePad);
 
diff -urp webkitgtk-2.40.2.gstreamer1.12/Source/WebCore/platform/graphics/gstreamer/AudioTrackPrivateGStreamer.cpp webkitgtk-2.40.2.gstreamer1.8/Source/WebCore/platform/graphics/gstreamer/AudioTrackPrivateGStreamer.cpp
--- webkitgtk-2.40.2.gstreamer1.12/Source/WebCore/platform/graphics/gstreamer/AudioTrackPrivateGStreamer.cpp	2023-02-20 03:22:18.889743600 -0600
+++ webkitgtk-2.40.2.gstreamer1.8/Source/WebCore/platform/graphics/gstreamer/AudioTrackPrivateGStreamer.cpp	2023-05-30 14:25:03.371349343 -0500
@@ -42,6 +42,7 @@ AudioTrackPrivateGStreamer::AudioTrackPr
 {
 }
 
+#if GST_CHECK_VERSION(1, 10, 0)
 AudioTrackPrivateGStreamer::AudioTrackPrivateGStreamer(WeakPtr<MediaPlayerPrivateGStreamer> player, unsigned index, GstStream* stream)
     : TrackPrivateBaseGStreamer(TrackPrivateBaseGStreamer::TrackType::Audio, this, index, stream)
     , m_player(player)
@@ -68,7 +69,9 @@ AudioTrackPrivateGStreamer::AudioTrackPr
     updateConfigurationFromCaps();
     updateConfigurationFromTags();
 }
+#endif
 
+#if GST_CHECK_VERSION(1, 10, 0)
 void AudioTrackPrivateGStreamer::updateConfigurationFromTags()
 {
     ASSERT(isMainThread());
@@ -84,7 +87,9 @@ void AudioTrackPrivateGStreamer::updateC
     configuration.bitrate = bitrate;
     setConfiguration(WTFMove(configuration));
 }
+#endif
 
+#if GST_CHECK_VERSION(1, 10, 0)
 void AudioTrackPrivateGStreamer::updateConfigurationFromCaps()
 {
     ASSERT(isMainThread());
@@ -121,11 +126,14 @@ void AudioTrackPrivateGStreamer::updateC
     configuration.codec = String::fromLatin1(codec.get());
 #endif
 }
+#endif
 
 AudioTrackPrivate::Kind AudioTrackPrivateGStreamer::kind() const
 {
+#if GST_CHECK_VERSION(1, 10, 0)
     if (m_stream && gst_stream_get_stream_flags(m_stream.get()) & GST_STREAM_FLAG_SELECT)
         return AudioTrackPrivate::Kind::Main;
+#endif
 
     return AudioTrackPrivate::kind();
 }
@@ -134,8 +142,10 @@ void AudioTrackPrivateGStreamer::disconn
 {
     m_taskQueue.startAborting();
 
+#if GST_CHECK_VERSION(1, 10, 0)
     if (m_stream)
         g_signal_handlers_disconnect_matched(m_stream.get(), G_SIGNAL_MATCH_DATA, 0, 0, nullptr, nullptr, this);
+#endif
 
     m_player = nullptr;
     TrackPrivateBaseGStreamer::disconnect();
diff -urp webkitgtk-2.40.2.gstreamer1.12/Source/WebCore/platform/graphics/gstreamer/AudioTrackPrivateGStreamer.h webkitgtk-2.40.2.gstreamer1.8/Source/WebCore/platform/graphics/gstreamer/AudioTrackPrivateGStreamer.h
--- webkitgtk-2.40.2.gstreamer1.12/Source/WebCore/platform/graphics/gstreamer/AudioTrackPrivateGStreamer.h	2023-02-20 03:22:18.889743600 -0600
+++ webkitgtk-2.40.2.gstreamer1.8/Source/WebCore/platform/graphics/gstreamer/AudioTrackPrivateGStreamer.h	2023-05-30 14:25:03.375349364 -0500
@@ -43,10 +43,12 @@ public:
         return adoptRef(*new AudioTrackPrivateGStreamer(player, index, WTFMove(pad), shouldHandleStreamStartEvent));
     }
 
+#if GST_CHECK_VERSION(1, 10, 0)
     static Ref<AudioTrackPrivateGStreamer> create(WeakPtr<MediaPlayerPrivateGStreamer> player, unsigned index, GstStream* stream)
     {
         return adoptRef(*new AudioTrackPrivateGStreamer(player, index, stream));
     }
+#endif
 
     Kind kind() const final;
 
@@ -68,7 +70,9 @@ protected:
 
 private:
     AudioTrackPrivateGStreamer(WeakPtr<MediaPlayerPrivateGStreamer>, unsigned index, GRefPtr<GstPad>&&, bool shouldHandleStreamStartEvent);
+#if GST_CHECK_VERSION(1, 10, 0)
     AudioTrackPrivateGStreamer(WeakPtr<MediaPlayerPrivateGStreamer>, unsigned index, GstStream*);
+#endif
 
     WeakPtr<MediaPlayerPrivateGStreamer> m_player;
 };
diff -urp webkitgtk-2.40.2.gstreamer1.12/Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.cpp webkitgtk-2.40.2.gstreamer1.8/Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.cpp
--- webkitgtk-2.40.2.gstreamer1.12/Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.cpp	2023-05-29 02:59:44.852173300 -0500
+++ webkitgtk-2.40.2.gstreamer1.8/Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.cpp	2023-05-30 14:25:03.375349364 -0500
@@ -404,6 +404,7 @@ template <> void derefGPtr<GstQuery>(Gst
         gst_query_unref(ptr);
 }
 
+#if GST_CHECK_VERSION(1, 10, 0)
 template <> GRefPtr<GstStream> adoptGRef(GstStream* ptr)
 {
     return GRefPtr<GstStream>(ptr, GRefPtrAdopt);
@@ -441,6 +442,7 @@ template <> void derefGPtr<GstStreamColl
     if (ptr)
         gst_object_unref(ptr);
 }
+#endif
 
 template <>
 GRefPtr<GstClock> adoptGRef(GstClock* ptr)
diff -urp webkitgtk-2.40.2.gstreamer1.12/Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.h webkitgtk-2.40.2.gstreamer1.8/Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.h
--- webkitgtk-2.40.2.gstreamer1.12/Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.h	2023-05-29 02:59:44.852173300 -0500
+++ webkitgtk-2.40.2.gstreamer1.8/Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.h	2023-05-30 14:25:03.375349364 -0500
@@ -133,6 +133,7 @@ GRefPtr<WebKitWebSrc> ensureGRef(WebKitW
 template<> WebKitWebSrc* refGPtr<WebKitWebSrc>(WebKitWebSrc* ptr);
 template<> void derefGPtr<WebKitWebSrc>(WebKitWebSrc* ptr);
 
+#if GST_CHECK_VERSION(1, 10, 0)
 template<> GRefPtr<GstStream> adoptGRef(GstStream*);
 template<> GstStream* refGPtr<GstStream>(GstStream*);
 template<> void derefGPtr<GstStream>(GstStream*);
@@ -140,6 +141,7 @@ template<> void derefGPtr<GstStream>(Gst
 template<> GRefPtr<GstStreamCollection> adoptGRef(GstStreamCollection*);
 template<> GstStreamCollection* refGPtr<GstStreamCollection>(GstStreamCollection*);
 template<> void derefGPtr<GstStreamCollection>(GstStreamCollection*);
+#endif
 
 template<> GRefPtr<GstClock> adoptGRef(GstClock*);
 template<> GstClock* refGPtr<GstClock>(GstClock*);
diff -urp webkitgtk-2.40.2.gstreamer1.12/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp webkitgtk-2.40.2.gstreamer1.8/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp
--- webkitgtk-2.40.2.gstreamer1.12/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp	2023-05-30 14:14:09.171895571 -0500
+++ webkitgtk-2.40.2.gstreamer1.8/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp	2023-05-30 14:25:03.375349364 -0500
@@ -362,7 +362,6 @@ void registerWebKitGStreamerElements()
 
 #if ENABLE(VIDEO)
         gst_element_register(0, "webkitwebsrc", GST_RANK_PRIMARY + 100, WEBKIT_TYPE_WEB_SRC);
-        gst_element_register(0, "webkitdmabufvideosink", GST_RANK_NONE, WEBKIT_TYPE_DMABUF_VIDEO_SINK);
 #if USE(GSTREAMER_GL)
         gst_element_register(0, "webkitglvideosink", GST_RANK_NONE, WEBKIT_TYPE_GL_VIDEO_SINK);
 #endif
@@ -775,7 +774,7 @@ PlatformVideoColorSpace videoColorSpaceF
 PlatformVideoColorSpace videoColorSpaceFromInfo(const GstVideoInfo& info)
 {
     ensureGStreamerInitialized();
-#ifndef GST_DISABLE_GST_DEBUG
+#if 0
     GUniquePtr<char> colorimetry(gst_video_colorimetry_to_string(&GST_VIDEO_INFO_COLORIMETRY(&info)));
 #endif
     PlatformVideoColorSpace colorSpace;
@@ -802,7 +801,7 @@ PlatformVideoColorSpace videoColorSpaceF
         colorSpace.matrix = PlatformVideoMatrixCoefficients::Unspecified;
         break;
     default:
-#ifndef GST_DISABLE_GST_DEBUG
+#if 0
         GST_WARNING("Unhandled colorspace matrix from %s", colorimetry.get());
 #endif
         break;
@@ -854,7 +853,7 @@ PlatformVideoColorSpace videoColorSpaceF
         colorSpace.transfer = PlatformVideoTransferCharacteristics::Unspecified;
         break;
     default:
-#ifndef GST_DISABLE_GST_DEBUG
+#if 0
         GST_WARNING("Unhandled colorspace transfer from %s", colorimetry.get());
 #endif
         break;
@@ -899,7 +898,7 @@ PlatformVideoColorSpace videoColorSpaceF
         colorSpace.primaries = PlatformVideoColorPrimaries::Unspecified;
         break;
     default:
-#ifndef GST_DISABLE_GST_DEBUG
+#if 0
         GST_WARNING("Unhandled colorspace primaries from %s", colorimetry.get());
 #endif
         break;
diff -urp webkitgtk-2.40.2.gstreamer1.12/Source/WebCore/platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp webkitgtk-2.40.2.gstreamer1.8/Source/WebCore/platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp
--- webkitgtk-2.40.2.gstreamer1.12/Source/WebCore/platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp	2023-02-20 03:22:18.909743500 -0600
+++ webkitgtk-2.40.2.gstreamer1.8/Source/WebCore/platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp	2023-05-30 14:25:03.379349385 -0500
@@ -43,6 +43,7 @@ InbandTextTrackPrivateGStreamer::InbandT
 {
 }
 
+#if GST_CHECK_VERSION(1, 10, 0)
 InbandTextTrackPrivateGStreamer::InbandTextTrackPrivateGStreamer(unsigned index, GstStream* stream)
     : InbandTextTrackPrivate(CueFormat::WebVTT)
     , TrackPrivateBaseGStreamer(TrackPrivateBaseGStreamer::TrackType::Text, this, index, stream)
@@ -55,6 +56,7 @@ InbandTextTrackPrivateGStreamer::InbandT
     const char* mediaType = capsMediaType(caps.get());
     m_kind = g_str_has_prefix(mediaType, "closedcaption/") ? Kind::Captions : Kind::Subtitles;
 }
+#endif
 
 void InbandTextTrackPrivateGStreamer::handleSample(GRefPtr<GstSample> sample)
 {
diff -urp webkitgtk-2.40.2.gstreamer1.12/Source/WebCore/platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h webkitgtk-2.40.2.gstreamer1.8/Source/WebCore/platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h
--- webkitgtk-2.40.2.gstreamer1.12/Source/WebCore/platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h	2023-02-20 03:22:18.909743500 -0600
+++ webkitgtk-2.40.2.gstreamer1.8/Source/WebCore/platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h	2023-05-30 14:25:03.379349385 -0500
@@ -47,10 +47,12 @@ public:
         return create(index, WTFMove(pad));
     }
 
+#if GST_CHECK_VERSION(1, 10, 0)
     static Ref<InbandTextTrackPrivateGStreamer> create(WeakPtr<MediaPlayerPrivateGStreamer>, unsigned index, GstStream* stream)
     {
         return adoptRef(*new InbandTextTrackPrivateGStreamer(index, stream));
     }
+#endif
 
     Kind kind() const final { return m_kind; }
     AtomString id() const final { return m_id; }
@@ -62,7 +64,9 @@ public:
 
 private:
     InbandTextTrackPrivateGStreamer(unsigned index, GRefPtr<GstPad>&&, bool shouldHandleStreamStartEvent);
+#if GST_CHECK_VERSION(1, 10, 0)
     InbandTextTrackPrivateGStreamer(unsigned index, GstStream*);
+#endif
 
     void notifyTrackOfSample();
 
diff -urp webkitgtk-2.40.2.gstreamer1.12/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp webkitgtk-2.40.2.gstreamer1.8/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
--- webkitgtk-2.40.2.gstreamer1.12/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp	2023-05-30 14:19:09.265479985 -0500
+++ webkitgtk-2.40.2.gstreamer1.8/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp	2023-05-30 14:25:03.383349406 -0500
@@ -1390,6 +1390,7 @@ void MediaPlayerPrivateGStreamer::update
 
 void MediaPlayerPrivateGStreamer::playbin3SendSelectStreamsIfAppropriate()
 {
+#if GST_CHECK_VERSION(1, 10, 0)
     ASSERT(!m_isLegacyPlaybin);
 
     bool haveDifferentStreamIds = (m_wantedAudioStreamId != m_currentAudioStreamId || m_wantedVideoStreamId != m_currentVideoStreamId);
@@ -1419,8 +1420,10 @@ void MediaPlayerPrivateGStreamer::playbi
     m_waitingForStreamsSelectedEvent = true;
     gst_element_send_event(m_pipeline.get(), gst_event_new_select_streams(streams));
     g_list_free_full(streams, reinterpret_cast<GDestroyNotify>(g_free));
+#endif
 }
 
+#if GST_CHECK_VERSION(1, 10, 0)
 void MediaPlayerPrivateGStreamer::updateTracks(const GRefPtr<GstObject>& collectionOwner)
 {
     ASSERT(!m_isLegacyPlaybin);
@@ -1500,6 +1503,7 @@ void MediaPlayerPrivateGStreamer::update
             GST_WARNING("Unknown track type found for stream %s", streamId);
     }
 }
+#endif // GST_CHECK_VERSION(1, 10, 0)
 
 void MediaPlayerPrivateGStreamer::videoChangedCallback(MediaPlayerPrivateGStreamer* player)
 {
@@ -1508,6 +1512,7 @@ void MediaPlayerPrivateGStreamer::videoC
     });
 }
 
+#if GST_CHECK_VERSION(1, 10, 0)
 void MediaPlayerPrivateGStreamer::handleStreamCollectionMessage(GstMessage* message)
 {
     if (m_isLegacyPlaybin)
@@ -1534,6 +1539,7 @@ void MediaPlayerPrivateGStreamer::handle
     callOnMainThreadAndWait(WTFMove(callback));
     GST_DEBUG_OBJECT(pipeline(), "Updating tracks DONE");
 }
+#endif
 
 bool MediaPlayerPrivateGStreamer::handleNeedContextMessage(GstMessage* message)
 {
@@ -1963,6 +1969,7 @@ void MediaPlayerPrivateGStreamer::handle
     case GST_MESSAGE_TOC:
         processTableOfContents(message);
         break;
+#if GST_CHECK_VERSION(1, 10, 0)
     case GST_MESSAGE_STREAMS_SELECTED: {
         if (m_isLegacyPlaybin)
             break;
@@ -1991,6 +1998,7 @@ void MediaPlayerPrivateGStreamer::handle
         playbin3SendSelectStreamsIfAppropriate();
         break;
     }
+#endif
     default:
         GST_DEBUG_OBJECT(pipeline(), "Unhandled GStreamer message type: %s", GST_MESSAGE_TYPE_NAME(message));
         break;
@@ -2818,8 +2826,10 @@ void MediaPlayerPrivateGStreamer::create
     // WEBKIT_GST_USE_PLAYBIN3 environment variable.
     const char* usePlaybin3 = g_getenv("WEBKIT_GST_USE_PLAYBIN3");
     bool isMediaStream = url.protocolIs("mediastream"_s);
+#if GST_CHECK_VERSION(1, 10, 0)
     if (isMediaSource() || isMediaStream || (usePlaybin3 && !strcmp(usePlaybin3, "1")))
         playbinName = "playbin3";
+#endif
 
     ASSERT(!m_pipeline);
 
@@ -2870,9 +2880,11 @@ void MediaPlayerPrivateGStreamer::create
     // initilization segment is parsed and "updateend" is fired. We need therefore to handle these
     // synchronously in the same main thread tick to make the tracks information available to JS no
     // later than "updateend".
+#if GST_CHECK_VERSION(1, 10, 0)
     g_signal_connect_swapped(bus.get(), "sync-message::stream-collection", G_CALLBACK(+[](MediaPlayerPrivateGStreamer* player, GstMessage* message) {
         player->handleStreamCollectionMessage(message);
     }), this);
+#endif
 
     g_object_set(m_pipeline.get(), "mute", static_cast<gboolean>(m_player->muted()), nullptr);
 
@@ -3234,7 +3246,7 @@ static uint32_t fourccValue(GstVideoForm
     return gst_video_format_to_fourcc(format);
 }
 
-static DMABufColorSpace colorSpaceForColorimetry(const GstVideoColorimetry* cinfo)
+static DMABufColorSpace colorSpaceForColorimetry(GstVideoColorimetry* cinfo)
 {
     if (gst_video_colorimetry_matches(cinfo, GST_VIDEO_COLORIMETRY_SRGB))
         return DMABufColorSpace::SRGB;
@@ -3290,8 +3302,12 @@ void MediaPlayerPrivateGStreamer::pushDM
     // the memory:DMABuf feature on the GstCaps object. All sensible decoders yielding DMABufs specify this.
     // For all other decoders, another option is peeking the zero-index GstMemory and testing whether it's
     // a DMABuf memory, i.e. allocated by a DMABuf-capable allocator. If it is, we can proceed the same way.
+#if GST_CHECK_VERSION(1, 10, 0)
     bool isDMABufMemory = gst_caps_features_contains(gst_caps_get_features(caps, 0), GST_CAPS_FEATURE_MEMORY_DMABUF)
         || gst_is_dmabuf_memory(gst_buffer_peek_memory(buffer, 0));
+#else
+    bool isDMABufMemory = false;
+#endif
     if (isDMABufMemory) {
         // In case of a hardware decoder that's yielding dmabuf memory, we can take the relevant data and
         // push it into the composition process.
diff -urp webkitgtk-2.40.2.gstreamer1.12/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h webkitgtk-2.40.2.gstreamer1.8/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h
--- webkitgtk-2.40.2.gstreamer1.12/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h	2023-05-30 14:14:09.175895592 -0500
+++ webkitgtk-2.40.2.gstreamer1.8/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h	2023-05-30 14:25:03.387349428 -0500
@@ -269,8 +269,12 @@ protected:
         AudioChanged = 1 << 2,
         VolumeChanged = 1 << 3,
         MuteChanged = 1 << 4,
+#if GST_CHECK_VERSION (1, 10, 0)
         TextChanged = 1 << 5,
         StreamCollectionChanged = 1 << 7
+#else
+        TextChanged = 1 << 5
+#endif
     };
 
     static bool isAvailable();
@@ -509,7 +513,9 @@ private:
 
     void setPlaybinURL(const URL& urlString);
 
+#if GST_CHECK_VERSION(1, 10, 0)
     void updateTracks(const GRefPtr<GstObject>& collectionOwner);
+#endif
     void videoSinkCapsChanged(GstPad*);
     void updateVideoSizeAndOrientationFromCaps(const GstCaps*);
     bool hasFirstVideoSampleReachedSink() const;
@@ -620,7 +626,9 @@ private:
     RefPtr<GBMBufferSwapchain> m_swapchain;
 #endif
 
+#if GST_CHECK_VERSION (1, 10, 0)
     GRefPtr<GstStreamCollection> m_streamCollection;
+#endif
 
     AbortableTaskQueue m_sinkTaskQueue;
 
diff -urp webkitgtk-2.40.2.gstreamer1.12/Source/WebCore/platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp webkitgtk-2.40.2.gstreamer1.8/Source/WebCore/platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp
--- webkitgtk-2.40.2.gstreamer1.12/Source/WebCore/platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp	2023-02-20 03:22:18.917743700 -0600
+++ webkitgtk-2.40.2.gstreamer1.8/Source/WebCore/platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp	2023-05-30 14:25:03.387349428 -0500
@@ -85,6 +85,7 @@ TrackPrivateBaseGStreamer::TrackPrivateB
     tagsChanged();
 }
 
+#if GST_CHECK_VERSION(1, 10, 0)
 TrackPrivateBaseGStreamer::TrackPrivateBaseGStreamer(TrackType type, TrackPrivateBase* owner, unsigned index, GstStream* stream)
     : m_notifier(MainThreadNotifier<MainThreadNotification>::create())
     , m_index(index)
@@ -102,6 +103,7 @@ TrackPrivateBaseGStreamer::TrackPrivateB
     // We can't call notifyTrackOfTagsChanged() directly, because we need tagsChanged() to setup m_tags.
     tagsChanged();
 }
+#endif
 
 void TrackPrivateBaseGStreamer::setPad(GRefPtr<GstPad>&& pad)
 {
@@ -137,8 +139,10 @@ TrackPrivateBaseGStreamer::~TrackPrivate
 
 void TrackPrivateBaseGStreamer::disconnect()
 {
+#if GST_CHECK_VERSION(1, 10, 0)
     if (m_stream)
         g_signal_handlers_disconnect_matched(m_stream.get(), G_SIGNAL_MATCH_DATA, 0, 0, nullptr, nullptr, this);
+#endif
 
     m_tags.clear();
 
@@ -173,8 +177,11 @@ void TrackPrivateBaseGStreamer::tagsChan
             }
             i++;
         } while (tagEvent);
-    } else if (m_stream)
+    }
+#if GST_CHECK_VERSION(1, 10, 0)
+  else if (m_stream)
         tags = adoptGRef(gst_stream_get_tags(m_stream.get()));
+#endif
 
     if (!tags)
         tags = adoptGRef(gst_tag_list_new_empty());
diff -urp webkitgtk-2.40.2.gstreamer1.12/Source/WebCore/platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h webkitgtk-2.40.2.gstreamer1.8/Source/WebCore/platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h
--- webkitgtk-2.40.2.gstreamer1.12/Source/WebCore/platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h	2023-02-20 03:22:18.921743600 -0600
+++ webkitgtk-2.40.2.gstreamer1.8/Source/WebCore/platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h	2023-05-30 14:25:03.387349428 -0500
@@ -59,7 +59,9 @@ public:
 
     void setIndex(unsigned index) { m_index =  index; }
 
+#if GST_CHECK_VERSION(1, 10, 0)
     GstStream* stream() const { return m_stream.get(); }
+#endif
 
     // Used for MSE, where the initial caps of the pad are relevant for initializing the matching pad in the
     // playback pipeline.
@@ -68,7 +70,9 @@ public:
 
 protected:
     TrackPrivateBaseGStreamer(TrackType, TrackPrivateBase*, unsigned index, GRefPtr<GstPad>&&, bool shouldHandleStreamStartEvent);
+#if GST_CHECK_VERSION(1, 10, 0)
     TrackPrivateBaseGStreamer(TrackType, TrackPrivateBase*, unsigned index, GstStream*);
+#endif
 
     void notifyTrackOfTagsChanged();
     void notifyTrackOfStreamChanged();
@@ -86,7 +90,9 @@ protected:
     AtomString m_id;
     GRefPtr<GstPad> m_pad;
     GRefPtr<GstPad> m_bestUpstreamPad;
+#if GST_CHECK_VERSION(1, 10, 0)
     GRefPtr<GstStream> m_stream;
+#endif
     unsigned long m_eventProbe { 0 };
     GRefPtr<GstCaps> m_initialCaps;
 
diff -urp webkitgtk-2.40.2.gstreamer1.12/Source/WebCore/platform/graphics/gstreamer/VideoTrackPrivateGStreamer.cpp webkitgtk-2.40.2.gstreamer1.8/Source/WebCore/platform/graphics/gstreamer/VideoTrackPrivateGStreamer.cpp
--- webkitgtk-2.40.2.gstreamer1.12/Source/WebCore/platform/graphics/gstreamer/VideoTrackPrivateGStreamer.cpp	2023-03-08 03:00:32.714699000 -0600
+++ webkitgtk-2.40.2.gstreamer1.8/Source/WebCore/platform/graphics/gstreamer/VideoTrackPrivateGStreamer.cpp	2023-05-30 14:25:03.387349428 -0500
@@ -54,6 +54,7 @@ VideoTrackPrivateGStreamer::VideoTrackPr
     ensureDebugCategoryInitialized();
 }
 
+#if GST_CHECK_VERSION(1, 10, 0)
 VideoTrackPrivateGStreamer::VideoTrackPrivateGStreamer(WeakPtr<MediaPlayerPrivateGStreamer> player, unsigned index, GstStream* stream)
     : TrackPrivateBaseGStreamer(TrackPrivateBaseGStreamer::TrackType::Video, this, index, stream)
     , m_player(player)
@@ -148,11 +149,14 @@ void VideoTrackPrivateGStreamer::updateC
     configuration.codec = String::fromLatin1(codec.get());
 #endif
 }
+#endif
 
 VideoTrackPrivate::Kind VideoTrackPrivateGStreamer::kind() const
 {
+#if GST_CHECK_VERSION(1, 10, 0)
     if (m_stream && gst_stream_get_stream_flags(m_stream.get()) & GST_STREAM_FLAG_SELECT)
         return VideoTrackPrivate::Kind::Main;
+#endif
 
     return VideoTrackPrivate::kind();
 }
@@ -161,8 +165,10 @@ void VideoTrackPrivateGStreamer::disconn
 {
     m_taskQueue.startAborting();
 
+#if GST_CHECK_VERSION(1, 10, 0)
     if (m_stream)
         g_signal_handlers_disconnect_matched(m_stream.get(), G_SIGNAL_MATCH_DATA, 0, 0, nullptr, nullptr, this);
+#endif
 
     m_player = nullptr;
     TrackPrivateBaseGStreamer::disconnect();
diff -urp webkitgtk-2.40.2.gstreamer1.12/Source/WebCore/platform/graphics/gstreamer/VideoTrackPrivateGStreamer.h webkitgtk-2.40.2.gstreamer1.8/Source/WebCore/platform/graphics/gstreamer/VideoTrackPrivateGStreamer.h
--- webkitgtk-2.40.2.gstreamer1.12/Source/WebCore/platform/graphics/gstreamer/VideoTrackPrivateGStreamer.h	2023-02-20 03:22:18.925743600 -0600
+++ webkitgtk-2.40.2.gstreamer1.8/Source/WebCore/platform/graphics/gstreamer/VideoTrackPrivateGStreamer.h	2023-05-30 14:25:03.391349448 -0500
@@ -44,10 +44,12 @@ public:
         return adoptRef(*new VideoTrackPrivateGStreamer(player, index, WTFMove(pad), shouldHandleStreamStartEvent));
     }
 
+#if GST_CHECK_VERSION(1, 10, 0)
     static Ref<VideoTrackPrivateGStreamer> create(WeakPtr<MediaPlayerPrivateGStreamer> player, unsigned index, GstStream* stream)
     {
         return adoptRef(*new VideoTrackPrivateGStreamer(player, index, stream));
     }
+#endif
 
     Kind kind() const final;
 
@@ -64,12 +66,16 @@ public:
     AbortableTaskQueue m_taskQueue;
 
 protected:
+#if GST_CHECK_VERSION(1, 10, 0)
     void updateConfigurationFromCaps();
     void updateConfigurationFromTags();
+#endif
 
 private:
     VideoTrackPrivateGStreamer(WeakPtr<MediaPlayerPrivateGStreamer>, unsigned index, GRefPtr<GstPad>&&, bool shouldHandleStreamStartEvent);
+#if GST_CHECK_VERSION(1, 10, 0)
     VideoTrackPrivateGStreamer(WeakPtr<MediaPlayerPrivateGStreamer>, unsigned index, GstStream*);
+#endif
 
     WeakPtr<MediaPlayerPrivateGStreamer> m_player;
 };
diff -urp webkitgtk-2.40.2.gstreamer1.12/Source/WebCore/platform/graphics/gstreamer/WebKitAudioSinkGStreamer.cpp webkitgtk-2.40.2.gstreamer1.8/Source/WebCore/platform/graphics/gstreamer/WebKitAudioSinkGStreamer.cpp
--- webkitgtk-2.40.2.gstreamer1.12/Source/WebCore/platform/graphics/gstreamer/WebKitAudioSinkGStreamer.cpp	2023-05-30 14:14:09.175895592 -0500
+++ webkitgtk-2.40.2.gstreamer1.8/Source/WebCore/platform/graphics/gstreamer/WebKitAudioSinkGStreamer.cpp	2023-05-30 14:25:03.391349448 -0500
@@ -300,7 +300,6 @@ static void webKitAudioSinkConstructed(G
     GST_CALL_PARENT(G_OBJECT_CLASS, constructed, (object));
 
     GST_OBJECT_FLAG_SET(GST_OBJECT_CAST(object), GST_ELEMENT_FLAG_SINK);
-    gst_bin_set_suppressed_flags(GST_BIN_CAST(object), static_cast<GstElementFlags>(GST_ELEMENT_FLAG_SOURCE | GST_ELEMENT_FLAG_SINK));
 }
 
 static void webkit_audio_sink_class_init(WebKitAudioSinkClass* klass)
diff -urp webkitgtk-2.40.2.gstreamer1.12/Source/WebCore/platform/graphics/ImageDecoder.cpp webkitgtk-2.40.2.gstreamer1.8/Source/WebCore/platform/graphics/ImageDecoder.cpp
--- webkitgtk-2.40.2.gstreamer1.12/Source/WebCore/platform/graphics/ImageDecoder.cpp	2023-02-20 03:22:18.597742300 -0600
+++ webkitgtk-2.40.2.gstreamer1.8/Source/WebCore/platform/graphics/ImageDecoder.cpp	2023-05-30 14:25:03.391349448 -0500
@@ -40,10 +40,6 @@
 #include "ImageDecoderAVFObjC.h"
 #endif
 
-#if USE(GSTREAMER) && ENABLE(VIDEO)
-#include "ImageDecoderGStreamer.h"
-#endif
-
 namespace WebCore {
 
 #if ENABLE(GPU_PROCESS) && HAVE(AVASSETREADER)
@@ -100,11 +96,6 @@ RefPtr<ImageDecoder> ImageDecoder::creat
     }
 #endif
 
-#if USE(GSTREAMER) && ENABLE(VIDEO)
-    if (ImageDecoderGStreamer::canDecodeType(mimeType))
-        return ImageDecoderGStreamer::create(data, mimeType, alphaOption, gammaAndColorProfileOption);
-#endif
-
 #if USE(CG)
 #if USE(AVIF)
     // ScalableImageDecoder is used on CG ports for some specific image formats which the platform doesn't support directly.
@@ -139,11 +130,6 @@ bool ImageDecoder::supportsMediaType(Med
 #endif
 #endif
 
-#if USE(GSTREAMER) && ENABLE(VIDEO)
-    if (ImageDecoderGStreamer::supportsMediaType(type))
-        return true;
-#endif
-
     return false;
 }
 
diff -urp webkitgtk-2.40.2.gstreamer1.12/Source/WebCore/platform/GStreamer.cmake webkitgtk-2.40.2.gstreamer1.8/Source/WebCore/platform/GStreamer.cmake
--- webkitgtk-2.40.2.gstreamer1.12/Source/WebCore/platform/GStreamer.cmake	2023-02-20 03:22:17.853739500 -0600
+++ webkitgtk-2.40.2.gstreamer1.8/Source/WebCore/platform/GStreamer.cmake	2023-05-30 14:25:03.391349448 -0500
@@ -28,7 +28,6 @@ if (ENABLE_VIDEO OR ENABLE_WEB_AUDIO)
 
         platform/graphics/gstreamer/AppSinkWorkaround.cpp
         platform/graphics/gstreamer/AudioTrackPrivateGStreamer.cpp
-        platform/graphics/gstreamer/DMABufVideoSinkGStreamer.cpp
         platform/graphics/gstreamer/GLVideoSinkGStreamer.cpp
         platform/graphics/gstreamer/GRefPtrGStreamer.cpp
         platform/graphics/gstreamer/GStreamerAudioMixer.cpp
@@ -37,7 +36,6 @@ if (ENABLE_VIDEO OR ENABLE_WEB_AUDIO)
         platform/graphics/gstreamer/GStreamerRegistryScanner.cpp
         platform/graphics/gstreamer/GStreamerVideoFrameHolder.cpp
         platform/graphics/gstreamer/GStreamerVideoSinkCommon.cpp
-        platform/graphics/gstreamer/ImageDecoderGStreamer.cpp
         platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp
         platform/graphics/gstreamer/MediaEngineConfigurationFactoryGStreamer.cpp
         platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
diff -urp webkitgtk-2.40.2.gstreamer1.12/Source/WebCore/platform/MIMETypeRegistry.cpp webkitgtk-2.40.2.gstreamer1.8/Source/WebCore/platform/MIMETypeRegistry.cpp
--- webkitgtk-2.40.2.gstreamer1.12/Source/WebCore/platform/MIMETypeRegistry.cpp	2023-02-20 03:22:17.965740000 -0600
+++ webkitgtk-2.40.2.gstreamer1.8/Source/WebCore/platform/MIMETypeRegistry.cpp	2023-05-30 14:25:03.391349448 -0500
@@ -59,10 +59,6 @@
 #include "PreviewConverter.h"
 #endif
 
-#if USE(GSTREAMER) && ENABLE(VIDEO)
-#include "ImageDecoderGStreamer.h"
-#endif
-
 namespace WebCore {
 
 static String normalizedImageMIMEType(const String&);
@@ -436,11 +432,6 @@ bool MIMETypeRegistry::isSupportedImageV
         return true;
 #endif
 
-#if USE(GSTREAMER) && ENABLE(VIDEO)
-    if (ImageDecoderGStreamer::supportsContainerType(mimeType))
-        return true;
-#endif
-
     return false;
 }
 
openSUSE Build Service is sponsored by