webrtc/test
Markus Handell ad5037b4a8 Reland "Refactor the PlatformThread API."
This reverts commit 793bac569f.

Reason for revert: rare compilation error fixed

Original change's description:
> Revert "Refactor the PlatformThread API."
>
> This reverts commit c89fdd716c.
>
> Reason for revert: Causes rare compilation error on win-libfuzzer-asan trybot.
> See https://ci.chromium.org/p/chromium/builders/try/win-libfuzzer-asan-rel/713745?
>
> Original change's description:
> > Refactor the PlatformThread API.
> >
> > PlatformThread's API is using old style function pointers, causes
> > casting, is unintuitive and forces artificial call sequences, and
> > is additionally possible to misuse in release mode.
> >
> > Fix this by an API face lift:
> > 1. The class is turned into a handle, which can be empty.
> > 2. The only way of getting a non-empty PlatformThread is by calling
> > SpawnJoinable or SpawnDetached, clearly conveying the semantics to the
> > code reader.
> > 3. Handles can be Finalized, which works differently for joinable and
> > detached threads:
> >   a) Handles for detached threads are simply closed where applicable.
> >   b) Joinable threads are joined before handles are closed.
> > 4. The destructor finalizes handles. No explicit call is needed.
> >
> > Fixed: webrtc:12727
> > Change-Id: Id00a0464edf4fc9e552b6a1fbb5d2e1280e88811
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215075
> > Commit-Queue: Markus Handell <handellm@webrtc.org>
> > Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > Reviewed-by: Tommi <tommi@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#33923}
>
> # Not skipping CQ checks because original CL landed > 1 day ago.
>
> TBR=handellm@webrtc.org
>
> Bug: webrtc:12727
> Change-Id: Ic0146be8866f6dd3ad9c364fb8646650b8e07419
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/217583
> Reviewed-by: Guido Urdaneta <guidou@webrtc.org>
> Reviewed-by: Markus Handell <handellm@webrtc.org>
> Commit-Queue: Guido Urdaneta <guidou@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#33936}

# Not skipping CQ checks because this is a reland.

Bug: webrtc:12727
Change-Id: Ifd6f44eac72fed84474277a1be03eb84d2f4376e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/217881
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33950}
2021-05-07 14:14:43 +00:00
..
android Roll chromium_revision 34f3c82122..2dffe06711 (867171:871492) 2021-04-12 18:25:58 +00:00
fuzzers Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
gl Delete unneeded direct includes of common_types.h 2019-04-01 07:18:13 +00:00
ios Write pb perf output files on iOS. 2020-03-19 08:58:57 +00:00
linux [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
logging Use a plain string buffer in MemoryLogWriter 2021-03-29 12:00:36 +00:00
mac Rewrite video_loopback to use new mac capturer. 2019-03-06 14:37:33 +00:00
network Delete SignalQueueDestroyed 2021-04-22 13:04:53 +00:00
pc Reland "Refactor the PlatformThread API." 2021-05-07 14:14:43 +00:00
peer_scenario Reland "Remove thread hops from events provided by JsepTransportController." 2021-02-11 07:21:55 +00:00
scenario Reland "Remove Invoke from VideoChannel::FillBitrateInfo." 2021-05-03 15:16:34 +00:00
testsupport Fix: when SamplesStatsCounter is empty it's not propagated to the Histogram perf output 2021-03-20 14:05:59 +00:00
time_controller Use SequenceChecker from public API 2021-02-10 15:04:55 +00:00
win Introduce a RunLoop class that supports the TaskQueue interface 2020-05-04 18:10:00 +00:00
audio_decoder_proxy_factory.h Fix a typo for decoder naming 2020-04-27 08:03:47 +00:00
benchmark_main.cc Introduces rtc_base/synchronization/mutex.h. 2020-06-04 09:55:12 +00:00
BUILD.gn Support native scaling of VideoFrameBuffers in LibvpxVp9Encoder. 2021-03-22 13:35:35 +00:00
call_config_utils_unittest.cc Delete flag VideoReceiveStream::Config::Rtp::remb 2019-09-16 11:20:55 +00:00
call_config_utils.cc Delete flag VideoReceiveStream::Config::Rtp::remb 2019-09-16 11:20:55 +00:00
call_config_utils.h Added JSON generator for VideoReceiveStream::Config objects. 2019-01-15 00:51:29 +00:00
call_test.cc Remove 'secondary sink' concept from webrtc::VideoReceiveStream. 2021-02-15 18:08:17 +00:00
call_test.h Remove 'secondary sink' concept from webrtc::VideoReceiveStream. 2021-02-15 18:08:17 +00:00
configurable_frame_size_encoder.cc Removed _completeFrame since we never allow incomplete frames. 2020-10-28 16:00:27 +00:00
configurable_frame_size_encoder.h Deprecate the raw-pointer constructor of EncodedImage. 2020-09-23 12:51:30 +00:00
DEPS Add TURN server to Emulated Network infrastructure 2020-11-17 21:07:56 +00:00
direct_transport_unittest.cc [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
direct_transport.cc Partly migrate test/ to webrtc::Mutex. 2020-07-08 14:31:00 +00:00
direct_transport.h Use SequenceChecker from public API 2021-02-10 15:04:55 +00:00
drifting_clock.cc Mark test::DriftingClock constants as constexpr 2019-09-10 12:14:50 +00:00
drifting_clock.h Mark test::DriftingClock constants as constexpr 2019-09-10 12:14:50 +00:00
encoder_settings.cc Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
encoder_settings.h Format almost everything. 2019-07-08 13:45:15 +00:00
explicit_key_value_config.cc Add simulation of robust throughput estimator to the event log analyzer 2020-06-17 10:33:02 +00:00
explicit_key_value_config.h Add simulation of robust throughput estimator to the event log analyzer 2020-06-17 10:33:02 +00:00
fake_decoder.cc VideoReceiveStream2: AV1 encoded sink support. 2021-04-08 20:07:22 +00:00
fake_decoder.h VideoReceiveStream2: AV1 encoded sink support. 2021-04-08 20:07:22 +00:00
fake_encoder.cc Changes default pacing factor to 1.1x 2020-10-23 13:43:32 +00:00
fake_encoder.h Use SequenceChecker from public API 2021-02-10 15:04:55 +00:00
fake_texture_frame.cc Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
fake_texture_frame.h Enabling clang::find_bad_constructs for common_video. 2018-07-18 11:26:01 +00:00
fake_videorenderer.h New file api/video/BUILD.gn 2018-05-14 06:57:38 +00:00
fake_vp8_decoder.cc Adds VideoDecoder::GetDecoderInfo() 2021-01-14 13:33:22 +00:00
fake_vp8_decoder.h Adds VideoDecoder::GetDecoderInfo() 2021-01-14 13:33:22 +00:00
fake_vp8_encoder_unittest.cc Ensure FakeVp8Encoder::GetEncoderInfo() writes EncoderInfo.fps_allocation: 2020-09-29 19:29:29 +00:00
fake_vp8_encoder.cc Ensure FakeVp8Encoder::GetEncoderInfo() writes EncoderInfo.fps_allocation: 2020-09-29 19:29:29 +00:00
fake_vp8_encoder.h Use SequenceChecker from public API 2021-02-10 15:04:55 +00:00
field_trial.cc Sanity-check field trial string at initialization. 2019-06-11 14:11:06 +00:00
field_trial.h Sanity-check field trial string at initialization. 2019-06-11 14:11:06 +00:00
frame_forwarder.cc Migrate video/ except video/end_to_end_tests and video/adaptation to webrtc::Mutex. 2020-07-08 12:21:08 +00:00
frame_forwarder.h Migrate video/ except video/end_to_end_tests and video/adaptation to webrtc::Mutex. 2020-07-08 12:21:08 +00:00
frame_generator_capturer_unittest.cc In test/ replace mock macros with unified MOCK_METHOD macro 2020-05-15 08:15:02 +00:00
frame_generator_capturer.cc Optimize calls to std::string::find() and friends for a single char. 2020-12-16 09:01:44 +00:00
frame_generator_capturer.h Partly migrate test/ to webrtc::Mutex. 2020-07-08 14:31:00 +00:00
frame_generator_unittest.cc Migrate WebRTC on FrameGeneratorInterface and remove FrameGenerator class 2019-12-07 00:54:26 +00:00
frame_generator.cc Delete rtc::Callback0 and friends. 2021-02-16 12:41:35 +00:00
frame_generator.h Partly migrate test/ to webrtc::Mutex. 2020-07-08 14:31:00 +00:00
frame_utils.cc Format almost everything. 2019-07-08 13:45:15 +00:00
frame_utils.h Remove rtc_base/scoped_ref_ptr.h. 2019-01-25 20:29:58 +00:00
function_audio_decoder_factory.h Replace RegisterExternalDecoder with decoder factory in NetEqImplTest120ms 2018-12-03 08:34:50 +00:00
gmock.h
gtest.h Reland "Adding gtest-spi.h in webrtc/test/gtest.h" 2018-04-05 08:21:23 +00:00
layer_filtering_transport.cc Reland "Launch external ref control for vp9 encoder" 2020-04-23 13:21:45 +00:00
layer_filtering_transport.h Migrate tests from RtpDepacketizer to VideoRtpDepacketizer interface 2019-12-10 17:37:46 +00:00
mac_capturer.h Rewrite video_loopback to use new mac capturer. 2019-03-06 14:37:33 +00:00
mac_capturer.mm Wrap WebRTC OBJC API types with RTC_OBJC_TYPE. 2020-05-04 15:01:26 +00:00
mappable_native_buffer.cc Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
mappable_native_buffer.h Support native scaling of VideoFrameBuffers in LibvpxVp9Encoder. 2021-03-22 13:35:35 +00:00
mock_audio_decoder_factory.h Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
mock_audio_decoder.cc
mock_audio_decoder.h In test/ replace mock macros with unified MOCK_METHOD macro 2020-05-15 08:15:02 +00:00
mock_audio_encoder_factory.h In test/ replace mock macros with unified MOCK_METHOD macro 2020-05-15 08:15:02 +00:00
mock_audio_encoder.cc Removed Die mock from MockAudioEncoder 2018-02-22 12:53:38 +00:00
mock_audio_encoder.h Reland "Call OnReceivedOverhead after audio network adaptor is created." 2020-08-20 16:07:41 +00:00
mock_frame_transformer.h Remove FrameTransformerInterface functions using EncodedFrame. 2020-05-06 07:26:44 +00:00
mock_transformable_frame.h Define MockTransformableFrame in test/. 2020-05-04 15:17:54 +00:00
mock_transport.cc Reland "Enable and fix chromium clang warnings in rtp_rtcp test targets" 2018-03-09 16:04:35 +00:00
mock_transport.h In test/ replace mock macros with unified MOCK_METHOD macro 2020-05-15 08:15:02 +00:00
null_platform_renderer.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
null_transport.cc
null_transport.h
OWNERS Add landrey as an owner to PC framework code 2020-12-02 16:34:41 +00:00
platform_video_capturer.cc Rewrite video_loopback to use new mac capturer. 2019-03-06 14:37:33 +00:00
platform_video_capturer.h Rewrite video_loopback to use new mac capturer. 2019-03-06 14:37:33 +00:00
rtcp_packet_parser.cc Allowing buffering a LNTF (loss notification) feedback message in RTCPSender 2019-06-03 16:28:34 +00:00
rtcp_packet_parser.h Allowing buffering a LNTF (loss notification) feedback message in RTCPSender 2019-06-03 16:28:34 +00:00
rtp_file_reader_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_file_reader.cc Reland "Rename FATAL() into RTC_FATAL()." 2020-11-18 20:49:08 +00:00
rtp_file_reader.h Fuzzing support for RTPDump VP8 and VP9 Streams. 2019-03-15 18:48:43 +00:00
rtp_file_writer_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_file_writer.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_file_writer.h Delete unneeded includes of common_types.h and gn deps on webrtc_common. 2018-11-20 16:28:39 +00:00
rtp_header_parser.cc Migrate a leftover in test/ to webrtc::Mutex. 2020-07-09 14:28:21 +00:00
rtp_header_parser.h Make the RtpHeaderParserImpl available to tests and tools only. 2019-08-29 15:56:40 +00:00
rtp_rtcp_observer.h Remove unused critical section includes. 2020-07-16 13:52:28 +00:00
run_loop_unittest.cc Reland "Make sure that "current" rtc::Thread instances are always current for TaskQueueBase." 2020-05-15 10:20:03 +00:00
run_loop.cc Introduce a RunLoop class that supports the TaskQueue interface 2020-05-04 18:10:00 +00:00
run_loop.h Introduce a RunLoop class that supports the TaskQueue interface 2020-05-04 18:10:00 +00:00
run_test.cc [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
run_test.h Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
test_main_lib.cc Move initialization of GoogleMock and flags to main from test_main_lib 2020-08-11 11:46:50 +00:00
test_main_lib.h Move initialization of GoogleMock and flags to main from test_main_lib 2020-08-11 11:46:50 +00:00
test_main.cc Move initialization of GoogleMock and flags to main from test_main_lib 2020-08-11 11:46:50 +00:00
test_video_capturer.cc Partly migrate test/ to webrtc::Mutex. 2020-07-08 14:31:00 +00:00
test_video_capturer.h Partly migrate test/ to webrtc::Mutex. 2020-07-08 14:31:00 +00:00
vcm_capturer.cc Format almost everything. 2019-07-08 13:45:15 +00:00
vcm_capturer.h Remove rtc_base/scoped_ref_ptr.h. 2019-01-25 20:29:58 +00:00
video_codec_settings.h Allow to set av1 scalability mode after encoder is constructed 2020-10-19 10:42:23 +00:00
video_decoder_proxy_factory.h Adds VideoDecoder::GetDecoderInfo() 2021-01-14 13:33:22 +00:00
video_encoder_proxy_factory.h Deprecate write-only member CodecInfo::is_hardware_accelerated 2020-08-04 07:56:49 +00:00
video_renderer.cc Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
video_renderer.h Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00