webrtc/test
Elad Alon cde8ab265e Use single FrameBufferController in VP8, created by a factory.
This CL paves the way to making FrameBufferController injectable.

LibvpxVp8Encoder can manage multiple streams. Prior to this CL,
each stream had its own frame buffer controller, all of them held
in a vector by LibvpxVp8Encoder. This complicated the code and
produced some code duplication (cf. SetupTemporalLayers).

This CL:
1. Replaces CreateVp8TemporalLayers() by a factory. (Later CLs
   will make this factory injectable.)
2. Makes LibvpxVp8Encoder use a single controller. This single
   controller will, in the case of multiple streams, delegate
   its work to multiple controllers, but that fact is not visible
   to LibvpxVp8Encoder.

This CL also squashes CL #126046 (Send notifications of RTT and
PLR changes to Vp8FrameBufferController) into it.

Bug: webrtc:10382
Change-Id: Id9b55734bebb457acc276f34a7a9e52cc19c8eb9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126483
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27206}
2019-03-20 11:54:02 +00:00
..
android Reland "Default runner to junit4" 2018-08-21 17:10:05 +00:00
fuzzers Fuzzing support for RTPDump VP8 and VP9 Streams. 2019-03-15 18:48:43 +00:00
gl [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
ios Add support for computing iOS code coverage 2018-11-06 15:18:51 +00:00
linux [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
logging (7) Rename files to snake_case: remove forwarding headers 2019-01-26 00:33:46 +00:00
mac Rewrite video_loopback to use new mac capturer. 2019-03-06 14:37:33 +00:00
pc/e2e Introduce new API for runnig PC e2e test fixture 2019-03-20 11:23:29 +00:00
scenario Avoid using GlobalTaskQueueFactory for TaskQueueForTest 2019-03-19 18:11:52 +00:00
testsupport Don't use the Process method of vcm::VideoReceiver 2019-03-15 15:26:03 +00:00
win Remove rtc_base/scoped_ref_ptr.h. 2019-01-25 20:29:58 +00:00
audio_decoder_proxy_factory.h Refactor NetEqDecoderPlc to use AudioDecoderProxyFactory 2018-12-20 10:17:15 +00:00
BUILD.gn Use single FrameBufferController in VP8, created by a factory. 2019-03-20 11:54:02 +00:00
call_config_utils.cc [clang-tidy] Apply performance-for-range-copy fixes. 2019-01-28 09:53:50 +00:00
call_config_utils.h Added JSON generator for VideoReceiveStream::Config objects. 2019-01-15 00:51:29 +00:00
call_config_utils_unittest.cc Replace implicit int->char->string conversion 2019-02-06 11:10:37 +00:00
call_test.cc Removes rtp level keep alive support. 2019-03-11 14:47:15 +00:00
call_test.h Removes rtp level keep alive support. 2019-03-11 14:47:15 +00:00
configurable_frame_size_encoder.cc Update more VideoEncoder implementations to drop CodecSpecificInfo input 2019-03-07 12:26:57 +00:00
configurable_frame_size_encoder.h Update more VideoEncoder implementations to drop CodecSpecificInfo input 2019-03-07 12:26:57 +00:00
DEPS Add support of fast media sending in peer connection e2e test 2019-02-15 00:51:03 +00:00
direct_transport.cc Calculate next process time in simulated network. 2019-02-08 19:33:17 +00:00
direct_transport.h Calculate next process time in simulated network. 2019-02-08 19:33:17 +00:00
direct_transport_unittest.cc [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
drifting_clock.cc Makes Clock interface fully mutable. 2019-01-31 08:12:05 +00:00
drifting_clock.h Makes Clock interface fully mutable. 2019-01-31 08:12:05 +00:00
encoder_settings.cc Remove rtc_base/scoped_ref_ptr.h. 2019-01-25 20:29:58 +00:00
encoder_settings.h [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
fake_decoder.cc Revert "Delete CodecSpecificInfo argument from VideoDecoder::Decode" 2019-03-07 19:40:17 +00:00
fake_decoder.h Revert "Delete CodecSpecificInfo argument from VideoDecoder::Decode" 2019-03-07 19:40:17 +00:00
fake_encoder.cc Remove rtc::QueuedTask alias, use webrtc::QueuedTask directly 2019-03-11 16:49:21 +00:00
fake_encoder.h Update more VideoEncoder implementations to drop CodecSpecificInfo input 2019-03-07 12:26:57 +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 Revert "Delete CodecSpecificInfo argument from VideoDecoder::Decode" 2019-03-07 19:40:17 +00:00
fake_vp8_decoder.h Revert "Delete CodecSpecificInfo argument from VideoDecoder::Decode" 2019-03-07 19:40:17 +00:00
fake_vp8_encoder.cc Use single FrameBufferController in VP8, created by a factory. 2019-03-20 11:54:02 +00:00
fake_vp8_encoder.h Use single FrameBufferController in VP8, created by a factory. 2019-03-20 11:54:02 +00:00
fake_vp8_encoder_unittest.cc Use function_video_(en|de)coder_factory from api 2018-10-26 14:54:19 +00:00
field_trial.cc Remove deprecated field_trial_default and metrics_default. 2018-09-28 07:21:07 +00:00
field_trial.h Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
frame_generator.cc Wire UpdateRect signalling in test frame generators 2019-03-04 14:42:11 +00:00
frame_generator.h Introduce VideoQualityAnalyzerInjectionHelper. 2019-01-24 17:11:21 +00:00
frame_generator_capturer.cc Migrate RepeatingTask to take raw pointer to TaskQueueBase instead of TaskQueue 2019-03-06 18:44:35 +00:00
frame_generator_capturer.h Allow injection of TaskQueueFactory in FrameGeneratorCapturer. 2019-02-28 17:28:25 +00:00
frame_generator_unittest.cc Remove rtc_base/scoped_ref_ptr.h. 2019-01-25 20:29:58 +00:00
frame_utils.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +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 Update number of spatial layers if SS is available. 2018-12-20 13:14:12 +00:00
layer_filtering_transport.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +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.cc
mock_audio_decoder.h
mock_audio_decoder_factory.h Remove rtc_base/scoped_ref_ptr.h. 2019-01-25 20:29:58 +00:00
mock_audio_encoder.cc Removed Die mock from MockAudioEncoder 2018-02-22 12:53:38 +00:00
mock_audio_encoder.h Replace rtc::Optional with absl::optional in test and rtc_tools 2018-06-18 13:15:23 +00:00
mock_audio_encoder_factory.h Remove rtc_base/scoped_ref_ptr.h. 2019-01-25 20:29:58 +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
null_transport.h
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 Connect LossNotificationController to RtpRtcp 2019-02-25 16:08:35 +00:00
rtcp_packet_parser.h Connect LossNotificationController to RtpRtcp 2019-02-25 16:08:35 +00:00
rtp_file_reader.cc Fuzzing support for RTPDump VP8 and VP9 Streams. 2019-03-15 18:48:43 +00:00
rtp_file_reader.h Fuzzing support for RTPDump VP8 and VP9 Streams. 2019-03-15 18:48:43 +00:00
rtp_file_reader_unittest.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
rtp_file_writer.cc [clang-tidy] Apply modernize-use-override fixes. 2019-01-30 09:26:17 +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_file_writer_unittest.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
rtp_rtcp_observer.h Reland "Delete test/constants.h" 2019-02-19 08:51:20 +00:00
run_loop.cc Modified PressEnterToContinue() to actualy check if Enter is pressed 2018-10-29 10:21:24 +00:00
run_loop.h Modified PressEnterToContinue() to actualy check if Enter is pressed 2018-10-29 10:21:24 +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
single_threaded_task_queue.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
single_threaded_task_queue.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
single_threaded_task_queue_unittest.cc Add default constructor for rtc::Event 2018-11-07 08:57:50 +00:00
statistics.cc [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
statistics.h Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
test_main.cc Fix: Argv may be corrupted after InitGoogleMock found any related flags 2018-10-18 07:40:13 +00:00
test_main_lib.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
test_main_lib.h Fix: Argv may be corrupted after InitGoogleMock found any related flags 2018-10-18 07:40:13 +00:00
test_video_capturer.cc Remove rtc_base/scoped_ref_ptr.h. 2019-01-25 20:29:58 +00:00
test_video_capturer.h Rewrite video_loopback to use new mac capturer. 2019-03-06 14:37:33 +00:00
vcm_capturer.cc Added VcmCapturer::Create loop to allow nonzero device index. 2019-01-29 08:06:22 +00:00
vcm_capturer.h Remove rtc_base/scoped_ref_ptr.h. 2019-01-25 20:29:58 +00:00
video_codec_settings.h Delete unused constant kVideoCodecI420 2019-01-11 09:04:56 +00:00
video_decoder_proxy_factory.h Revert "Delete CodecSpecificInfo argument from VideoDecoder::Decode" 2019-03-07 19:40:17 +00:00
video_encoder_proxy_factory.h Prepare for splitting FrameType into AudioFrameType and VideoFrameType 2019-03-07 10:12:57 +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