[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