Remove WebRTC-FrameBuffer3 field trial
The new frame buffer is already the default. Sync decoding can now be inferred by the presence of a metronome rather than using the field trial. Tests have been updated to use the DecodeSynchronizer rather than the field trial. Bug: webrtc:14003 Change-Id: I33b457feaf4eac1500f3bf828680e445ae4d93cf Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/274163 Auto-Submit: Evan Shrubsole <eshr@webrtc.org> Reviewed-by: Erik Språng <sprang@webrtc.org> Commit-Queue: Erik Språng <sprang@webrtc.org> Cr-Commit-Position: refs/heads/main@{#38011}
This commit is contained in:
committed by
WebRTC LUCI CQ
parent
fbfd81f61a
commit
a006ba152f
@ -15,6 +15,7 @@
|
||||
#include <limits>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <tuple>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
|
||||
@ -33,6 +34,7 @@
|
||||
#include "test/scoped_key_value_config.h"
|
||||
#include "test/time_controller/simulated_time_controller.h"
|
||||
#include "video/decode_synchronizer.h"
|
||||
#include "video/task_queue_frame_decode_scheduler.h"
|
||||
|
||||
using ::testing::_;
|
||||
using ::testing::AllOf;
|
||||
@ -107,11 +109,12 @@ class VCMReceiveStatisticsCallbackMock : public VCMReceiveStatisticsCallback {
|
||||
constexpr auto kMaxWaitForKeyframe = TimeDelta::Millis(500);
|
||||
constexpr auto kMaxWaitForFrame = TimeDelta::Millis(1500);
|
||||
class VideoStreamBufferControllerFixture
|
||||
: public ::testing::WithParamInterface<std::string>,
|
||||
: public ::testing::WithParamInterface<std::tuple<bool, std::string>>,
|
||||
public FrameSchedulingReceiver {
|
||||
public:
|
||||
VideoStreamBufferControllerFixture()
|
||||
: field_trials_(GetParam()),
|
||||
: sync_decoding_(std::get<0>(GetParam())),
|
||||
field_trials_(std::get<1>(GetParam())),
|
||||
time_controller_(kClockStart),
|
||||
clock_(time_controller_.GetClock()),
|
||||
fake_metronome_(time_controller_.GetTaskQueueFactory(),
|
||||
@ -120,7 +123,7 @@ class VideoStreamBufferControllerFixture
|
||||
&fake_metronome_,
|
||||
time_controller_.GetMainThread()),
|
||||
timing_(clock_, field_trials_),
|
||||
buffer_(VideoStreamBufferController::CreateFromFieldTrial(
|
||||
buffer_(std::make_unique<VideoStreamBufferController>(
|
||||
clock_,
|
||||
time_controller_.GetMainThread(),
|
||||
&timing_,
|
||||
@ -128,7 +131,10 @@ class VideoStreamBufferControllerFixture
|
||||
this,
|
||||
kMaxWaitForKeyframe,
|
||||
kMaxWaitForFrame,
|
||||
&decode_sync_,
|
||||
sync_decoding_ ? decode_sync_.CreateSynchronizedFrameScheduler()
|
||||
: std::make_unique<TaskQueueFrameDecodeScheduler>(
|
||||
clock_,
|
||||
time_controller_.GetMainThread()),
|
||||
field_trials_)) {
|
||||
// Avoid starting with negative render times.
|
||||
timing_.set_min_playout_delay(TimeDelta::Millis(10));
|
||||
@ -198,6 +204,7 @@ class VideoStreamBufferControllerFixture
|
||||
int dropped_frames() const { return dropped_frames_; }
|
||||
|
||||
protected:
|
||||
const bool sync_decoding_;
|
||||
test::ScopedKeyValueConfig field_trials_;
|
||||
GlobalSimulatedTimeController time_controller_;
|
||||
Clock* const clock_;
|
||||
@ -732,11 +739,14 @@ TEST_P(VideoStreamBufferControllerTest, NextFrameWithOldTimestamp) {
|
||||
EXPECT_THAT(WaitForFrameOrTimeout(kFps30Delay), Frame(test::WithId(2)));
|
||||
}
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(
|
||||
VideoStreamBufferController,
|
||||
VideoStreamBufferControllerTest,
|
||||
::testing::Values("WebRTC-FrameBuffer3/arm:FrameBuffer3/",
|
||||
"WebRTC-FrameBuffer3/arm:SyncDecoding/"));
|
||||
INSTANTIATE_TEST_SUITE_P(VideoStreamBufferController,
|
||||
VideoStreamBufferControllerTest,
|
||||
::testing::Combine(::testing::Bool(),
|
||||
::testing::Values("")),
|
||||
[](const auto& info) {
|
||||
return std::get<0>(info.param) ? "SyncDecoding"
|
||||
: "UnsyncedDecoding";
|
||||
});
|
||||
|
||||
class LowLatencyVideoStreamBufferControllerTest
|
||||
: public ::testing::Test,
|
||||
@ -817,10 +827,11 @@ TEST_P(LowLatencyVideoStreamBufferControllerTest,
|
||||
INSTANTIATE_TEST_SUITE_P(
|
||||
VideoStreamBufferController,
|
||||
LowLatencyVideoStreamBufferControllerTest,
|
||||
::testing::Values(
|
||||
"WebRTC-FrameBuffer3/arm:FrameBuffer3/"
|
||||
"WebRTC-ZeroPlayoutDelay/min_pacing:16ms,max_decode_queue_size:5/",
|
||||
"WebRTC-FrameBuffer3/arm:SyncDecoding/"
|
||||
"WebRTC-ZeroPlayoutDelay/min_pacing:16ms,max_decode_queue_size:5/"));
|
||||
::testing::Combine(
|
||||
::testing::Bool(),
|
||||
::testing::Values(
|
||||
"WebRTC-ZeroPlayoutDelay/min_pacing:16ms,max_decode_queue_size:5/",
|
||||
"WebRTC-ZeroPlayoutDelay/"
|
||||
"min_pacing:16ms,max_decode_queue_size:5/")));
|
||||
|
||||
} // namespace webrtc
|
||||
|
||||
Reference in New Issue
Block a user