Skip to content

[commits.webkit.org] Fallback to remote repository (Part 1)#53

Merged
JonWBedard merged 0 commit into
WebKit:mainfrom
JonWBedard:eng/fallback-to-remote
Dec 7, 2021
Merged

[commits.webkit.org] Fallback to remote repository (Part 1)#53
JonWBedard merged 0 commit into
WebKit:mainfrom
JonWBedard:eng/fallback-to-remote

Conversation

@JonWBedard

@JonWBedard JonWBedard commented Dec 7, 2021

Copy link
Copy Markdown
Member

edb935e

[commits.webkit.org] Fallback to remote repository (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=233904
<rdar://problem/86131927 >

Reviewed by Dewei Zhu.

* Tools/Scripts/libraries/reporelaypy/reporelaypy/__init__.py: Bump version.
* Tools/Scripts/libraries/reporelaypy/reporelaypy/checkout.py:
(Checkout.Encoder.default):
(Checkout.__init__): Allow user to specify a remote fallback repository.
* Tools/Scripts/libraries/reporelaypy/reporelaypy/checkoutroute.py:
(CheckoutRoute.commit): If no commit is found, query the fallback repository.
* Tools/Scripts/libraries/reporelaypy/run: Add --fallback option.
* Tools/Scripts/libraries/reporelaypy/setup.py: Bump version.


Canonical link: https://commits.webkit.org/244936@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286623 268f45cc-cd09-0410-ab3c-d52691b4dbfc

@JonWBedard JonWBedard self-assigned this Dec 7, 2021
@JonWBedard
JonWBedard requested review from dewei-zhu, foopoiuyt and sundiamonde and removed request for foopoiuyt December 7, 2021 16:49
@JonWBedard
JonWBedard force-pushed the eng/fallback-to-remote branch from a6f0796 to aca41c5 Compare December 7, 2021 18:01
@JonWBedard JonWBedard changed the title [commits.webkit.org] Fallback to remote repository [commits.webkit.org] Fallback to remote repository (Part 1) Dec 7, 2021
@JonWBedard
JonWBedard force-pushed the eng/fallback-to-remote branch from aca41c5 to 72ce39d Compare December 7, 2021 21:36

@dewei-zhu dewei-zhu left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

r=me

@JonWBedard
JonWBedard merged commit edb935e into WebKit:main Dec 7, 2021
@JonWBedard

Copy link
Copy Markdown
Member Author

@JonWBedard
JonWBedard force-pushed the eng/fallback-to-remote branch from 72ce39d to edb935e Compare December 7, 2021 22:32
@JonWBedard
JonWBedard deleted the eng/fallback-to-remote branch December 7, 2021 22:32
webkit-commit-queue pushed a commit to xingri/WebKit that referenced this pull request Sep 6, 2023
https://bugs.webkit.org/show_bug.cgi?id=258794

Reviewed by Youenn Fablet.

The current WebRTC HEVC is using generic packetization instead of RFC 7789 Packetization.
So this is about implementing the RFC 7798 Packetization.

Fix HEVC depacketizer issues. (WebKit#185)
Enalbing low latency mode for RTC (WebKit#169)
Enable HEVC support. (WebKit#165)
Fix out-of-bounds write in H265VpsSpsPpsTracker (WebKit#163)
Apply fix bitstream logic to RtpVideoStreamReceiver2 (WebKit#142)
Add missing CODEC_H265 switch case (WebKit#136)
Add HEVC support for iOS/Android (WebKit#68)
H265 packetization_mode setting fix (WebKit#53)
Add H.265 QP parsing logic (WebKit#47)

This patch is extracted from following Open WebRTC Toolkit code changes:
<open-webrtc-toolkit/owt-deps-webrtc#185>
<open-webrtc-toolkit/owt-deps-webrtc#169>
<open-webrtc-toolkit/owt-deps-webrtc#165>
<open-webrtc-toolkit/owt-deps-webrtc#163>
<open-webrtc-toolkit/owt-deps-webrtc#142>
<open-webrtc-toolkit/owt-deps-webrtc#136>
<open-webrtc-toolkit/owt-deps-webrtc#68>
<open-webrtc-toolkit/owt-deps-webrtc#53>
<open-webrtc-toolkit/owt-deps-webrtc#47>

co-authoured by:
taste1981 <[email protected]>
jianjunz <[email protected]>
Cyril Lashkevich <[email protected]>
Piasy <[email protected]>
ShiJinCheng <[email protected]>
Andreas Unterhuber <[email protected]>
dong-heun <[email protected]>

* Source/ThirdParty/libwebrtc/Configurations/libwebrtc.xcconfig:
* Source/ThirdParty/libwebrtc/Source/webrtc/api/video/video_codec_type.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/api/video_codecs/video_codec.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/api/video_codecs/video_codec.h:
(webrtc::VideoCodecH265::operator!= const):
* Source/ThirdParty/libwebrtc/Source/webrtc/api/video_codecs/video_decoder_software_fallback_wrapper.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/api/video_codecs/video_encoder.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/api/video_codecs/video_encoder.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/call/rtp_payload_params.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_common.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_common.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_pps_parser.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_pps_parser.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_sps_parser.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_sps_parser.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_vps_parser.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_vps_parser.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/logging/rtc_event_log/rtc_event_log_parser.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/media/base/media_constants.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/media/base/media_constants.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/media/engine/internal_decoder_factory.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtp_format.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtp_format_h265.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtp_format_h265.h:
(webrtc::RtpPacketizerH265::PacketUnit::PacketUnit):
(webrtc::VideoRtpDepacketizerH265::~VideoRtpDepacketizerH265): Deleted.
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtp_video_header.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/codecs/h265/include/h265_globals.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/encoded_frame.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/h265_vps_sps_pps_tracker.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/h265_vps_sps_pps_tracker.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/include/video_codec_interface.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/packet_buffer.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/rtc_base/experiments/min_video_bitrate_experiment.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/nalu_rewriter.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/nalu_rewriter.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/test/scenario/video_stream.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/test/video_codec_settings.h:
(webrtc::test::CodecSettings):
* Source/ThirdParty/libwebrtc/Source/webrtc/video/config/video_encoder_config.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/video/config/video_encoder_config.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/video/encoder_overshoot_detector.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/video/rtp_video_stream_receiver2.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/video/rtp_video_stream_receiver2.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/video/send_statistics_proxy.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/video/video_stream_encoder.cc:
* Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj:

Canonical link: https://commits.webkit.org/267677@main
eocanha pushed a commit to eocanha/WebKit that referenced this pull request Jun 19, 2024
https://bugs.webkit.org/show_bug.cgi?id=258794

Reviewed by Youenn Fablet.

The current WebRTC HEVC is using generic packetization instead of RFC 7789 Packetization.
So this is about implementing the RFC 7798 Packetization.

Fix HEVC depacketizer issues. (WebKit#185)
Enalbing low latency mode for RTC (WebKit#169)
Enable HEVC support. (WebKit#165)
Fix out-of-bounds write in H265VpsSpsPpsTracker (WebKit#163)
Apply fix bitstream logic to RtpVideoStreamReceiver2 (WebKit#142)
Add missing CODEC_H265 switch case (WebKit#136)
Add HEVC support for iOS/Android (WebKit#68)
H265 packetization_mode setting fix (WebKit#53)
Add H.265 QP parsing logic (WebKit#47)

This patch is extracted from following Open WebRTC Toolkit code changes:
<open-webrtc-toolkit/owt-deps-webrtc#185>
<open-webrtc-toolkit/owt-deps-webrtc#169>
<open-webrtc-toolkit/owt-deps-webrtc#165>
<open-webrtc-toolkit/owt-deps-webrtc#163>
<open-webrtc-toolkit/owt-deps-webrtc#142>
<open-webrtc-toolkit/owt-deps-webrtc#136>
<open-webrtc-toolkit/owt-deps-webrtc#68>
<open-webrtc-toolkit/owt-deps-webrtc#53>
<open-webrtc-toolkit/owt-deps-webrtc#47>

co-authoured by:
taste1981 <[email protected]>
jianjunz <[email protected]>
Cyril Lashkevich <[email protected]>
Piasy <[email protected]>
ShiJinCheng <[email protected]>
Andreas Unterhuber <[email protected]>
dong-heun <[email protected]>

* Source/ThirdParty/libwebrtc/Configurations/libwebrtc.xcconfig:
* Source/ThirdParty/libwebrtc/Source/webrtc/api/video/video_codec_type.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/api/video_codecs/video_codec.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/api/video_codecs/video_codec.h:
(webrtc::VideoCodecH265::operator!= const):
* Source/ThirdParty/libwebrtc/Source/webrtc/api/video_codecs/video_decoder_software_fallback_wrapper.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/api/video_codecs/video_encoder.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/api/video_codecs/video_encoder.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/call/rtp_payload_params.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_common.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_common.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_pps_parser.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_pps_parser.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_sps_parser.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_sps_parser.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_vps_parser.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_vps_parser.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/logging/rtc_event_log/rtc_event_log_parser.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/media/base/media_constants.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/media/base/media_constants.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/media/engine/internal_decoder_factory.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtp_format.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtp_format_h265.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtp_format_h265.h:
(webrtc::RtpPacketizerH265::PacketUnit::PacketUnit):
(webrtc::VideoRtpDepacketizerH265::~VideoRtpDepacketizerH265): Deleted.
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtp_video_header.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/codecs/h265/include/h265_globals.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/encoded_frame.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/h265_vps_sps_pps_tracker.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/h265_vps_sps_pps_tracker.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/include/video_codec_interface.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/packet_buffer.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/rtc_base/experiments/min_video_bitrate_experiment.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/nalu_rewriter.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/nalu_rewriter.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/test/scenario/video_stream.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/test/video_codec_settings.h:
(webrtc::test::CodecSettings):
* Source/ThirdParty/libwebrtc/Source/webrtc/video/config/video_encoder_config.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/video/config/video_encoder_config.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/video/encoder_overshoot_detector.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/video/rtp_video_stream_receiver2.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/video/rtp_video_stream_receiver2.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/video/send_statistics_proxy.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/video/video_stream_encoder.cc:
* Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj:

Canonical link: https://commits.webkit.org/267677@main
Wowfunhappy referenced this pull request in Wowfunhappy/WebKit Jun 15, 2026
…imer heartbeat hint (#53)

WebKit's main timer work runs on libdispatch workers; drive the shared timer from a
re-armable dispatch-source and hint the UIProcess display-link heartbeat for short bursts.
(Root cause #54/#55 still open; this is the current driver.)

Co-Authored-By: Claude Opus 4.8 <[email protected]>
Wowfunhappy referenced this pull request in Wowfunhappy/WebKit Jun 26, 2026
…ready fixed

Adversarial review + an independent verification pass confirmed each of these as
a band-aid whose underlying root cause has since been fixed elsewhere, so the
divergence is dead and reverting restores upstream behavior (and the loud
upstream assertions that surface real bugs):

- #54 (dispatch_main main-thread identity, fixed by XPC RunLoopType=NSRunLoop):
  restore RELEASE_ASSERT(isMainThread()) / upstream bodies in
  NavigatorBeacon::sendBeacon, DefaultAudioDestinationNode::uninitialize,
  Document::removeAudioProducer, SWClientConnection, ServiceWorkerGlobalScope,
  and EventListenerMap; drop the AuxiliaryProcess s_heartbeat no-op timer and the
  Connection::open() main-RunLoop default-arg re-route.
- #53 (timer-heap corruption, fixed at root in Timer.cpp stopSlowCase): re-enable
  the disabled timers in ProgressTracker, CachedResourceLoader, EventHandler, and
  PerformanceMonitor.
- RemoteLayerTree path (compiled-in but never the active drawing area — TCA is):
  revert the forced-display window (m_committedCount/kForceFirstNCommits), the
  ineffective try/@catch buffer-lookup wrap, the dead pixel-sampling block, the
  blanket NSException swallow in applyHierarchyUpdates, the remirrorFor10_9 /
  fixPassthrough / force-reattach scaffolding (incl. a /tmp PNG tile dump), and
  the parallel dispatch_async render-drive — keeping the GPU_PROCESS guards and
  the cornerCurve respondsToSelector guard.
- Restore WebCoreCALayerExtras collectDescendantLayersAtPoint /
  layersAtPointToCheckForScrolling (reachable from ScrollingTreeMac) and the mask
  hit-test methods; revert the LegacyDisplayRefreshMonitorMac hardcoded-60,
  ImageFrameWorkQueue QoS, Document::visualUpdatesAllowed hardcode,
  HTMLMediaElement duplicate gesture-flag clear, the MediaPlayerPrivateAVFObjC
  false "stubbed" comments, NavigationState recoveryAttempter, WebInspectorUIProxy
  double-open, the WebLoaderStrategy no-op lambda wrapper, a dead WebViewImpl
  text-indicator stub, and RunLoop::isTimerRegistered (no callers).

Co-Authored-By: Claude Opus 4.8 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants