Title: [274478] trunk/Source/WebCore
Revision
274478
Author
calva...@igalia.com
Date
2021-03-16 08:04:10 -0700 (Tue, 16 Mar 2021)

Log Message

[GStreamer][MSE] fix video freeze in NASA TV feed
https://bugs.webkit.org/show_bug.cgi?id=214625

Reviewed by Alicia Boya Garcia.

Initial seek should not be marked as a real seek as it is not
getting seek-datas from GStreamer and therefore it can mess up
with pipeline branches becoming empty after getting an enough-data
because the need-data is expecting seek-datas to complete that
seek that is never going to happen.

A couple of debug output lines were fixed for the same price.

* platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:
(webKitMediaSrcPrepareInitialSeek):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (274477 => 274478)


--- trunk/Source/WebCore/ChangeLog	2021-03-16 14:38:53 UTC (rev 274477)
+++ trunk/Source/WebCore/ChangeLog	2021-03-16 15:04:10 UTC (rev 274478)
@@ -1,3 +1,21 @@
+2021-03-16  Xabier Rodriguez Calvar  <calva...@igalia.com>
+
+        [GStreamer][MSE] fix video freeze in NASA TV feed
+        https://bugs.webkit.org/show_bug.cgi?id=214625
+
+        Reviewed by Alicia Boya Garcia.
+
+        Initial seek should not be marked as a real seek as it is not
+        getting seek-datas from GStreamer and therefore it can mess up
+        with pipeline branches becoming empty after getting an enough-data
+        because the need-data is expecting seek-datas to complete that
+        seek that is never going to happen.
+
+        A couple of debug output lines were fixed for the same price.
+
+        * platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:
+        (webKitMediaSrcPrepareInitialSeek):
+
 2021-03-16  Ziran Sun  <z...@igalia.com>
 
         [css-grid] Replace the use of -1 with WTF::nullopt

Modified: trunk/Source/WebCore/platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp (274477 => 274478)


--- trunk/Source/WebCore/platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp	2021-03-16 14:38:53 UTC (rev 274477)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp	2021-03-16 15:04:10 UTC (rev 274478)
@@ -102,7 +102,7 @@
         }
         int numAppsrcs = webKitMediaSrc->priv->streams.size();
         if (webKitMediaSrc->priv->appsrcSeekDataCount == numAppsrcs && webKitMediaSrc->priv->appsrcNeedDataCount == numAppsrcs) {
-            GST_DEBUG("All needDatas completed");
+            GST_DEBUG_OBJECT(webKitMediaSrc, "All needDatas completed");
             allAppsrcNeedDataAfterSeek = true;
             webKitMediaSrc->priv->appsrcSeekDataCount = 0;
             webKitMediaSrc->priv->appsrcNeedDataCount = 0;
@@ -115,7 +115,7 @@
     GST_OBJECT_UNLOCK(webKitMediaSrc);
 
     if (allAppsrcNeedDataAfterSeek) {
-        GST_DEBUG("All expected appsrcSeekData() and appsrcNeedData() calls performed. Running next action (%d)", static_cast<int>(appsrcSeekDataNextAction));
+        GST_DEBUG_OBJECT(webKitMediaSrc, "All expected appsrcSeekData() and appsrcNeedData() calls performed. Running next action (%d)", static_cast<int>(appsrcSeekDataNextAction));
 
         switch (appsrcSeekDataNextAction) {
         case MediaSourceSeekToTime:
@@ -758,7 +758,7 @@
     }
 
     // The pending action will be performed in enabledAppsrcSeekData().
-    source->priv->appsrcSeekDataNextAction = MediaSourceSeekToTime;
+    source->priv->appsrcSeekDataNextAction = Nothing;
 
     GUniquePtr<GstSegment> segment(gst_segment_new());
     segment->format = GST_FORMAT_TIME;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to