Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 6405a44520e519cba686ec5115e8cb87d6f63867
      
https://github.com/WebKit/WebKit/commit/6405a44520e519cba686ec5115e8cb87d6f63867
  Author: Youenn Fablet <[email protected]>
  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
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to