Title: [247204] trunk/Source/WebCore
Revision
247204
Author
[email protected]
Date
2019-07-08 03:08:04 -0700 (Mon, 08 Jul 2019)

Log Message

[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.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (247203 => 247204)


--- trunk/Source/WebCore/ChangeLog	2019-07-08 08:17:24 UTC (rev 247203)
+++ trunk/Source/WebCore/ChangeLog	2019-07-08 10:08:04 UTC (rev 247204)
@@ -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-07  Zalan Bujtas  <[email protected]>
 
         [ContentChangeObserver] Difficult to control videos on iqiyi.com as the actions are mouse hover

Modified: trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp (247203 => 247204)


--- trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp	2019-07-08 08:17:24 UTC (rev 247203)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp	2019-07-08 10:08:04 UTC (rev 247204)
@@ -680,18 +680,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)
@@ -710,8 +698,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()
@@ -732,11 +734,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());
@@ -755,6 +757,8 @@
     m_player->client().mediaPlayerEngineUpdated(m_player);
 }
 
+#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.
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to