[webkit-changes] [WebKit/WebKit] aef6a7: WebCodecs remote video encoders get timestamps in ...
youennf
noreply at github.com
Tue Feb 27 10:42:16 PST 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: aef6a763596ad4bd9e007a52b373eb1b423e1f84
https://github.com/WebKit/WebKit/commit/aef6a763596ad4bd9e007a52b373eb1b423e1f84
Author: Youenn Fablet <youenn at 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
More information about the webkit-changes
mailing list