webrtc/test
Erik Språng 632a03c0cd Revert "Remove PlayoutDelayOracle and make RtpSenderVideo guarantee delivery"
This reverts commit 4f68f5398d.

Reason for revert: Breaks downstream project

Original change's description:
> Remove PlayoutDelayOracle and make RtpSenderVideo guarantee delivery
> 
> The PlayoutDelayOracle was responsible for making sure the PlayoutDelay
> header extension was successfully propagated to the receiving side. Once
> it was determined that the receiver had received a frame with the new
> delay tag, it's no longer necessary to propagate.
> 
> The issue with this implementation is that it is based on max
> extended sequence number reported via RTCP, which makes it often slow
> to react, could theoretically fail to produce desired outcome (max
> received > X does not guarantee X was fully received and decoded), and
> added a lot of code complexity.
> 
> The guarantee of delivery can in fact be accomplished more reliably and
> with less code by making sure to tag each frame until an undiscardable
> frame is sent.
> 
> This allows containing the logic fully within RTPSenderVideo.
> 
> Bug: webrtc:11340
> Change-Id: I2d1d2b6b67f4f07b8b33336f8fcfcde724243eef
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168221
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Commit-Queue: Erik Språng <sprang@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30473}

TBR=sprang@webrtc.org,stefan@webrtc.org,srte@webrtc.org

Change-Id: Ide922e680ae36bb69b95e58002482cf5ed57e254
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:11340
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168304
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30475}
2020-02-06 16:05:02 +00:00
..
android Reland "Default runner to junit4" 2018-08-21 17:10:05 +00:00
fuzzers Revert "Remove PlayoutDelayOracle and make RtpSenderVideo guarantee delivery" 2020-02-06 16:05:02 +00:00
gl Delete unneeded direct includes of common_types.h 2019-04-01 07:18:13 +00:00
ios Revert "Delete NO_MAIN_THREAD_WRAPPING preprocessor define." 2019-05-21 07:26:54 +00:00
linux [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
logging Fix MemoryLogWriter so that it always writes the full data. 2019-10-25 12:07:32 +00:00
mac Rewrite video_loopback to use new mac capturer. 2019-03-06 14:37:33 +00:00
network Add ability to set custom adapter type on emulated endpoint 2020-01-24 12:53:07 +00:00
pc/e2e Propagate multicodec support to other places of PC level framework 2020-01-22 13:34:18 +00:00
peer_scenario Adds fake video codec mode to PeerScenarioClient 2020-01-27 18:07:45 +00:00
scenario Accept undecoded frame pairs in VideoLayerAnalyzer 2020-02-03 09:46:55 +00:00
testsupport Implement histogram perf results writer. 2020-01-31 11:38:56 +00:00
time_controller Fixes stall in SimulatedProcessThread 2020-01-30 17:37:36 +00:00
win Use deprecated SingleThreadedTaskQueueForTesting as regular task queue 2019-10-22 08:34:57 +00:00
audio_decoder_proxy_factory.h Use std::make_unique instead of absl::make_unique. 2019-09-17 15:47:29 +00:00
BUILD.gn Make video_replay buildable from Chromium. 2020-02-06 10:55:22 +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 Concatenate string literals at compile time. 2020-01-14 14:47:48 +00:00
call_test.h Trials should always be populated in call config. 2019-12-03 10:34:55 +00:00
configurable_frame_size_encoder.cc Format almost everything. 2019-07-08 13:45:15 +00:00
configurable_frame_size_encoder.h Format almost everything. 2019-07-08 13:45:15 +00:00
DEPS Revert "Enable capturing from camera in PC framework" 2019-09-26 12:00:01 +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 Use deprecated SingleThreadedTaskQueueForTesting as regular task queue 2019-10-22 08:34:57 +00:00
direct_transport.h Use deprecated SingleThreadedTaskQueueForTesting as regular task queue 2019-10-22 08:34:57 +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 Update test::CreateVideoStreams to use configured scale_resolution_down_by if set. 2019-08-08 08:51:18 +00:00
encoder_settings.h Format almost everything. 2019-07-08 13:45:15 +00:00
fake_decoder.cc Use std::make_unique instead of absl::make_unique. 2019-09-17 15:47:29 +00:00
fake_decoder.h Reland "Copy video frames metadata between encoded and plain frames in one place" 2019-05-13 14:51:11 +00:00
fake_encoder.cc Add field trial for rampup in quality based on available bandwidth. 2019-11-11 10:13:28 +00:00
fake_encoder.h Add field trial for rampup in quality based on available bandwidth. 2019-11-11 10:13:28 +00:00
fake_texture_frame.cc (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +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 Reland "Delete CodecSpecificInfo argument from VideoDecoder::Decode" 2019-04-11 13:03:52 +00:00
fake_vp8_decoder.h Reland "Delete CodecSpecificInfo argument from VideoDecoder::Decode" 2019-04-11 13:03:52 +00:00
fake_vp8_encoder_unittest.cc Use std::make_unique instead of absl::make_unique. 2019-09-17 15:47:29 +00:00
fake_vp8_encoder.cc Pass FecControllerOverride to Vp8FrameBufferControllerFactory::Create 2019-07-02 10:55:55 +00:00
fake_vp8_encoder.h Pass FecControllerOverride to Vp8FrameBufferControllerFactory::Create 2019-07-02 10:55: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 WebRTC on FrameGeneratorInterface and remove FrameGenerator class 2019-12-07 00:54:26 +00:00
frame_forwarder.h Migrate WebRTC on FrameGeneratorInterface and remove FrameGenerator class 2019-12-07 00:54:26 +00:00
frame_generator_capturer_unittest.cc Run delay tasks on time when using GlobalSimulatedTimeController. 2020-01-03 16:37:42 +00:00
frame_generator_capturer.cc Migrate WebRTC on FrameGeneratorInterface and remove FrameGenerator class 2019-12-07 00:54:26 +00:00
frame_generator_capturer.h Migrate WebRTC on FrameGeneratorInterface and remove FrameGenerator class 2019-12-07 00:54:26 +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 Migrate WebRTC on FrameGeneratorInterface and remove FrameGenerator class 2019-12-07 00:54:26 +00:00
frame_generator.h Migrate WebRTC on FrameGeneratorInterface and remove FrameGenerator class 2019-12-07 00:54:26 +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 Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
gtest.h Reland "Adding gtest-spi.h in webrtc/test/gtest.h" 2018-04-05 08:21:23 +00:00
layer_filtering_transport.cc Migrate tests from RtpDepacketizer to VideoRtpDepacketizer interface 2019-12-10 17:37:46 +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 Support different capture resolutions in new video_loopback. 2019-03-14 14:01:32 +00:00
mock_audio_decoder_factory.h Fully qualify googletest symbols. 2019-04-09 17:18:20 +00:00
mock_audio_decoder.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
mock_audio_decoder.h Delete AudioDecoder method IncomingPacket 2019-09-24 08:30:24 +00:00
mock_audio_encoder_factory.h Fully qualify googletest symbols. 2019-04-09 17:18:20 +00:00
mock_audio_encoder.cc Removed Die mock from MockAudioEncoder 2018-02-22 12:53:38 +00:00
mock_audio_encoder.h Adds trial to calculate audio overhead based on available data. 2019-10-02 13:42:15 +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 Reland "Enable and fix chromium clang warnings in rtp_rtcp test targets" 2018-03-09 16:04:35 +00:00
null_platform_renderer.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
null_transport.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
null_transport.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
OWNERS Add new owners to the test/ directory. 2019-01-14 10:55:37 +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 Add missing assert.h for win no-test build 2019-11-17 07:52:32 +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 Use std::make_unique instead of absl::make_unique. 2019-09-17 15:47:29 +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 Migrate several call tests from legacy RtpHeaderParser to RtpPacket parsing. 2020-01-07 13:02:52 +00:00
run_loop.cc Use deprecated SingleThreadedTaskQueueForTesting as regular task queue 2019-10-22 08:34:57 +00:00
run_loop.h Use deprecated SingleThreadedTaskQueueForTesting as regular task queue 2019-10-22 08:34:57 +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 Activate event tracing for unit tests. For good! 2020-01-29 10:11:34 +00:00
test_main_lib.h Migrate WebRTC test infra to ABSL_FLAG. 2019-07-19 06:54:04 +00:00
test_main.cc Print stack trace when a test crash 2019-08-12 15:36:20 +00:00
test_video_capturer.cc Implement automatic animation detection in VideoStreamEncoder 2019-12-04 11:24:31 +00:00
test_video_capturer.h Enable capturing from camera in PC framework 2019-10-10 13:06:39 +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 Format almost everything. 2019-07-08 13:45:15 +00:00
video_decoder_proxy_factory.h Use std::make_unique instead of absl::make_unique. 2019-09-17 15:47:29 +00:00
video_encoder_proxy_factory.h Use std::make_unique instead of absl::make_unique. 2019-09-17 15:47:29 +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