Title: [287759] trunk
Revision
287759
Author
[email protected]
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  <[email protected]>
+
+        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  <[email protected]>
 
         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  <[email protected]>
+
+        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  <[email protected]>
 
         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
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to