Title: [287759] trunk
Revision
287759
Author
you...@apple.com
Date
2022-01-07 10:43:28 -0800 (Fri, 07 Jan 2022)

Log Message

Expose rvfc processingDuration for the WebRTC code path
https://bugs.webkit.org/show_bug.cgi?id=234949

Reviewed by Eric Carlson.

Source/WebCore:

This processing duration is the time it took for an assembled frame to be decoded and sent to RealtimIncomingVideoSource.
This duration can be approximately retrieved from WebRTC encoded transform (time for the assembled frame, aka time just before decoding)
and the time at which it is exposed by requestVideoFrameCallback (aka time just after decoding).
The processing duration is rounded in milliseconds.

Covered by updated test.

* platform/mediastream/RealtimeIncomingVideoSource.cpp:

LayoutTests:

* webrtc/peerConnection-rvfc.html:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (287758 => 287759)


--- trunk/LayoutTests/ChangeLog	2022-01-07 18:36:15 UTC (rev 287758)
+++ trunk/LayoutTests/ChangeLog	2022-01-07 18:43:28 UTC (rev 287759)
@@ -1,3 +1,12 @@
+2022-01-07  Youenn Fablet  <you...@apple.com>
+
+        Expose rvfc processingDuration for the WebRTC code path
+        https://bugs.webkit.org/show_bug.cgi?id=234949
+
+        Reviewed by Eric Carlson.
+
+        * webrtc/peerConnection-rvfc.html:
+
 2022-01-07  Simon Fraser  <simon.fra...@apple.com>
 
         REGRESSION (Safari 14): background-attachment: local does not work

Modified: trunk/LayoutTests/webrtc/peerConnection-rvfc.html (287758 => 287759)


--- trunk/LayoutTests/webrtc/peerConnection-rvfc.html	2022-01-07 18:36:15 UTC (rev 287758)
+++ trunk/LayoutTests/webrtc/peerConnection-rvfc.html	2022-01-07 18:43:28 UTC (rev 287759)
@@ -53,6 +53,7 @@
     }
     assert_equals(metadata.width, 320);
     assert_greater_than(metadata.presentedFrames, presentedFrames);
+    assert_greater_than(metadata.processingDuration, 0);
 }, "Validate callbacks and metadata for peer connection tracks");
         </script>
     </body>

Modified: trunk/Source/WebCore/ChangeLog (287758 => 287759)


--- trunk/Source/WebCore/ChangeLog	2022-01-07 18:36:15 UTC (rev 287758)
+++ trunk/Source/WebCore/ChangeLog	2022-01-07 18:43:28 UTC (rev 287759)
@@ -1,3 +1,19 @@
+2022-01-07  Youenn Fablet  <you...@apple.com>
+
+        Expose rvfc processingDuration for the WebRTC code path
+        https://bugs.webkit.org/show_bug.cgi?id=234949
+
+        Reviewed by Eric Carlson.
+
+        This processing duration is the time it took for an assembled frame to be decoded and sent to RealtimIncomingVideoSource.
+        This duration can be approximately retrieved from WebRTC encoded transform (time for the assembled frame, aka time just before decoding)
+        and the time at which it is exposed by requestVideoFrameCallback (aka time just after decoding).
+        The processing duration is rounded in milliseconds.
+
+        Covered by updated test.
+
+        * platform/mediastream/RealtimeIncomingVideoSource.cpp:
+
 2022-01-07  Simon Fraser  <simon.fra...@apple.com>
 
         REGRESSION (Safari 14): background-attachment: local does not work

Modified: trunk/Source/WebCore/platform/mediastream/RealtimeIncomingVideoSource.cpp (287758 => 287759)


--- trunk/Source/WebCore/platform/mediastream/RealtimeIncomingVideoSource.cpp	2022-01-07 18:36:15 UTC (rev 287758)
+++ trunk/Source/WebCore/platform/mediastream/RealtimeIncomingVideoSource.cpp	2022-01-07 18:43:28 UTC (rev 287759)
@@ -115,6 +115,9 @@
         return a.receive_time() < b.receive_time();
     });
     metadata.receiveTime = Seconds::fromMicroseconds(lastPacketTimestamp->receive_time().us());
+    if (frame.processing_time())
+        metadata.processingDuration = Seconds::fromMilliseconds(frame.processing_time()->Elapsed().ms()).value();
+
     return metadata;
 }
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to