[webkit-changes] [WebKit/WebKit] 6405a4: RTCVideoDecoderH264 should report its last availab...
youennf
noreply at github.com
Mon Dec 2 08:16:17 PST 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 6405a44520e519cba686ec5115e8cb87d6f63867
https://github.com/WebKit/WebKit/commit/6405a44520e519cba686ec5115e8cb87d6f63867
Author: Youenn Fablet <youenn at apple.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M LayoutTests/http/tests/webcodecs/h264-reordering.html
M LayoutTests/http/tests/webcodecs/hevc-reordering.html
M Source/ThirdParty/libwebrtc/Source/webrtc/webkit_sdk/objc/components/video_codec/RTCVideoDecoderH264.mm
M Source/ThirdParty/libwebrtc/Source/webrtc/webkit_sdk/objc/components/video_codec/RTCVideoDecoderH265.mm
M Source/ThirdParty/libwebrtc/Source/webrtc/webkit_sdk/objc/components/video_codec/RTCVideoFrameReorderQueue.h
M Source/ThirdParty/libwebrtc/Source/webrtc/webkit_sdk/objc/components/video_codec/RTCVideoFrameReorderQueue.mm
Log Message:
-----------
RTCVideoDecoderH264 should report its last available frame as not reordered
rdar://140786076
https://bugs.webkit.org/show_bug.cgi?id=283909
Reviewed by Eric Carlson.
RTCVideoDecoderH264 and RTCVideoDecoderH265 were not reporting the last available frame they can send to their client as not reordered.
This made LibWebRTCCodecsProxy not notifying its web page that the decoding task was done in case of reordered content.
This in turn was delaying the GC of the video decoder until the context was stopped.
We update RTCVideoDecoderH264 and RTCVideoDecoderH265 to properly notify LibWebRTCCodecsProxy and we update the tests to check for cases where this would previously fail.
* LayoutTests/http/tests/webcodecs/h264-reordering.html:
* LayoutTests/http/tests/webcodecs/hevc-reordering.html:
* Source/ThirdParty/libwebrtc/Source/webrtc/webkit_sdk/objc/components/video_codec/RTCVideoDecoderH264.mm:
(-[RTCVideoDecoderH264 decodeData:size:timeStamp:]):
(-[RTCVideoDecoderH264 processFrame:reorderSize:]):
* Source/ThirdParty/libwebrtc/Source/webrtc/webkit_sdk/objc/components/video_codec/RTCVideoDecoderH265.mm:
(-[RTCVideoDecoderH265 processFrame:reorderSize:]):
* Source/ThirdParty/libwebrtc/Source/webrtc/webkit_sdk/objc/components/video_codec/RTCVideoFrameReorderQueue.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/webkit_sdk/objc/components/video_codec/RTCVideoFrameReorderQueue.mm:
(webrtc::RTCVideoFrameReorderQueue::takeIfAvailable):
Canonical link: https://commits.webkit.org/287220@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