[webkit-changes] [WebKit/WebKit] 7e7d41: [WebRTC] Make H265 packetizing more resilient to b...
Commit Queue
noreply at github.com
Tue Nov 28 08:19:24 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 7e7d41f82f4f250cf24d7f6b0e116ffefe42ef94
https://github.com/WebKit/WebKit/commit/7e7d41f82f4f250cf24d7f6b0e116ffefe42ef94
Author: David Kilzer <ddkilzer at apple.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_common.cc
M Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_common.h
M Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtp_format_h265.cc
A Source/ThirdParty/libwebrtc/WebKit/0001-Make-H265-packetizing-more-resilient-to-bad-input.patch
Log Message:
-----------
[WebRTC] Make H265 packetizing more resilient to bad input
https://bugs.webkit.org/show_bug.cgi?id=265043
<rdar://118460064>
Reviewed by Youenn Fablet.
Change a release assert to runtime failure to prevent easily hit
crashes.
Also improve performance of H265::FindNaluIndices() by making
H265::NaluIndex the same as H264::NaluIndex so there is no need to copy
identical data structures.
* Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_common.cc:
(webrtc::H265::FindNaluIndices): Remove.
- This code is no longer necessary because all it did was call
H264::FindNaluIndices() and then translate H264::NaluIndex objects to
H265::NaluIndex objects. Changes in h265_common.h make this code
obsolete.
* Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_common.h:
(struct H265::NaluIndex):
- Change to make identical to H264::NaluIndex with a using statement.
(webrtc::H265::FindNaluIndices):
- Change to an inline method that calls H264::FindNaluIndices().
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtp_format_h265.cc:
(webrtc::RtpPacketizerH265::RtpPacketizerH265):
- Fix typo that called H264::FindNaluIndices() instead of
H265::FindNaluIndices(). Because of how H265::FindNaluIndices() was
defined, this did not result in a bug, was likely a copy-paste
mistake.
(webrtc::RtpPacketizerH265::GeneratePackets):
- Add missing checks for return values from PacketizeFu() and
PacketizeSingleNalu().
(webrtc::RtpPacketizerH265::PacketizeSingleNalu):
- Change release assert into runtime check that returns early if
fragment.size() is zero.
* Source/ThirdParty/libwebrtc/WebKit/0001-Make-H265-packetizing-more-resilient-to-bad-input.patch: Add.
Canonical link: https://commits.webkit.org/271214@main
More information about the webkit-changes
mailing list