Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: aef6a763596ad4bd9e007a52b373eb1b423e1f84
      
https://github.com/WebKit/WebKit/commit/aef6a763596ad4bd9e007a52b373eb1b423e1f84
  Author: Youenn Fablet <you...@apple.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M Source/WebKit/GPUProcess/webrtc/LibWebRTCCodecsProxy.mm
    M Source/WebKit/WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp

  Log Message:
  -----------
  WebCodecs remote video encoders get timestamps in microseconds and not 
nanoseconds
rdar://123684436
https://bugs.webkit.org/show_bug.cgi?id=270159

Reviewed by Eric Carlson.

In WebRTC code path, we are getting a microsecond timestamp.
We were converting it to a MediaTime in LibWebRTCCodecs which was then 
converted back to
a nanosecond timestamp in LibWebRTCCodecsProxy.
A factor of 1000 was applied in LibWebRTCCodecs and handled correctly on 
LibWebRTCCodecsProxy.

The WebCodecs path is getting a MediaTime directly but without the 1000 factor.
This was causing the timestamps given to WebCodecs encoder to be in 
microseconds and not nanoseconds.
This can have an impact on encoders in some circumstances.

We fix this by using Seconds/MediaTime routines on WebProcess WebRTC side (this 
removes the 1000 factor),
and we update LibWebRTCCodecsProxy to do the same.

* Source/WebKit/GPUProcess/webrtc/LibWebRTCCodecsProxy.mm:
(WebKit::LibWebRTCCodecsProxy::encodeFrame):
* Source/WebKit/WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp:
(WebKit::LibWebRTCCodecs::encodeFrame):

Canonical link: https://commits.webkit.org/275392@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to