Remove WebRTC-PreStreamDecoders fieldtrial
The WebRTC-PreStreamDecoders (aka Lazy decoder creation) experiment is launched. Remove field trial. Bug: chromium:1319864 Change-Id: I17819ba7c270922c1779d25b58a9c3bed7020ac4 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/281162 Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> Commit-Queue: Johannes Kron <kron@webrtc.org> Cr-Commit-Position: refs/heads/main@{#38525}
This commit is contained in:
committed by
WebRTC LUCI CQ
parent
936c1af16d
commit
4a3f26198d
@ -66,10 +66,6 @@ namespace {
|
|||||||
constexpr TimeDelta kMinBaseMinimumDelay = TimeDelta::Zero();
|
constexpr TimeDelta kMinBaseMinimumDelay = TimeDelta::Zero();
|
||||||
constexpr TimeDelta kMaxBaseMinimumDelay = TimeDelta::Seconds(10);
|
constexpr TimeDelta kMaxBaseMinimumDelay = TimeDelta::Seconds(10);
|
||||||
|
|
||||||
// Create no decoders before the stream starts. All decoders are created on
|
|
||||||
// demand when we receive payload data of the corresponding type.
|
|
||||||
constexpr int kDefaultMaximumPreStreamDecoders = 0;
|
|
||||||
|
|
||||||
// Concrete instance of RecordableEncodedFrame wrapping needed content
|
// Concrete instance of RecordableEncodedFrame wrapping needed content
|
||||||
// from EncodedFrame.
|
// from EncodedFrame.
|
||||||
class WebRtcRecordableEncodedFrame : public RecordableEncodedFrame {
|
class WebRtcRecordableEncodedFrame : public RecordableEncodedFrame {
|
||||||
@ -227,7 +223,6 @@ VideoReceiveStream2::VideoReceiveStream2(
|
|||||||
max_wait_for_frame_(DetermineMaxWaitForFrame(
|
max_wait_for_frame_(DetermineMaxWaitForFrame(
|
||||||
TimeDelta::Millis(config_.rtp.nack.rtp_history_ms),
|
TimeDelta::Millis(config_.rtp.nack.rtp_history_ms),
|
||||||
false)),
|
false)),
|
||||||
maximum_pre_stream_decoders_("max", kDefaultMaximumPreStreamDecoders),
|
|
||||||
decode_queue_(task_queue_factory_->CreateTaskQueue(
|
decode_queue_(task_queue_factory_->CreateTaskQueue(
|
||||||
"DecodingQueue",
|
"DecodingQueue",
|
||||||
TaskQueueFactory::Priority::HIGH)) {
|
TaskQueueFactory::Priority::HIGH)) {
|
||||||
@ -268,12 +263,6 @@ VideoReceiveStream2::VideoReceiveStream2(
|
|||||||
} else {
|
} else {
|
||||||
rtp_receive_statistics_->EnableRetransmitDetection(remote_ssrc(), true);
|
rtp_receive_statistics_->EnableRetransmitDetection(remote_ssrc(), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
ParseFieldTrial(
|
|
||||||
{
|
|
||||||
&maximum_pre_stream_decoders_,
|
|
||||||
},
|
|
||||||
call_->trials().Lookup("WebRTC-PreStreamDecoders"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
VideoReceiveStream2::~VideoReceiveStream2() {
|
VideoReceiveStream2::~VideoReceiveStream2() {
|
||||||
@ -393,18 +382,6 @@ void VideoReceiveStream2::Start() {
|
|||||||
stats_proxy_.DecoderThreadStarting();
|
stats_proxy_.DecoderThreadStarting();
|
||||||
decode_queue_.PostTask([this] {
|
decode_queue_.PostTask([this] {
|
||||||
RTC_DCHECK_RUN_ON(&decode_queue_);
|
RTC_DCHECK_RUN_ON(&decode_queue_);
|
||||||
// Create up to maximum_pre_stream_decoders_ up front, wait the the other
|
|
||||||
// decoders until they are requested (i.e., we receive the corresponding
|
|
||||||
// payload).
|
|
||||||
int decoders_count = 0;
|
|
||||||
for (const Decoder& decoder : config_.decoders) {
|
|
||||||
if (decoders_count >= maximum_pre_stream_decoders_) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
CreateAndRegisterExternalDecoder(decoder);
|
|
||||||
++decoders_count;
|
|
||||||
}
|
|
||||||
|
|
||||||
decoder_stopped_ = false;
|
decoder_stopped_ = false;
|
||||||
});
|
});
|
||||||
buffer_->StartNextDecode(true);
|
buffer_->StartNextDecode(true);
|
||||||
|
|||||||
@ -334,11 +334,6 @@ class VideoReceiveStream2
|
|||||||
std::vector<std::unique_ptr<EncodedFrame>> buffered_encoded_frames_
|
std::vector<std::unique_ptr<EncodedFrame>> buffered_encoded_frames_
|
||||||
RTC_GUARDED_BY(decode_queue_);
|
RTC_GUARDED_BY(decode_queue_);
|
||||||
|
|
||||||
// Set by the field trial WebRTC-PreStreamDecoders. The parameter `max`
|
|
||||||
// determines the maximum number of decoders that are created up front before
|
|
||||||
// any video frame has been received.
|
|
||||||
FieldTrialParameter<int> maximum_pre_stream_decoders_;
|
|
||||||
|
|
||||||
// Defined last so they are destroyed before all other members.
|
// Defined last so they are destroyed before all other members.
|
||||||
rtc::TaskQueue decode_queue_;
|
rtc::TaskQueue decode_queue_;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user