File webkit2gtk3-old-gstreamer.patch of Package webkit2gtk3.14791
diff -urp webkitgtk-2.28.0.gtk/Source/cmake/GStreamerChecks.cmake webkitgtk-2.28.0/Source/cmake/GStreamerChecks.cmake
--- webkitgtk-2.28.0.gtk/Source/cmake/GStreamerChecks.cmake 2020-02-04 04:24:08.000000000 -0600
+++ webkitgtk-2.28.0/Source/cmake/GStreamerChecks.cmake 2020-03-19 16:01:09.256012367 -0500
@@ -10,7 +10,7 @@ if (ENABLE_VIDEO OR ENABLE_WEB_AUDIO)
SET_AND_EXPOSE_TO_BUILD(USE_WEBAUDIO_GSTREAMER TRUE)
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)
@@ -26,24 +26,39 @@ if (ENABLE_VIDEO OR ENABLE_WEB_AUDIO)
endif ()
endif ()
- if (USE_GSTREAMER_MPEGTS AND NOT PC_GSTREAMER_MPEGTS_FOUND)
- message(FATAL_ERROR "GStreamer MPEG-TS is needed for USE_GSTREAMER_MPEGTS.")
+ if (USE_GSTREAMER_MPEGTS)
+ if (NOT PC_GSTREAMER_MPEGTS_FOUND)
+ message(FATAL_ERROR "GStreamer MPEG-TS is needed for USE_GSTREAMER_MPEGTS.")
+ endif ()
endif ()
- if (USE_GSTREAMER_GL AND NOT PC_GSTREAMER_GL_FOUND)
- message(FATAL_ERROR "GStreamerGL is needed for USE_GSTREAMER_GL.")
+ if (USE_GSTREAMER_GL)
+ if (PC_GSTREAMER_VERSION VERSION_LESS "1.10")
+ message(FATAL_ERROR "GStreamer 1.10 is needed for USE_GSTREAMER_GL.")
+ else ()
+ if (NOT PC_GSTREAMER_GL_FOUND)
+ message(FATAL_ERROR "GStreamerGL is needed for USE_GSTREAMER_GL.")
+ endif ()
+ endif ()
endif ()
SET_AND_EXPOSE_TO_BUILD(USE_GSTREAMER TRUE)
endif ()
-if (ENABLE_MEDIA_SOURCE AND PC_GSTREAMER_VERSION VERSION_LESS "1.14")
- message(FATAL_ERROR "GStreamer 1.14 is needed for ENABLE_MEDIA_SOURCE.")
+if (ENABLE_MEDIA_SOURCE)
+ if (PC_GSTREAMER_VERSION VERSION_LESS "1.14")
+ message(FATAL_ERROR "GStreamer 1.14 is needed for ENABLE_MEDIA_SOURCE.")
+ endif ()
endif ()
if (ENABLE_MEDIA_STREAM OR ENABLE_WEB_RTC)
- SET_AND_EXPOSE_TO_BUILD(USE_LIBWEBRTC TRUE)
- SET_AND_EXPOSE_TO_BUILD(WEBRTC_WEBKIT_BUILD TRUE)
+ if (PC_GSTREAMER_VERSION VERSION_LESS "1.10")
+ SET_AND_EXPOSE_TO_BUILD(USE_LIBWEBRTC FALSE)
+ SET_AND_EXPOSE_TO_BUILD(WEBRTC_WEBKIT_BUILD FALSE)
+ else ()
+ SET_AND_EXPOSE_TO_BUILD(USE_LIBWEBRTC TRUE)
+ SET_AND_EXPOSE_TO_BUILD(WEBRTC_WEBKIT_BUILD TRUE)
+ endif ()
else ()
SET_AND_EXPOSE_TO_BUILD(USE_LIBWEBRTC FALSE)
SET_AND_EXPOSE_TO_BUILD(WEBRTC_WEBKIT_BUILD FALSE)
diff -urp webkitgtk-2.28.0.gtk/Source/WebCore/platform/graphics/gstreamer/AudioTrackPrivateGStreamer.cpp webkitgtk-2.28.0/Source/WebCore/platform/graphics/gstreamer/AudioTrackPrivateGStreamer.cpp
--- webkitgtk-2.28.0.gtk/Source/WebCore/platform/graphics/gstreamer/AudioTrackPrivateGStreamer.cpp 2020-02-04 04:24:08.000000000 -0600
+++ webkitgtk-2.28.0/Source/WebCore/platform/graphics/gstreamer/AudioTrackPrivateGStreamer.cpp 2020-03-19 16:01:09.256012367 -0500
@@ -43,6 +43,7 @@ AudioTrackPrivateGStreamer::AudioTrackPr
notifyTrackOfActiveChanged();
}
+#if GST_CHECK_VERSION(1, 10, 0)
AudioTrackPrivateGStreamer::AudioTrackPrivateGStreamer(WeakPtr<MediaPlayerPrivateGStreamer> player, gint index, GRefPtr<GstStream> stream)
: TrackPrivateBaseGStreamer(this, index, stream)
, m_player(player)
@@ -69,6 +70,7 @@ AudioTrackPrivate::Kind AudioTrackPrivat
return AudioTrackPrivate::kind();
}
+#endif
void AudioTrackPrivateGStreamer::disconnect()
{
diff -urp webkitgtk-2.28.0.gtk/Source/WebCore/platform/graphics/gstreamer/AudioTrackPrivateGStreamer.h webkitgtk-2.28.0/Source/WebCore/platform/graphics/gstreamer/AudioTrackPrivateGStreamer.h
--- webkitgtk-2.28.0.gtk/Source/WebCore/platform/graphics/gstreamer/AudioTrackPrivateGStreamer.h 2020-02-04 04:24:08.000000000 -0600
+++ webkitgtk-2.28.0/Source/WebCore/platform/graphics/gstreamer/AudioTrackPrivateGStreamer.h 2020-03-19 16:01:09.260012388 -0500
@@ -43,12 +43,14 @@ public:
return adoptRef(*new AudioTrackPrivateGStreamer(player, index, pad));
}
+#if GST_CHECK_VERSION(1, 10, 0)
static RefPtr<AudioTrackPrivateGStreamer> create(WeakPtr<MediaPlayerPrivateGStreamer> player, gint index, GRefPtr<GstStream> stream)
{
return adoptRef(*new AudioTrackPrivateGStreamer(player, index, stream));
}
Kind kind() const final;
+#endif
void disconnect() override;
@@ -64,7 +66,9 @@ public:
private:
AudioTrackPrivateGStreamer(WeakPtr<MediaPlayerPrivateGStreamer>, gint index, GRefPtr<GstPad>);
+#if GST_CHECK_VERSION(1, 10, 0)
AudioTrackPrivateGStreamer(WeakPtr<MediaPlayerPrivateGStreamer>, gint index, GRefPtr<GstStream>);
+#endif
AtomString m_id;
WeakPtr<MediaPlayerPrivateGStreamer> m_player;
diff -urp webkitgtk-2.28.0.gtk/Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.cpp webkitgtk-2.28.0/Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.cpp
--- webkitgtk-2.28.0.gtk/Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.cpp 2020-02-04 04:24:08.000000000 -0600
+++ webkitgtk-2.28.0/Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.cpp 2020-03-19 16:01:09.260012388 -0500
@@ -378,6 +378,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);
@@ -415,6 +416,7 @@ template <> void derefGPtr<GstStreamColl
if (ptr)
gst_object_unref(ptr);
}
+#endif
template <> GRefPtr<WebKitVideoSink> adoptGRef(WebKitVideoSink* ptr)
{
diff -urp webkitgtk-2.28.0.gtk/Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.h webkitgtk-2.28.0/Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.h
--- webkitgtk-2.28.0.gtk/Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.h 2020-02-04 04:24:08.000000000 -0600
+++ webkitgtk-2.28.0/Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.h 2020-03-19 16:01:09.260012388 -0500
@@ -116,6 +116,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*);
@@ -123,6 +124,7 @@ template<> void derefGPtr<GstStream>(Gst
template<> GRefPtr<GstStreamCollection> adoptGRef(GstStreamCollection*);
template<> GstStreamCollection* refGPtr<GstStreamCollection>(GstStreamCollection*);
template<> void derefGPtr<GstStreamCollection>(GstStreamCollection*);
+#endif
#if USE(GSTREAMER_GL)
template<> GRefPtr<GstGLDisplay> adoptGRef(GstGLDisplay* ptr);
diff -urp webkitgtk-2.28.0.gtk/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp webkitgtk-2.28.0/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp
--- webkitgtk-2.28.0.gtk/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp 2020-02-04 04:24:08.000000000 -0600
+++ webkitgtk-2.28.0/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp 2020-03-19 16:01:09.260012388 -0500
@@ -44,7 +44,7 @@
#include "WebKitMediaSourceGStreamer.h"
#endif
-#if ENABLE(MEDIA_STREAM)
+#if ENABLE(MEDIA_STREAM) && GST_CHECK_VERSION(1, 10, 0)
#include "GStreamerMediaStreamSource.h"
#endif
@@ -287,8 +287,9 @@ bool initializeGStreamerAndRegisterWebKi
gst_element_register(nullptr, "webkitclearkey", GST_RANK_PRIMARY + 100, WEBKIT_TYPE_MEDIA_CK_DECRYPT);
#endif
-#if ENABLE(MEDIA_STREAM)
- gst_element_register(nullptr, "mediastreamsrc", GST_RANK_PRIMARY, WEBKIT_TYPE_MEDIA_STREAM_SRC);
+#if ENABLE(MEDIA_STREAM) && GST_CHECK_VERSION(1, 10, 0)
+ if (webkitGstCheckVersion(1, 10, 0))
+ gst_element_register(nullptr, "mediastreamsrc", GST_RANK_PRIMARY, WEBKIT_TYPE_MEDIA_STREAM_SRC);
#endif
#if ENABLE(MEDIA_SOURCE)
diff -urp webkitgtk-2.28.0.gtk/Source/WebCore/platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp webkitgtk-2.28.0/Source/WebCore/platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp
--- webkitgtk-2.28.0.gtk/Source/WebCore/platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp 2020-02-04 04:24:08.000000000 -0600
+++ webkitgtk-2.28.0/Source/WebCore/platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp 2020-03-19 16:01:09.264012409 -0500
@@ -58,6 +58,7 @@ InbandTextTrackPrivateGStreamer::InbandT
notifyTrackOfStreamChanged();
}
+#if GST_CHECK_VERSION(1, 10, 0)
InbandTextTrackPrivateGStreamer::InbandTextTrackPrivateGStreamer(gint index, GRefPtr<GstStream> stream)
: InbandTextTrackPrivate(WebVTT)
, TrackPrivateBaseGStreamer(this, index, stream)
@@ -65,6 +66,7 @@ InbandTextTrackPrivateGStreamer::InbandT
m_streamId = gst_stream_get_stream_id(stream.get());
GST_INFO("Track %d got stream start for stream %s.", m_index, m_streamId.utf8().data());
}
+#endif
void InbandTextTrackPrivateGStreamer::disconnect()
{
diff -urp webkitgtk-2.28.0.gtk/Source/WebCore/platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h webkitgtk-2.28.0/Source/WebCore/platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h
--- webkitgtk-2.28.0.gtk/Source/WebCore/platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h 2020-02-04 04:24:08.000000000 -0600
+++ webkitgtk-2.28.0/Source/WebCore/platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h 2020-03-19 16:01:09.264012409 -0500
@@ -44,10 +44,12 @@ public:
return adoptRef(*new InbandTextTrackPrivateGStreamer(index, pad));
}
+#if GST_CHECK_VERSION(1, 10, 0)
static Ref<InbandTextTrackPrivateGStreamer> create(gint index, GRefPtr<GstStream> stream)
{
return adoptRef(*new InbandTextTrackPrivateGStreamer(index, stream));
}
+#endif
void disconnect() override;
@@ -61,7 +63,9 @@ public:
private:
InbandTextTrackPrivateGStreamer(gint index, GRefPtr<GstPad>);
+#if GST_CHECK_VERSION(1, 10, 0)
InbandTextTrackPrivateGStreamer(gint index, GRefPtr<GstStream>);
+#endif
void streamChanged();
diff -urp webkitgtk-2.28.0.gtk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp webkitgtk-2.28.0/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
--- webkitgtk-2.28.0.gtk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp 2020-02-26 04:27:47.000000000 -0600
+++ webkitgtk-2.28.0/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp 2020-03-23 11:25:52.137866077 -0500
@@ -54,7 +54,7 @@
#include "VideoTrackPrivateGStreamer.h"
#endif // ENABLE(VIDEO_TRACK)
-#if ENABLE(MEDIA_STREAM)
+#if ENABLE(MEDIA_STREAM) && GST_CHECK_VERSION(1, 10, 0)
#include "GStreamerMediaStreamSource.h"
#endif
@@ -100,6 +100,7 @@
#undef GST_USE_UNSTABLE_API
#endif // ENABLE(VIDEO_TRACK) && USE(GSTREAMER_MPEGTS)
+#if GST_CHECK_VERSION(1, 10, 0)
#if ENABLE(VIDEO_TRACK)
#define CREATE_TRACK(type, Type) G_STMT_START { \
m_has##Type = true; \
@@ -121,6 +122,7 @@
m_has##Type## = true; \
} G_STMT_END
#endif // ENABLE(VIDEO_TRACK)
+#endif // GST_CHECK_VERSION(1, 10, 0)
#if USE(GSTREAMER_GL)
#include "GLVideoSinkGStreamer.h"
@@ -635,6 +637,7 @@ void MediaPlayerPrivateGStreamer::load(c
#if ENABLE(MEDIA_STREAM)
void MediaPlayerPrivateGStreamer::load(MediaStreamPrivate& stream)
{
+#if GST_CHECK_VERSION(1, 10, 0)
m_streamPrivate = &stream;
static Atomic<uint32_t> pipelineId;
auto pipelineName = makeString("mediastream-", pipelineId.exchangeAdd(1));
@@ -643,6 +646,12 @@ void MediaPlayerPrivateGStreamer::load(M
syncOnClock(false);
m_player->play();
+#else
+ // Properly fail so the global MediaPlayer tries to fallback to the next MediaPlayerPrivate.
+ m_networkState = MediaPlayer::FormatError;
+ m_player->networkStateChanged();
+ notImplemented();
+#endif
}
#endif
@@ -1146,7 +1155,7 @@ void MediaPlayerPrivateGStreamer::source
if (WEBKIT_IS_WEB_SRC(m_source.get())) {
webKitWebSrcSetMediaPlayer(WEBKIT_WEB_SRC_CAST(m_source.get()), m_player);
g_signal_connect(GST_ELEMENT_PARENT(m_source.get()), "element-added", G_CALLBACK(uriDecodeBinElementAddedCallback), this);
-#if ENABLE(MEDIA_STREAM)
+#if ENABLE(MEDIA_STREAM) && GST_CHECK_VERSION(1, 10, 0)
} else if (WEBKIT_IS_MEDIA_STREAM_SRC(sourceElement)) {
auto stream = m_streamPrivate.get();
ASSERT(stream);
@@ -1653,6 +1662,7 @@ void MediaPlayerPrivateGStreamer::enable
Vector<String> selectedStreams;
String selectedStreamId;
+#if GST_CHECK_VERSION(1, 10, 0)
GstStream* stream = nullptr;
if (!m_isLegacyPlaybin) {
@@ -1664,6 +1674,7 @@ void MediaPlayerPrivateGStreamer::enable
selectedStreamId = String::fromUTF8(gst_stream_get_stream_id(stream));
selectedStreams.append(selectedStreamId);
}
+#endif // GST_CHECK_VERSION(1, 10, 0)
switch (trackType) {
case TrackPrivateBaseGStreamer::TrackType::Audio:
@@ -1714,6 +1725,7 @@ void MediaPlayerPrivateGStreamer::enable
GST_INFO_OBJECT(pipeline(), "Enabling %s track with index: %u", trackTypeAsString, index);
if (m_isLegacyPlaybin)
g_object_set(m_pipeline.get(), propertyName, index, nullptr);
+#if GST_CHECK_VERSION(1, 10, 0)
else {
GList* selectedStreamsList = nullptr;
@@ -1724,8 +1736,10 @@ void MediaPlayerPrivateGStreamer::enable
gst_element_send_event(m_pipeline.get(), gst_event_new_select_streams(selectedStreamsList));
g_list_free_full(selectedStreamsList, reinterpret_cast<GDestroyNotify>(g_free));
}
+#endif
}
+#if GST_CHECK_VERSION(1, 10, 0)
void MediaPlayerPrivateGStreamer::updateTracks()
{
ASSERT(!m_isLegacyPlaybin);
@@ -1775,6 +1789,7 @@ void MediaPlayerPrivateGStreamer::clearT
CLEAR_TRACKS(m_textTracks, m_player->removeTextTrack);
#endif // ENABLE(VIDEO_TRACK)
}
+#endif // GST_CHECK_VERSION(1, 10, 0)
void MediaPlayerPrivateGStreamer::videoChangedCallback(MediaPlayerPrivateGStreamer* player)
{
@@ -1802,6 +1817,7 @@ void MediaPlayerPrivateGStreamer::setPip
bool MediaPlayerPrivateGStreamer::handleSyncMessage(GstMessage* message)
{
+#if GST_CHECK_VERSION(1, 10, 0)
if (GST_MESSAGE_TYPE(message) == GST_MESSAGE_STREAM_COLLECTION && !m_isLegacyPlaybin) {
GRefPtr<GstStreamCollection> collection;
gst_message_parse_stream_collection(message, &collection.outPtr());
@@ -1813,6 +1829,7 @@ bool MediaPlayerPrivateGStreamer::handle
});
}
}
+#endif
if (GST_MESSAGE_TYPE(message) != GST_MESSAGE_NEED_CONTEXT)
return false;
@@ -2300,6 +2317,7 @@ void MediaPlayerPrivateGStreamer::handle
gst_tag_list_unref(tags);
break;
}
+#if GST_CHECK_VERSION(1, 10, 0)
case GST_MESSAGE_STREAMS_SELECTED: {
GRefPtr<GstStreamCollection> collection;
gst_message_parse_streams_selected(message, &collection.outPtr());
@@ -2342,6 +2360,7 @@ void MediaPlayerPrivateGStreamer::handle
}
break;
}
+#endif
default:
GST_DEBUG_OBJECT(pipeline(), "Unhandled GStreamer message type: %s", GST_MESSAGE_TYPE_NAME(message));
break;
@@ -2930,7 +2949,7 @@ MediaPlayer::SupportsType MediaPlayerPri
return result;
#endif
-#if !ENABLE(MEDIA_STREAM)
+#if !ENABLE(MEDIA_STREAM) || !GST_CHECK_VERSION(1, 10, 0)
if (parameters.isMediaStream)
return result;
#endif
@@ -2987,8 +3006,10 @@ void MediaPlayerPrivateGStreamer::create
// MSE doesn't support playbin3. Mediastream requires playbin3. Regular
// playback can use playbin3 on-demand with the WEBKIT_GST_USE_PLAYBIN3
// environment variable.
+#if GST_CHECK_VERSION(1, 10, 0)
if ((!isMediaSource() && g_getenv("WEBKIT_GST_USE_PLAYBIN3")) || url.protocolIs("mediastream"))
playbinName = "playbin3";
+#endif
if (m_pipeline) {
if (!g_strcmp0(GST_OBJECT_NAME(gst_element_get_factory(m_pipeline.get())), playbinName)) {
diff -urp webkitgtk-2.28.0.gtk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h webkitgtk-2.28.0/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h
--- webkitgtk-2.28.0.gtk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h 2020-02-04 04:24:08.000000000 -0600
+++ webkitgtk-2.28.0/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h 2020-03-23 11:39:58.346390744 -0500
@@ -235,7 +235,9 @@ protected:
TextChanged = 1 << 5,
#endif
SizeChanged = 1 << 6,
+#if GST_CHECK_VERSION(1, 10, 0)
StreamCollectionChanged = 1 << 7
+#endif
};
static bool isAvailable();
@@ -443,8 +445,10 @@ private:
void setPlaybinURL(const URL& urlString);
void loadFull(const String& url, const String& pipelineName);
+#if GST_CHECK_VERSION(1, 10, 0)
void updateTracks();
void clearTracks();
+#endif
#if ENABLE(ENCRYPTED_MEDIA)
bool isCDMAttached() const { return m_cdmInstance; }
@@ -489,7 +493,9 @@ private:
bool m_shouldPreservePitch { false };
mutable Optional<Seconds> m_lastQueryTime;
bool m_isLegacyPlaybin;
+#if GST_CHECK_VERSION(1, 10, 0)
GRefPtr<GstStreamCollection> m_streamCollection;
+#endif
#if ENABLE(MEDIA_STREAM)
RefPtr<MediaStreamPrivate> m_streamPrivate;
#endif
diff -urp webkitgtk-2.28.0.gtk/Source/WebCore/platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp webkitgtk-2.28.0/Source/WebCore/platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp
--- webkitgtk-2.28.0.gtk/Source/WebCore/platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp 2020-02-04 04:24:08.000000000 -0600
+++ webkitgtk-2.28.0/Source/WebCore/platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp 2020-03-19 16:02:33.904465011 -0500
@@ -58,6 +58,7 @@ TrackPrivateBaseGStreamer::TrackPrivateB
tagsChanged();
}
+#if GST_CHECK_VERSION(1, 10, 0)
TrackPrivateBaseGStreamer::TrackPrivateBaseGStreamer(TrackPrivateBase* owner, gint index, GRefPtr<GstStream> stream)
: m_notifier(MainThreadNotifier<MainThreadNotification>::create())
, m_index(index)
@@ -69,6 +70,7 @@ TrackPrivateBaseGStreamer::TrackPrivateB
// We can't call notifyTrackOfTagsChanged() directly, because we need tagsChanged() to setup m_tags.
tagsChanged();
}
+#endif
TrackPrivateBaseGStreamer::~TrackPrivateBaseGStreamer()
{
@@ -80,8 +82,10 @@ void TrackPrivateBaseGStreamer::disconne
{
m_tags.clear();
+#if GST_CHECK_VERSION(1, 10, 0)
if (m_stream)
m_stream.clear();
+#endif
m_notifier->cancelPendingNotifications();
@@ -111,8 +115,10 @@ void TrackPrivateBaseGStreamer::tagsChan
else
tags = adoptGRef(gst_tag_list_new_empty());
}
+#if GST_CHECK_VERSION(1, 10, 0)
else if (m_stream)
tags = adoptGRef(gst_stream_get_tags(m_stream.get()));
+#endif
else
tags = adoptGRef(gst_tag_list_new_empty());
diff -urp webkitgtk-2.28.0.gtk/Source/WebCore/platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h webkitgtk-2.28.0/Source/WebCore/platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h
--- webkitgtk-2.28.0.gtk/Source/WebCore/platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h 2020-02-04 04:24:08.000000000 -0600
+++ webkitgtk-2.28.0/Source/WebCore/platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h 2020-03-19 16:02:33.904465011 -0500
@@ -56,15 +56,18 @@ public:
void setIndex(int index) { m_index = index; }
+#if GST_CHECK_VERSION(1, 10, 0)
GstStream* stream()
{
return m_stream.get();
}
+#endif
protected:
TrackPrivateBaseGStreamer(TrackPrivateBase* owner, gint index, GRefPtr<GstPad>);
+#if GST_CHECK_VERSION(1, 10, 0)
TrackPrivateBaseGStreamer(TrackPrivateBase* owner, gint index, GRefPtr<GstStream>);
-
+#endif
void notifyTrackOfActiveChanged();
void notifyTrackOfTagsChanged();
@@ -80,7 +83,9 @@ protected:
AtomString m_label;
AtomString m_language;
GRefPtr<GstPad> m_pad;
+#if GST_CHECK_VERSION(1, 10, 0)
GRefPtr<GstStream> m_stream;
+#endif
private:
bool getLanguageCode(GstTagList* tags, AtomString& value);
diff -urp webkitgtk-2.28.0.gtk/Source/WebCore/platform/graphics/gstreamer/VideoTrackPrivateGStreamer.cpp webkitgtk-2.28.0/Source/WebCore/platform/graphics/gstreamer/VideoTrackPrivateGStreamer.cpp
--- webkitgtk-2.28.0.gtk/Source/WebCore/platform/graphics/gstreamer/VideoTrackPrivateGStreamer.cpp 2020-02-04 04:24:08.000000000 -0600
+++ webkitgtk-2.28.0/Source/WebCore/platform/graphics/gstreamer/VideoTrackPrivateGStreamer.cpp 2020-03-19 16:02:33.904465011 -0500
@@ -43,6 +43,7 @@ VideoTrackPrivateGStreamer::VideoTrackPr
notifyTrackOfActiveChanged();
}
+#if GST_CHECK_VERSION(1, 10, 0)
VideoTrackPrivateGStreamer::VideoTrackPrivateGStreamer(WeakPtr<MediaPlayerPrivateGStreamer> player, gint index, GRefPtr<GstStream> stream)
: TrackPrivateBaseGStreamer(this, index, stream)
, m_player(player)
@@ -68,6 +69,7 @@ VideoTrackPrivate::Kind VideoTrackPrivat
return VideoTrackPrivate::kind();
}
+#endif
void VideoTrackPrivateGStreamer::disconnect()
{
diff -urp webkitgtk-2.28.0.gtk/Source/WebCore/platform/graphics/gstreamer/VideoTrackPrivateGStreamer.h webkitgtk-2.28.0/Source/WebCore/platform/graphics/gstreamer/VideoTrackPrivateGStreamer.h
--- webkitgtk-2.28.0.gtk/Source/WebCore/platform/graphics/gstreamer/VideoTrackPrivateGStreamer.h 2020-02-04 04:24:08.000000000 -0600
+++ webkitgtk-2.28.0/Source/WebCore/platform/graphics/gstreamer/VideoTrackPrivateGStreamer.h 2020-03-19 16:02:33.904465011 -0500
@@ -43,13 +43,13 @@ public:
{
return adoptRef(*new VideoTrackPrivateGStreamer(player, index, pad));
}
-
+#if GST_CHECK_VERSION(1, 10, 0)
static Ref<VideoTrackPrivateGStreamer> create(WeakPtr<MediaPlayerPrivateGStreamer> player, gint index, GRefPtr<GstStream> stream)
{
return adoptRef(*new VideoTrackPrivateGStreamer(player, index, stream));
}
-
Kind kind() const final;
+#endif
void disconnect() override;
@@ -65,8 +65,9 @@ public:
private:
VideoTrackPrivateGStreamer(WeakPtr<MediaPlayerPrivateGStreamer>, gint index, GRefPtr<GstPad>);
+#if GST_CHECK_VERSION(1, 10, 0)
VideoTrackPrivateGStreamer(WeakPtr<MediaPlayerPrivateGStreamer>, gint index, GRefPtr<GstStream>);
-
+#endif
AtomString m_id;
WeakPtr<MediaPlayerPrivateGStreamer> m_player;
};
diff -urp webkitgtk-2.28.0.gtk/Source/WebCore/platform/mediastream/gstreamer/GStreamerCapturer.cpp webkitgtk-2.28.0/Source/WebCore/platform/mediastream/gstreamer/GStreamerCapturer.cpp
--- webkitgtk-2.28.0.gtk/Source/WebCore/platform/mediastream/gstreamer/GStreamerCapturer.cpp 2020-02-04 04:24:08.000000000 -0600
+++ webkitgtk-2.28.0/Source/WebCore/platform/mediastream/gstreamer/GStreamerCapturer.cpp 2020-03-19 16:02:33.908465032 -0500
@@ -29,6 +29,8 @@
#include <mutex>
#include <webrtc/api/media_stream_interface.h>
+#if GST_CHECK_VERSION(1, 10, 0)
+
GST_DEBUG_CATEGORY(webkit_capturer_debug);
#define GST_CAT_DEFAULT webkit_capturer_debug
@@ -184,4 +186,5 @@ void GStreamerCapturer::stop()
} // namespace WebCore
+#endif // GST_CHECK_VERSION(1, 10, 0)
#endif // ENABLE(VIDEO) && ENABLE(MEDIA_STREAM) && USE(LIBWEBRTC) && USE(GSTREAMER)
diff -urp webkitgtk-2.28.0.gtk/Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp webkitgtk-2.28.0/Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp
--- webkitgtk-2.28.0.gtk/Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp 2020-02-04 04:24:08.000000000 -0600
+++ webkitgtk-2.28.0/Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp 2020-03-19 16:02:33.908465032 -0500
@@ -34,6 +34,8 @@
#include <gst/app/gstappsrc.h>
#include <gst/base/gstflowcombiner.h>
+#if GST_CHECK_VERSION(1, 10, 0)
+
namespace WebCore {
static void webkitMediaStreamSrcPushVideoSample(WebKitMediaStreamSrc* self, GstSample* gstsample);
@@ -678,5 +680,5 @@ GstElement* webkitMediaStreamSrcNew(void
}
} // WebCore
-
+#endif // GST_CHECK_VERSION(1, 10, 0)
#endif // ENABLE(VIDEO) && ENABLE(MEDIA_STREAM) && USE(LIBWEBRTC)