Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[EWS] Need /bin/sh equivalent on wincairo #142

Merged

Conversation

JonWBedard
Copy link
Member

@JonWBedard JonWBedard commented Feb 14, 2022

6f12010

[EWS] Need /bin/sh equivalent on wincairo
https://bugs.webkit.org/show_bug.cgi?id=236608
<rdar://problem/88926062 >

Reviewed by Don Olmstead.

* Tools/CISupport/ews-build/steps.py:
(ShellMixin.shell_command): Invoke provided command with
the system shell (either /bin/sh or cmd)
(ShellMixin.shell_exit_0): Trailing shell command ensuring
a 0 exit code regardless of the outcome of previous commands.
(ApplyPatch.start): Invoke command with cmd or /bin/sh/.
(CheckOutPullRequest.run): Ditto.
(CleanGitRepo.run): Ditto.
* Tools/CISupport/ews-build/steps_unittest.py:


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

@JonWBedard JonWBedard self-assigned this Feb 14, 2022
class ShellMixin(object):
def shell_command(self, command):
platform = self.getProperty('platform', '*')
if platform == 'wincairo':
Copy link
Contributor

Choose a reason for hiding this comment

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

Should probably be checking whether or not its a windows cmd shell here

Copy link
Member Author

Choose a reason for hiding this comment

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

At the moment, we don't have such a property.

What I'm going to do is make the code clear that we're using the platform to decide if we're working with a Windows shell. In the future when/if there are other platforms using a Windows shell, it will be easy to add them or determine if we need a Windows shell in a more centralized place in the build.


def shell_exit_0(self):
platform = self.getProperty('platform', '*')
if platform == 'wincairo':
Copy link
Contributor

Choose a reason for hiding this comment

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

Same

def shell_exit_0(self):
platform = self.getProperty('platform', '*')
if platform == 'wincairo':
return ' && exit 0'
Copy link
Contributor

Choose a reason for hiding this comment

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

This should probably also be ||

Copy link
Contributor

Choose a reason for hiding this comment

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

Actually given the naming of things I don't think this should have any conditional operators it should just return the command

@JonWBedard JonWBedard force-pushed the eng/github-ews-support-wincairo-shell branch from f9132f3 to b5da806 Compare February 14, 2022 23:37

def shell_command(self, command):
if self.has_windows_shell():
return ['cmd', command]
Copy link
Contributor

Choose a reason for hiding this comment

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

/c is needed for cmd.

@JonWBedard JonWBedard force-pushed the eng/github-ews-support-wincairo-shell branch from b5da806 to 6c268cc Compare February 15, 2022 01:10
@JonWBedard JonWBedard closed this Feb 15, 2022
@JonWBedard JonWBedard force-pushed the eng/github-ews-support-wincairo-shell branch from 6c268cc to 6f12010 Compare February 15, 2022 15:46
@JonWBedard JonWBedard merged commit 6f12010 into WebKit:main Feb 15, 2022
@JonWBedard
Copy link
Member Author

@JonWBedard JonWBedard deleted the eng/github-ews-support-wincairo-shell branch February 15, 2022 15:47
@JonWBedard
Copy link
Member Author

Bots are looking happy with this: https://ews-build.webkit.org/#/builders/12/builds/73499

@JonWBedard JonWBedard added Tools / Tests Tools in the Tools directory, build issues, test infrastructure, and bugs in test cases WebKit Nightly Build labels Mar 29, 2022
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 <jianlin.qiu@intel.com>
jianjunz <jianjun.zhu@intel.com>
Cyril Lashkevich <notorca@gmail.com>
Piasy <xz4215@gmail.com>
ShiJinCheng <874042641@qq.com>
Andreas Unterhuber <andreas.unterhuber@keepinmind.info>
dong-heun <63987238+dong-heun@users.noreply.github.com>

* 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Tools / Tests Tools in the Tools directory, build issues, test infrastructure, and bugs in test cases
Projects
None yet
3 participants