Modified: releases/WebKitGTK/webkit-2.24/Source/WebCore/ChangeLog (248246 => 248247)
--- releases/WebKitGTK/webkit-2.24/Source/WebCore/ChangeLog 2019-08-04 03:23:48 UTC (rev 248246)
+++ releases/WebKitGTK/webkit-2.24/Source/WebCore/ChangeLog 2019-08-04 03:23:51 UTC (rev 248247)
@@ -1,3 +1,14 @@
+2019-07-08 Philippe Normand <[email protected]>
+
+ [GStreamer] The CREATE_TRACK macro is messed up
+ https://bugs.webkit.org/show_bug.cgi?id=199356
+
+ Reviewed by Xabier Rodriguez-Calvar.
+
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::MediaPlayerPrivateGStreamer::updateTracks): Fix the
+ CREATE_TRACK macro for !VIDEO_TRACK builds.
+
2019-07-03 Said Abou-Hallawa <[email protected]>
The destructor of CSSAnimationControllerPrivate must explicitly clear the composite animations
Modified: releases/WebKitGTK/webkit-2.24/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp (248246 => 248247)
--- releases/WebKitGTK/webkit-2.24/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp 2019-08-04 03:23:48 UTC (rev 248246)
+++ releases/WebKitGTK/webkit-2.24/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp 2019-08-04 03:23:51 UTC (rev 248247)
@@ -693,18 +693,6 @@
}
#undef CLEAR_TRACKS
-#if ENABLE(VIDEO_TRACK)
-#define CREATE_TRACK(type, Type) \
- m_has##Type = true; \
- if (!useMediaSource) {\
- RefPtr<Type##TrackPrivateGStreamer> track = Type##TrackPrivateGStreamer::create(makeWeakPtr(*this), i, stream); \
- m_##type##Tracks.add(track->id(), track); \
- m_player->add##Type##Track(*track);\
- if (gst_stream_get_stream_flags(stream.get()) & GST_STREAM_FLAG_SELECT) { \
- m_current##Type##StreamId = String(gst_stream_get_stream_id(stream.get())); \
- } \
- }
-
FloatSize MediaPlayerPrivateGStreamer::naturalSize() const
{
#if ENABLE(MEDIA_STREAM)
@@ -723,8 +711,22 @@
return MediaPlayerPrivateGStreamerBase::naturalSize();
}
+
+#if ENABLE(VIDEO_TRACK)
+#define CREATE_TRACK(type, Type) G_STMT_START { \
+ m_has##Type = true; \
+ if (!useMediaSource) { \
+ RefPtr<Type##TrackPrivateGStreamer> track = Type##TrackPrivateGStreamer::create(makeWeakPtr(*this), i, stream); \
+ m_##type##Tracks.add(track->id(), track); \
+ m_player->add##Type##Track(*track); \
+ if (gst_stream_get_stream_flags(stream.get()) & GST_STREAM_FLAG_SELECT) \
+ m_current##Type##StreamId = String(gst_stream_get_stream_id(stream.get())); \
+ } \
+ } G_STMT_END
#else
-#define CREATE_TRACK(type, _id, tracks, method, stream) m_has##Type## = true;
+#define CREATE_TRACK(type, Type) G_STMT_START { \
+ m_has##Type## = true; \
+ } G_STMT_END
#endif // ENABLE(VIDEO_TRACK)
void MediaPlayerPrivateGStreamer::updateTracks()
@@ -745,11 +747,11 @@
GstStreamType type = gst_stream_get_stream_type(stream.get());
GST_DEBUG_OBJECT(pipeline(), "Inspecting %s track with ID %s", gst_stream_type_get_name(type), streamId.utf8().data());
- if (type & GST_STREAM_TYPE_AUDIO) {
- CREATE_TRACK(audio, Audio)
- } else if (type & GST_STREAM_TYPE_VIDEO) {
- CREATE_TRACK(video, Video)
- } else if (type & GST_STREAM_TYPE_TEXT && !useMediaSource) {
+ if (type & GST_STREAM_TYPE_AUDIO)
+ CREATE_TRACK(audio, Audio);
+ else if (type & GST_STREAM_TYPE_VIDEO)
+ CREATE_TRACK(video, Video);
+ else if (type & GST_STREAM_TYPE_TEXT && !useMediaSource) {
#if ENABLE(VIDEO_TRACK)
auto track = InbandTextTrackPrivateGStreamer::create(textTrackIndex++, stream);
m_textTracks.add(streamId, track.copyRef());
@@ -769,6 +771,8 @@
}
#endif // GST_CHECK_VERSION(1, 10, 0)
+#undef CREATE_TRACK
+
void MediaPlayerPrivateGStreamer::enableTrack(TrackPrivateBaseGStreamer::TrackType trackType, unsigned index)
{
// FIXME: Remove isMediaSource() test below when fixing https://bugs.webkit.org/show_bug.cgi?id=182531.