Delete field trial WebRTC-GenericDescriptor
this trial is by default on for three months since https://webrtc-review.googlesource.com/c/src/+/168661 Bug: webrtc:11503 Change-Id: I8f2e0996fd1c77113715628198a409f12a525d51 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176242 Reviewed-by: Sebastian Jansson <srte@webrtc.org> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org> Cr-Commit-Position: refs/heads/master@{#31424}
This commit is contained in:
parent
40f1fe9cff
commit
636865e05d
@ -139,10 +139,7 @@ RtpPayloadParams::RtpPayloadParams(const uint32_t ssrc,
|
|||||||
: ssrc_(ssrc),
|
: ssrc_(ssrc),
|
||||||
generic_picture_id_experiment_(
|
generic_picture_id_experiment_(
|
||||||
absl::StartsWith(trials.Lookup("WebRTC-GenericPictureId"),
|
absl::StartsWith(trials.Lookup("WebRTC-GenericPictureId"),
|
||||||
"Enabled")),
|
"Enabled")) {
|
||||||
generic_descriptor_experiment_(
|
|
||||||
!absl::StartsWith(trials.Lookup("WebRTC-GenericDescriptor"),
|
|
||||||
"Disabled")) {
|
|
||||||
for (auto& spatial_layer : last_shared_frame_id_)
|
for (auto& spatial_layer : last_shared_frame_id_)
|
||||||
spatial_layer.fill(-1);
|
spatial_layer.fill(-1);
|
||||||
|
|
||||||
@ -186,9 +183,8 @@ RTPVideoHeader RtpPayloadParams::GetRtpVideoHeader(
|
|||||||
|
|
||||||
SetCodecSpecific(&rtp_video_header, first_frame_in_picture);
|
SetCodecSpecific(&rtp_video_header, first_frame_in_picture);
|
||||||
|
|
||||||
if (generic_descriptor_experiment_)
|
SetGeneric(codec_specific_info, shared_frame_id, is_keyframe,
|
||||||
SetGeneric(codec_specific_info, shared_frame_id, is_keyframe,
|
&rtp_video_header);
|
||||||
&rtp_video_header);
|
|
||||||
|
|
||||||
return rtp_video_header;
|
return rtp_video_header;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -114,7 +114,6 @@ class RtpPayloadParams final {
|
|||||||
RtpPayloadState state_;
|
RtpPayloadState state_;
|
||||||
|
|
||||||
const bool generic_picture_id_experiment_;
|
const bool generic_picture_id_experiment_;
|
||||||
const bool generic_descriptor_experiment_;
|
|
||||||
};
|
};
|
||||||
} // namespace webrtc
|
} // namespace webrtc
|
||||||
#endif // CALL_RTP_PAYLOAD_PARAMS_H_
|
#endif // CALL_RTP_PAYLOAD_PARAMS_H_
|
||||||
|
|||||||
@ -350,8 +350,6 @@ TEST(RtpPayloadParamsTest, PictureIdForOldGenericFormat) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
TEST(RtpPayloadParamsTest, GenericDescriptorForGenericCodec) {
|
TEST(RtpPayloadParamsTest, GenericDescriptorForGenericCodec) {
|
||||||
test::ScopedFieldTrials generic_picture_id(
|
|
||||||
"WebRTC-GenericDescriptor/Enabled/");
|
|
||||||
RtpPayloadState state{};
|
RtpPayloadState state{};
|
||||||
|
|
||||||
EncodedImage encoded_image;
|
EncodedImage encoded_image;
|
||||||
@ -376,8 +374,6 @@ TEST(RtpPayloadParamsTest, GenericDescriptorForGenericCodec) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
TEST(RtpPayloadParamsTest, SetsGenericFromGenericFrameInfo) {
|
TEST(RtpPayloadParamsTest, SetsGenericFromGenericFrameInfo) {
|
||||||
test::ScopedFieldTrials generic_picture_id(
|
|
||||||
"WebRTC-GenericDescriptor/Enabled/");
|
|
||||||
RtpPayloadState state;
|
RtpPayloadState state;
|
||||||
EncodedImage encoded_image;
|
EncodedImage encoded_image;
|
||||||
CodecSpecificInfo codec_info;
|
CodecSpecificInfo codec_info;
|
||||||
@ -426,9 +422,7 @@ class RtpPayloadParamsVp8ToGenericTest : public ::testing::Test {
|
|||||||
enum LayerSync { kNoSync, kSync };
|
enum LayerSync { kNoSync, kSync };
|
||||||
|
|
||||||
RtpPayloadParamsVp8ToGenericTest()
|
RtpPayloadParamsVp8ToGenericTest()
|
||||||
: generic_descriptor_field_trial_("WebRTC-GenericDescriptor/Enabled/"),
|
: state_(), params_(123, &state_, trials_config_) {}
|
||||||
state_(),
|
|
||||||
params_(123, &state_, trials_config_) {}
|
|
||||||
|
|
||||||
void ConvertAndCheck(int temporal_index,
|
void ConvertAndCheck(int temporal_index,
|
||||||
int64_t shared_frame_id,
|
int64_t shared_frame_id,
|
||||||
@ -464,7 +458,6 @@ class RtpPayloadParamsVp8ToGenericTest : public ::testing::Test {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
test::ScopedFieldTrials generic_descriptor_field_trial_;
|
|
||||||
FieldTrialBasedConfig trials_config_;
|
FieldTrialBasedConfig trials_config_;
|
||||||
RtpPayloadState state_;
|
RtpPayloadState state_;
|
||||||
RtpPayloadParams params_;
|
RtpPayloadParams params_;
|
||||||
@ -523,9 +516,7 @@ class RtpPayloadParamsH264ToGenericTest : public ::testing::Test {
|
|||||||
enum LayerSync { kNoSync, kSync };
|
enum LayerSync { kNoSync, kSync };
|
||||||
|
|
||||||
RtpPayloadParamsH264ToGenericTest()
|
RtpPayloadParamsH264ToGenericTest()
|
||||||
: generic_descriptor_field_trial_("WebRTC-GenericDescriptor/Enabled/"),
|
: state_(), params_(123, &state_, trials_config_) {}
|
||||||
state_(),
|
|
||||||
params_(123, &state_, trials_config_) {}
|
|
||||||
|
|
||||||
void ConvertAndCheck(int temporal_index,
|
void ConvertAndCheck(int temporal_index,
|
||||||
int64_t shared_frame_id,
|
int64_t shared_frame_id,
|
||||||
@ -561,7 +552,6 @@ class RtpPayloadParamsH264ToGenericTest : public ::testing::Test {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
test::ScopedFieldTrials generic_descriptor_field_trial_;
|
|
||||||
FieldTrialBasedConfig trials_config_;
|
FieldTrialBasedConfig trials_config_;
|
||||||
RtpPayloadState state_;
|
RtpPayloadState state_;
|
||||||
RtpPayloadParams params_;
|
RtpPayloadParams params_;
|
||||||
|
|||||||
@ -678,8 +678,6 @@ TEST(RtpVideoSenderTest, EarlyRetransmits) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
TEST(RtpVideoSenderTest, SupportsDependencyDescriptor) {
|
TEST(RtpVideoSenderTest, SupportsDependencyDescriptor) {
|
||||||
test::ScopedFieldTrials trials("WebRTC-GenericDescriptor/Enabled/");
|
|
||||||
|
|
||||||
RtpVideoSenderTestFixture test({kSsrc1}, {}, kPayloadType, {});
|
RtpVideoSenderTestFixture test({kSsrc1}, {}, kPayloadType, {});
|
||||||
test.router()->SetActive(true);
|
test.router()->SetActive(true);
|
||||||
|
|
||||||
@ -744,8 +742,6 @@ TEST(RtpVideoSenderTest, SupportsDependencyDescriptor) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
TEST(RtpVideoSenderTest, SupportsStoppingUsingDependencyDescriptor) {
|
TEST(RtpVideoSenderTest, SupportsStoppingUsingDependencyDescriptor) {
|
||||||
test::ScopedFieldTrials trials("WebRTC-GenericDescriptor/Enabled/");
|
|
||||||
|
|
||||||
RtpVideoSenderTestFixture test({kSsrc1}, {}, kPayloadType, {});
|
RtpVideoSenderTestFixture test({kSsrc1}, {}, kPayloadType, {});
|
||||||
test.router()->SetActive(true);
|
test.router()->SetActive(true);
|
||||||
|
|
||||||
|
|||||||
@ -34,18 +34,14 @@ enum : int { // The first valid value is 1.
|
|||||||
};
|
};
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
class CodecEndToEndTest : public test::CallTest,
|
class CodecEndToEndTest : public test::CallTest {
|
||||||
public ::testing::WithParamInterface<std::string> {
|
|
||||||
public:
|
public:
|
||||||
CodecEndToEndTest() : field_trial_(GetParam()) {
|
CodecEndToEndTest() {
|
||||||
RegisterRtpExtension(
|
RegisterRtpExtension(
|
||||||
RtpExtension(RtpExtension::kColorSpaceUri, kColorSpaceExtensionId));
|
RtpExtension(RtpExtension::kColorSpaceUri, kColorSpaceExtensionId));
|
||||||
RegisterRtpExtension(RtpExtension(RtpExtension::kVideoRotationUri,
|
RegisterRtpExtension(RtpExtension(RtpExtension::kVideoRotationUri,
|
||||||
kVideoRotationExtensionId));
|
kVideoRotationExtensionId));
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
|
||||||
test::ScopedFieldTrials field_trial_;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class CodecObserver : public test::EndToEndTest,
|
class CodecObserver : public test::EndToEndTest,
|
||||||
@ -121,13 +117,7 @@ class CodecObserver : public test::EndToEndTest,
|
|||||||
int frame_counter_;
|
int frame_counter_;
|
||||||
};
|
};
|
||||||
|
|
||||||
INSTANTIATE_TEST_SUITE_P(
|
TEST_F(CodecEndToEndTest, SendsAndReceivesVP8) {
|
||||||
GenericDescriptor,
|
|
||||||
CodecEndToEndTest,
|
|
||||||
::testing::Values("WebRTC-GenericDescriptor/Disabled/",
|
|
||||||
"WebRTC-GenericDescriptor/Enabled/"));
|
|
||||||
|
|
||||||
TEST_P(CodecEndToEndTest, SendsAndReceivesVP8) {
|
|
||||||
test::FunctionVideoEncoderFactory encoder_factory(
|
test::FunctionVideoEncoderFactory encoder_factory(
|
||||||
[]() { return VP8Encoder::Create(); });
|
[]() { return VP8Encoder::Create(); });
|
||||||
test::FunctionVideoDecoderFactory decoder_factory(
|
test::FunctionVideoDecoderFactory decoder_factory(
|
||||||
@ -137,7 +127,7 @@ TEST_P(CodecEndToEndTest, SendsAndReceivesVP8) {
|
|||||||
RunBaseTest(&test);
|
RunBaseTest(&test);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(CodecEndToEndTest, SendsAndReceivesVP8Rotation90) {
|
TEST_F(CodecEndToEndTest, SendsAndReceivesVP8Rotation90) {
|
||||||
test::FunctionVideoEncoderFactory encoder_factory(
|
test::FunctionVideoEncoderFactory encoder_factory(
|
||||||
[]() { return VP8Encoder::Create(); });
|
[]() { return VP8Encoder::Create(); });
|
||||||
test::FunctionVideoDecoderFactory decoder_factory(
|
test::FunctionVideoDecoderFactory decoder_factory(
|
||||||
@ -148,7 +138,7 @@ TEST_P(CodecEndToEndTest, SendsAndReceivesVP8Rotation90) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#if defined(RTC_ENABLE_VP9)
|
#if defined(RTC_ENABLE_VP9)
|
||||||
TEST_P(CodecEndToEndTest, SendsAndReceivesVP9) {
|
TEST_F(CodecEndToEndTest, SendsAndReceivesVP9) {
|
||||||
test::FunctionVideoEncoderFactory encoder_factory(
|
test::FunctionVideoEncoderFactory encoder_factory(
|
||||||
[]() { return VP9Encoder::Create(); });
|
[]() { return VP9Encoder::Create(); });
|
||||||
test::FunctionVideoDecoderFactory decoder_factory(
|
test::FunctionVideoDecoderFactory decoder_factory(
|
||||||
@ -158,7 +148,7 @@ TEST_P(CodecEndToEndTest, SendsAndReceivesVP9) {
|
|||||||
RunBaseTest(&test);
|
RunBaseTest(&test);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(CodecEndToEndTest, SendsAndReceivesVP9VideoRotation90) {
|
TEST_F(CodecEndToEndTest, SendsAndReceivesVP9VideoRotation90) {
|
||||||
test::FunctionVideoEncoderFactory encoder_factory(
|
test::FunctionVideoEncoderFactory encoder_factory(
|
||||||
[]() { return VP9Encoder::Create(); });
|
[]() { return VP9Encoder::Create(); });
|
||||||
test::FunctionVideoDecoderFactory decoder_factory(
|
test::FunctionVideoDecoderFactory decoder_factory(
|
||||||
@ -168,7 +158,7 @@ TEST_P(CodecEndToEndTest, SendsAndReceivesVP9VideoRotation90) {
|
|||||||
RunBaseTest(&test);
|
RunBaseTest(&test);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(CodecEndToEndTest, SendsAndReceivesVP9ExplicitColorSpace) {
|
TEST_F(CodecEndToEndTest, SendsAndReceivesVP9ExplicitColorSpace) {
|
||||||
test::FunctionVideoEncoderFactory encoder_factory(
|
test::FunctionVideoEncoderFactory encoder_factory(
|
||||||
[]() { return VP9Encoder::Create(); });
|
[]() { return VP9Encoder::Create(); });
|
||||||
test::FunctionVideoDecoderFactory decoder_factory(
|
test::FunctionVideoDecoderFactory decoder_factory(
|
||||||
@ -179,7 +169,7 @@ TEST_P(CodecEndToEndTest, SendsAndReceivesVP9ExplicitColorSpace) {
|
|||||||
RunBaseTest(&test);
|
RunBaseTest(&test);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(CodecEndToEndTest,
|
TEST_F(CodecEndToEndTest,
|
||||||
SendsAndReceivesVP9ExplicitColorSpaceWithHdrMetadata) {
|
SendsAndReceivesVP9ExplicitColorSpaceWithHdrMetadata) {
|
||||||
test::FunctionVideoEncoderFactory encoder_factory(
|
test::FunctionVideoEncoderFactory encoder_factory(
|
||||||
[]() { return VP9Encoder::Create(); });
|
[]() { return VP9Encoder::Create(); });
|
||||||
@ -192,7 +182,7 @@ TEST_P(CodecEndToEndTest,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Mutiplex tests are using VP9 as the underlying implementation.
|
// Mutiplex tests are using VP9 as the underlying implementation.
|
||||||
TEST_P(CodecEndToEndTest, SendsAndReceivesMultiplex) {
|
TEST_F(CodecEndToEndTest, SendsAndReceivesMultiplex) {
|
||||||
InternalEncoderFactory internal_encoder_factory;
|
InternalEncoderFactory internal_encoder_factory;
|
||||||
InternalDecoderFactory internal_decoder_factory;
|
InternalDecoderFactory internal_decoder_factory;
|
||||||
test::FunctionVideoEncoderFactory encoder_factory(
|
test::FunctionVideoEncoderFactory encoder_factory(
|
||||||
@ -211,7 +201,7 @@ TEST_P(CodecEndToEndTest, SendsAndReceivesMultiplex) {
|
|||||||
RunBaseTest(&test);
|
RunBaseTest(&test);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(CodecEndToEndTest, SendsAndReceivesMultiplexVideoRotation90) {
|
TEST_F(CodecEndToEndTest, SendsAndReceivesMultiplexVideoRotation90) {
|
||||||
InternalEncoderFactory internal_encoder_factory;
|
InternalEncoderFactory internal_encoder_factory;
|
||||||
InternalDecoderFactory internal_decoder_factory;
|
InternalDecoderFactory internal_decoder_factory;
|
||||||
test::FunctionVideoEncoderFactory encoder_factory(
|
test::FunctionVideoEncoderFactory encoder_factory(
|
||||||
|
|||||||
@ -90,26 +90,6 @@ std::string ClipNameToClipPath(const char* clip_name) {
|
|||||||
// logs // bool
|
// logs // bool
|
||||||
// };
|
// };
|
||||||
|
|
||||||
class GenericDescriptorTest : public ::testing::TestWithParam<std::string> {
|
|
||||||
public:
|
|
||||||
GenericDescriptorTest()
|
|
||||||
: field_trial_(AppendFieldTrials(GetParam())),
|
|
||||||
generic_descriptor_enabled_(
|
|
||||||
field_trial::IsEnabled("WebRTC-GenericDescriptor")) {}
|
|
||||||
|
|
||||||
std::string GetTestName(std::string base) {
|
|
||||||
if (generic_descriptor_enabled_)
|
|
||||||
base += "_generic_descriptor";
|
|
||||||
return base;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool GenericDescriptorEnabled() const { return generic_descriptor_enabled_; }
|
|
||||||
|
|
||||||
private:
|
|
||||||
test::ScopedFieldTrials field_trial_;
|
|
||||||
bool generic_descriptor_enabled_;
|
|
||||||
};
|
|
||||||
|
|
||||||
#if defined(RTC_ENABLE_VP9)
|
#if defined(RTC_ENABLE_VP9)
|
||||||
TEST(FullStackTest, ForemanCifWithoutPacketLossVp9) {
|
TEST(FullStackTest, ForemanCifWithoutPacketLossVp9) {
|
||||||
auto fixture = CreateVideoQualityTestFixture();
|
auto fixture = CreateVideoQualityTestFixture();
|
||||||
@ -125,7 +105,7 @@ TEST(FullStackTest, ForemanCifWithoutPacketLossVp9) {
|
|||||||
fixture->RunWithAnalyzer(foreman_cif);
|
fixture->RunWithAnalyzer(foreman_cif);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(GenericDescriptorTest, ForemanCifPlr5Vp9) {
|
TEST(GenericDescriptorTest, ForemanCifPlr5Vp9) {
|
||||||
auto fixture = CreateVideoQualityTestFixture();
|
auto fixture = CreateVideoQualityTestFixture();
|
||||||
ParamsWithLogging foreman_cif;
|
ParamsWithLogging foreman_cif;
|
||||||
foreman_cif.call.send_side_bwe = true;
|
foreman_cif.call.send_side_bwe = true;
|
||||||
@ -134,11 +114,11 @@ TEST_P(GenericDescriptorTest, ForemanCifPlr5Vp9) {
|
|||||||
30000, 500000, 2000000, false,
|
30000, 500000, 2000000, false,
|
||||||
"VP9", 1, 0, 0,
|
"VP9", 1, 0, 0,
|
||||||
false, false, true, ClipNameToClipPath("foreman_cif")};
|
false, false, true, ClipNameToClipPath("foreman_cif")};
|
||||||
foreman_cif.analyzer = {GetTestName("foreman_cif_delay_50_0_plr_5_VP9"), 0.0,
|
foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5_VP9_generic_descriptor",
|
||||||
0.0, kFullStackTestDurationSecs};
|
0.0, 0.0, kFullStackTestDurationSecs};
|
||||||
foreman_cif.config->loss_percent = 5;
|
foreman_cif.config->loss_percent = 5;
|
||||||
foreman_cif.config->queue_delay_ms = 50;
|
foreman_cif.config->queue_delay_ms = 50;
|
||||||
foreman_cif.call.generic_descriptor = GenericDescriptorEnabled();
|
foreman_cif.call.generic_descriptor = true;
|
||||||
fixture->RunWithAnalyzer(foreman_cif);
|
fixture->RunWithAnalyzer(foreman_cif);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -217,7 +197,7 @@ TEST(FullStackTest, MAYBE_ParisQcifWithoutPacketLoss) {
|
|||||||
fixture->RunWithAnalyzer(paris_qcif);
|
fixture->RunWithAnalyzer(paris_qcif);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(GenericDescriptorTest, ForemanCifWithoutPacketLoss) {
|
TEST(GenericDescriptorTest, ForemanCifWithoutPacketLoss) {
|
||||||
auto fixture = CreateVideoQualityTestFixture();
|
auto fixture = CreateVideoQualityTestFixture();
|
||||||
// TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif.
|
// TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif.
|
||||||
ParamsWithLogging foreman_cif;
|
ParamsWithLogging foreman_cif;
|
||||||
@ -227,13 +207,13 @@ TEST_P(GenericDescriptorTest, ForemanCifWithoutPacketLoss) {
|
|||||||
700000, 700000, 700000, false,
|
700000, 700000, 700000, false,
|
||||||
"VP8", 1, 0, 0,
|
"VP8", 1, 0, 0,
|
||||||
false, false, true, ClipNameToClipPath("foreman_cif")};
|
false, false, true, ClipNameToClipPath("foreman_cif")};
|
||||||
foreman_cif.analyzer = {GetTestName("foreman_cif_net_delay_0_0_plr_0"), 0.0,
|
foreman_cif.analyzer = {"foreman_cif_net_delay_0_0_plr_0_generic_descriptor",
|
||||||
0.0, kFullStackTestDurationSecs};
|
0.0, 0.0, kFullStackTestDurationSecs};
|
||||||
foreman_cif.call.generic_descriptor = GenericDescriptorEnabled();
|
foreman_cif.call.generic_descriptor = true;
|
||||||
fixture->RunWithAnalyzer(foreman_cif);
|
fixture->RunWithAnalyzer(foreman_cif);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(GenericDescriptorTest, ForemanCif30kbpsWithoutPacketLoss) {
|
TEST(GenericDescriptorTest, ForemanCif30kbpsWithoutPacketLoss) {
|
||||||
auto fixture = CreateVideoQualityTestFixture();
|
auto fixture = CreateVideoQualityTestFixture();
|
||||||
ParamsWithLogging foreman_cif;
|
ParamsWithLogging foreman_cif;
|
||||||
foreman_cif.call.send_side_bwe = true;
|
foreman_cif.call.send_side_bwe = true;
|
||||||
@ -242,15 +222,16 @@ TEST_P(GenericDescriptorTest, ForemanCif30kbpsWithoutPacketLoss) {
|
|||||||
30000, 30000, 30000, false,
|
30000, 30000, 30000, false,
|
||||||
"VP8", 1, 0, 0,
|
"VP8", 1, 0, 0,
|
||||||
false, false, true, ClipNameToClipPath("foreman_cif")};
|
false, false, true, ClipNameToClipPath("foreman_cif")};
|
||||||
foreman_cif.analyzer = {GetTestName("foreman_cif_30kbps_net_delay_0_0_plr_0"),
|
foreman_cif.analyzer = {
|
||||||
0.0, 0.0, kFullStackTestDurationSecs};
|
"foreman_cif_30kbps_net_delay_0_0_plr_0_generic_descriptor", 0.0, 0.0,
|
||||||
foreman_cif.call.generic_descriptor = GenericDescriptorEnabled();
|
kFullStackTestDurationSecs};
|
||||||
|
foreman_cif.call.generic_descriptor = true;
|
||||||
fixture->RunWithAnalyzer(foreman_cif);
|
fixture->RunWithAnalyzer(foreman_cif);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO(webrtc:9722): Remove when experiment is cleaned up.
|
// TODO(webrtc:9722): Remove when experiment is cleaned up.
|
||||||
TEST_P(GenericDescriptorTest,
|
TEST(GenericDescriptorTest,
|
||||||
ForemanCif30kbpsWithoutPacketLossTrustedRateControl) {
|
ForemanCif30kbpsWithoutPacketLossTrustedRateControl) {
|
||||||
test::ScopedFieldTrials override_field_trials(
|
test::ScopedFieldTrials override_field_trials(
|
||||||
AppendFieldTrials(kVp8TrustedRateControllerFieldTrial));
|
AppendFieldTrials(kVp8TrustedRateControllerFieldTrial));
|
||||||
auto fixture = CreateVideoQualityTestFixture();
|
auto fixture = CreateVideoQualityTestFixture();
|
||||||
@ -263,9 +244,10 @@ TEST_P(GenericDescriptorTest,
|
|||||||
"VP8", 1, 0, 0,
|
"VP8", 1, 0, 0,
|
||||||
false, false, true, ClipNameToClipPath("foreman_cif")};
|
false, false, true, ClipNameToClipPath("foreman_cif")};
|
||||||
foreman_cif.analyzer = {
|
foreman_cif.analyzer = {
|
||||||
GetTestName("foreman_cif_30kbps_net_delay_0_0_plr_0_trusted_rate_ctrl"),
|
"foreman_cif_30kbps_net_delay_0_0_plr_0_trusted_rate_ctrl_generic_"
|
||||||
|
"descriptor",
|
||||||
0.0, 0.0, kFullStackTestDurationSecs};
|
0.0, 0.0, kFullStackTestDurationSecs};
|
||||||
foreman_cif.call.generic_descriptor = GenericDescriptorEnabled();
|
foreman_cif.call.generic_descriptor = true;
|
||||||
fixture->RunWithAnalyzer(foreman_cif);
|
fixture->RunWithAnalyzer(foreman_cif);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -328,7 +310,7 @@ TEST(FullStackTest, ForemanCifMediaCapacitySmallLossAndQueue) {
|
|||||||
fixture->RunWithAnalyzer(foreman_cif);
|
fixture->RunWithAnalyzer(foreman_cif);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(GenericDescriptorTest, ForemanCifPlr5) {
|
TEST(GenericDescriptorTest, ForemanCifPlr5) {
|
||||||
auto fixture = CreateVideoQualityTestFixture();
|
auto fixture = CreateVideoQualityTestFixture();
|
||||||
ParamsWithLogging foreman_cif;
|
ParamsWithLogging foreman_cif;
|
||||||
foreman_cif.call.send_side_bwe = true;
|
foreman_cif.call.send_side_bwe = true;
|
||||||
@ -337,15 +319,15 @@ TEST_P(GenericDescriptorTest, ForemanCifPlr5) {
|
|||||||
30000, 500000, 2000000, false,
|
30000, 500000, 2000000, false,
|
||||||
"VP8", 1, 0, 0,
|
"VP8", 1, 0, 0,
|
||||||
false, false, true, ClipNameToClipPath("foreman_cif")};
|
false, false, true, ClipNameToClipPath("foreman_cif")};
|
||||||
foreman_cif.analyzer = {GetTestName("foreman_cif_delay_50_0_plr_5"), 0.0, 0.0,
|
foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5_generic_descriptor",
|
||||||
kFullStackTestDurationSecs};
|
0.0, 0.0, kFullStackTestDurationSecs};
|
||||||
foreman_cif.config->loss_percent = 5;
|
foreman_cif.config->loss_percent = 5;
|
||||||
foreman_cif.config->queue_delay_ms = 50;
|
foreman_cif.config->queue_delay_ms = 50;
|
||||||
foreman_cif.call.generic_descriptor = GenericDescriptorEnabled();
|
foreman_cif.call.generic_descriptor = true;
|
||||||
fixture->RunWithAnalyzer(foreman_cif);
|
fixture->RunWithAnalyzer(foreman_cif);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(GenericDescriptorTest, ForemanCifPlr5Ulpfec) {
|
TEST(GenericDescriptorTest, ForemanCifPlr5Ulpfec) {
|
||||||
auto fixture = CreateVideoQualityTestFixture();
|
auto fixture = CreateVideoQualityTestFixture();
|
||||||
ParamsWithLogging foreman_cif;
|
ParamsWithLogging foreman_cif;
|
||||||
foreman_cif.call.send_side_bwe = true;
|
foreman_cif.call.send_side_bwe = true;
|
||||||
@ -354,11 +336,12 @@ TEST_P(GenericDescriptorTest, ForemanCifPlr5Ulpfec) {
|
|||||||
30000, 500000, 2000000, false,
|
30000, 500000, 2000000, false,
|
||||||
"VP8", 1, 0, 0,
|
"VP8", 1, 0, 0,
|
||||||
true, false, true, ClipNameToClipPath("foreman_cif")};
|
true, false, true, ClipNameToClipPath("foreman_cif")};
|
||||||
foreman_cif.analyzer = {GetTestName("foreman_cif_delay_50_0_plr_5_ulpfec"),
|
foreman_cif.analyzer = {
|
||||||
0.0, 0.0, kFullStackTestDurationSecs};
|
"foreman_cif_delay_50_0_plr_5_ulpfec_generic_descriptor", 0.0, 0.0,
|
||||||
|
kFullStackTestDurationSecs};
|
||||||
foreman_cif.config->loss_percent = 5;
|
foreman_cif.config->loss_percent = 5;
|
||||||
foreman_cif.config->queue_delay_ms = 50;
|
foreman_cif.config->queue_delay_ms = 50;
|
||||||
foreman_cif.call.generic_descriptor = GenericDescriptorEnabled();
|
foreman_cif.call.generic_descriptor = true;
|
||||||
fixture->RunWithAnalyzer(foreman_cif);
|
fixture->RunWithAnalyzer(foreman_cif);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -442,7 +425,7 @@ TEST(FullStackTest, ForemanCif30kbpsWithoutPacketlossH264) {
|
|||||||
fixture->RunWithAnalyzer(foreman_cif);
|
fixture->RunWithAnalyzer(foreman_cif);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(GenericDescriptorTest, ForemanCifPlr5H264) {
|
TEST(GenericDescriptorTest, ForemanCifPlr5H264) {
|
||||||
auto fixture = CreateVideoQualityTestFixture();
|
auto fixture = CreateVideoQualityTestFixture();
|
||||||
ParamsWithLogging foreman_cif;
|
ParamsWithLogging foreman_cif;
|
||||||
foreman_cif.call.send_side_bwe = true;
|
foreman_cif.call.send_side_bwe = true;
|
||||||
@ -451,11 +434,12 @@ TEST_P(GenericDescriptorTest, ForemanCifPlr5H264) {
|
|||||||
30000, 500000, 2000000, false,
|
30000, 500000, 2000000, false,
|
||||||
"H264", 1, 0, 0,
|
"H264", 1, 0, 0,
|
||||||
false, false, true, ClipNameToClipPath("foreman_cif")};
|
false, false, true, ClipNameToClipPath("foreman_cif")};
|
||||||
foreman_cif.analyzer = {GetTestName("foreman_cif_delay_50_0_plr_5_H264"), 0.0,
|
foreman_cif.analyzer = {
|
||||||
0.0, kFullStackTestDurationSecs};
|
"foreman_cif_delay_50_0_plr_5_H264_generic_descriptor", 0.0, 0.0,
|
||||||
|
kFullStackTestDurationSecs};
|
||||||
foreman_cif.config->loss_percent = 5;
|
foreman_cif.config->loss_percent = 5;
|
||||||
foreman_cif.config->queue_delay_ms = 50;
|
foreman_cif.config->queue_delay_ms = 50;
|
||||||
foreman_cif.call.generic_descriptor = GenericDescriptorEnabled();
|
foreman_cif.call.generic_descriptor = true;
|
||||||
fixture->RunWithAnalyzer(foreman_cif);
|
fixture->RunWithAnalyzer(foreman_cif);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -565,7 +549,7 @@ TEST(FullStackTest, ForemanCif500kbps100ms) {
|
|||||||
fixture->RunWithAnalyzer(foreman_cif);
|
fixture->RunWithAnalyzer(foreman_cif);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(GenericDescriptorTest, ForemanCif500kbps100msLimitedQueue) {
|
TEST(GenericDescriptorTest, ForemanCif500kbps100msLimitedQueue) {
|
||||||
auto fixture = CreateVideoQualityTestFixture();
|
auto fixture = CreateVideoQualityTestFixture();
|
||||||
ParamsWithLogging foreman_cif;
|
ParamsWithLogging foreman_cif;
|
||||||
foreman_cif.call.send_side_bwe = true;
|
foreman_cif.call.send_side_bwe = true;
|
||||||
@ -574,12 +558,13 @@ TEST_P(GenericDescriptorTest, ForemanCif500kbps100msLimitedQueue) {
|
|||||||
30000, 500000, 2000000, false,
|
30000, 500000, 2000000, false,
|
||||||
"VP8", 1, 0, 0,
|
"VP8", 1, 0, 0,
|
||||||
false, false, true, ClipNameToClipPath("foreman_cif")};
|
false, false, true, ClipNameToClipPath("foreman_cif")};
|
||||||
foreman_cif.analyzer = {GetTestName("foreman_cif_500kbps_100ms_32pkts_queue"),
|
foreman_cif.analyzer = {
|
||||||
0.0, 0.0, kFullStackTestDurationSecs};
|
"foreman_cif_500kbps_100ms_32pkts_queue_generic_descriptor", 0.0, 0.0,
|
||||||
|
kFullStackTestDurationSecs};
|
||||||
foreman_cif.config->queue_length_packets = 32;
|
foreman_cif.config->queue_length_packets = 32;
|
||||||
foreman_cif.config->queue_delay_ms = 100;
|
foreman_cif.config->queue_delay_ms = 100;
|
||||||
foreman_cif.config->link_capacity_kbps = 500;
|
foreman_cif.config->link_capacity_kbps = 500;
|
||||||
foreman_cif.call.generic_descriptor = GenericDescriptorEnabled();
|
foreman_cif.call.generic_descriptor = true;
|
||||||
fixture->RunWithAnalyzer(foreman_cif);
|
fixture->RunWithAnalyzer(foreman_cif);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -666,7 +651,7 @@ TEST(FullStackTest, ConferenceMotionHd1TLModerateLimitsWhitelistVp8) {
|
|||||||
fixture->RunWithAnalyzer(conf_motion_hd);
|
fixture->RunWithAnalyzer(conf_motion_hd);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(GenericDescriptorTest, ConferenceMotionHd2TLModerateLimits) {
|
TEST(GenericDescriptorTest, ConferenceMotionHd2TLModerateLimits) {
|
||||||
auto fixture = CreateVideoQualityTestFixture();
|
auto fixture = CreateVideoQualityTestFixture();
|
||||||
ParamsWithLogging conf_motion_hd;
|
ParamsWithLogging conf_motion_hd;
|
||||||
conf_motion_hd.call.send_side_bwe = true;
|
conf_motion_hd.call.send_side_bwe = true;
|
||||||
@ -680,13 +665,13 @@ TEST_P(GenericDescriptorTest, ConferenceMotionHd2TLModerateLimits) {
|
|||||||
false, false,
|
false, false,
|
||||||
false, ClipNameToClipPath("ConferenceMotion_1280_720_50")};
|
false, ClipNameToClipPath("ConferenceMotion_1280_720_50")};
|
||||||
conf_motion_hd.analyzer = {
|
conf_motion_hd.analyzer = {
|
||||||
GetTestName("conference_motion_hd_2tl_moderate_limits"), 0.0, 0.0,
|
"conference_motion_hd_2tl_moderate_limits_generic_descriptor", 0.0, 0.0,
|
||||||
kFullStackTestDurationSecs};
|
kFullStackTestDurationSecs};
|
||||||
conf_motion_hd.config->queue_length_packets = 50;
|
conf_motion_hd.config->queue_length_packets = 50;
|
||||||
conf_motion_hd.config->loss_percent = 3;
|
conf_motion_hd.config->loss_percent = 3;
|
||||||
conf_motion_hd.config->queue_delay_ms = 100;
|
conf_motion_hd.config->queue_delay_ms = 100;
|
||||||
conf_motion_hd.config->link_capacity_kbps = 2000;
|
conf_motion_hd.config->link_capacity_kbps = 2000;
|
||||||
conf_motion_hd.call.generic_descriptor = GenericDescriptorEnabled();
|
conf_motion_hd.call.generic_descriptor = true;
|
||||||
fixture->RunWithAnalyzer(conf_motion_hd);
|
fixture->RunWithAnalyzer(conf_motion_hd);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -867,7 +852,7 @@ TEST(FullStackTest, ScreenshareSlidesVP8_2TL_Scroll) {
|
|||||||
fixture->RunWithAnalyzer(config);
|
fixture->RunWithAnalyzer(config);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(GenericDescriptorTest, ScreenshareSlidesVP8_2TL_LossyNet) {
|
TEST(GenericDescriptorTest, ScreenshareSlidesVP8_2TL_LossyNet) {
|
||||||
auto fixture = CreateVideoQualityTestFixture();
|
auto fixture = CreateVideoQualityTestFixture();
|
||||||
ParamsWithLogging screenshare;
|
ParamsWithLogging screenshare;
|
||||||
screenshare.call.send_side_bwe = true;
|
screenshare.call.send_side_bwe = true;
|
||||||
@ -875,12 +860,12 @@ TEST_P(GenericDescriptorTest, ScreenshareSlidesVP8_2TL_LossyNet) {
|
|||||||
1000000, false, "VP8", 2, 1, 400000,
|
1000000, false, "VP8", 2, 1, 400000,
|
||||||
false, false, false, ""};
|
false, false, false, ""};
|
||||||
screenshare.screenshare[0] = {true, false, 10};
|
screenshare.screenshare[0] = {true, false, 10};
|
||||||
screenshare.analyzer = {GetTestName("screenshare_slides_lossy_net"), 0.0, 0.0,
|
screenshare.analyzer = {"screenshare_slides_lossy_net_generic_descriptor",
|
||||||
kFullStackTestDurationSecs};
|
0.0, 0.0, kFullStackTestDurationSecs};
|
||||||
screenshare.config->loss_percent = 5;
|
screenshare.config->loss_percent = 5;
|
||||||
screenshare.config->queue_delay_ms = 200;
|
screenshare.config->queue_delay_ms = 200;
|
||||||
screenshare.config->link_capacity_kbps = 500;
|
screenshare.config->link_capacity_kbps = 500;
|
||||||
screenshare.call.generic_descriptor = GenericDescriptorEnabled();
|
screenshare.call.generic_descriptor = true;
|
||||||
fixture->RunWithAnalyzer(screenshare);
|
fixture->RunWithAnalyzer(screenshare);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1246,10 +1231,4 @@ TEST(FullStackTest, MAYBE_LargeRoomVP8_50thumb) {
|
|||||||
fixture->RunWithAnalyzer(large_room);
|
fixture->RunWithAnalyzer(large_room);
|
||||||
}
|
}
|
||||||
|
|
||||||
INSTANTIATE_TEST_SUITE_P(
|
|
||||||
FullStackTest,
|
|
||||||
GenericDescriptorTest,
|
|
||||||
::testing::Values("WebRTC-GenericDescriptor/Disabled/",
|
|
||||||
"WebRTC-GenericDescriptor/Enabled/"));
|
|
||||||
|
|
||||||
} // namespace webrtc
|
} // namespace webrtc
|
||||||
|
|||||||
@ -106,24 +106,6 @@ std::string ClipNameToClipPath(const char* clip_name) {
|
|||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
class PCGenericDescriptorTest : public ::testing::TestWithParam<std::string> {
|
|
||||||
public:
|
|
||||||
PCGenericDescriptorTest()
|
|
||||||
: field_trial_(AppendFieldTrials(GetParam())),
|
|
||||||
generic_descriptor_enabled_(
|
|
||||||
field_trial::IsEnabled("WebRTC-GenericDescriptor")) {}
|
|
||||||
|
|
||||||
std::string GetTestName(std::string base) {
|
|
||||||
if (generic_descriptor_enabled_)
|
|
||||||
base += "_generic_descriptor";
|
|
||||||
return base;
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
test::ScopedFieldTrials field_trial_;
|
|
||||||
bool generic_descriptor_enabled_;
|
|
||||||
};
|
|
||||||
|
|
||||||
#if defined(RTC_ENABLE_VP9)
|
#if defined(RTC_ENABLE_VP9)
|
||||||
TEST(PCFullStackTest, ForemanCifWithoutPacketLossVp9) {
|
TEST(PCFullStackTest, ForemanCifWithoutPacketLossVp9) {
|
||||||
std::unique_ptr<NetworkEmulationManager> network_emulation_manager =
|
std::unique_ptr<NetworkEmulationManager> network_emulation_manager =
|
||||||
@ -149,14 +131,14 @@ TEST(PCFullStackTest, ForemanCifWithoutPacketLossVp9) {
|
|||||||
fixture->Run(std::move(run_params));
|
fixture->Run(std::move(run_params));
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(PCGenericDescriptorTest, ForemanCifPlr5Vp9) {
|
TEST(PCGenericDescriptorTest, ForemanCifPlr5Vp9) {
|
||||||
std::unique_ptr<NetworkEmulationManager> network_emulation_manager =
|
std::unique_ptr<NetworkEmulationManager> network_emulation_manager =
|
||||||
CreateNetworkEmulationManager();
|
CreateNetworkEmulationManager();
|
||||||
BuiltInNetworkBehaviorConfig config;
|
BuiltInNetworkBehaviorConfig config;
|
||||||
config.loss_percent = 5;
|
config.loss_percent = 5;
|
||||||
config.queue_delay_ms = 50;
|
config.queue_delay_ms = 50;
|
||||||
auto fixture = CreateTestFixture(
|
auto fixture = CreateTestFixture(
|
||||||
GetTestName("pc_foreman_cif_delay_50_0_plr_5_VP9"),
|
"pc_foreman_cif_delay_50_0_plr_5_VP9_generic_descriptor",
|
||||||
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
|
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
|
||||||
[](PeerConfigurer* alice) {
|
[](PeerConfigurer* alice) {
|
||||||
VideoConfig video(352, 288, 30);
|
VideoConfig video(352, 288, 30);
|
||||||
@ -263,11 +245,11 @@ TEST(PCFullStackTest, ParisQcifWithoutPacketLoss) {
|
|||||||
fixture->Run(std::move(run_params));
|
fixture->Run(std::move(run_params));
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(PCGenericDescriptorTest, ForemanCifWithoutPacketLoss) {
|
TEST(PCGenericDescriptorTest, ForemanCifWithoutPacketLoss) {
|
||||||
std::unique_ptr<NetworkEmulationManager> network_emulation_manager =
|
std::unique_ptr<NetworkEmulationManager> network_emulation_manager =
|
||||||
CreateNetworkEmulationManager();
|
CreateNetworkEmulationManager();
|
||||||
auto fixture = CreateTestFixture(
|
auto fixture = CreateTestFixture(
|
||||||
GetTestName("pc_foreman_cif_net_delay_0_0_plr_0"),
|
"pc_foreman_cif_net_delay_0_0_plr_0_generic_descriptor",
|
||||||
CreateTwoNetworkLinks(network_emulation_manager.get(),
|
CreateTwoNetworkLinks(network_emulation_manager.get(),
|
||||||
BuiltInNetworkBehaviorConfig()),
|
BuiltInNetworkBehaviorConfig()),
|
||||||
[](PeerConfigurer* alice) {
|
[](PeerConfigurer* alice) {
|
||||||
@ -285,12 +267,12 @@ TEST_P(PCGenericDescriptorTest, ForemanCifWithoutPacketLoss) {
|
|||||||
fixture->Run(std::move(run_params));
|
fixture->Run(std::move(run_params));
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(PCGenericDescriptorTest, ForemanCif30kbpsWithoutPacketLoss) {
|
TEST(PCGenericDescriptorTest, ForemanCif30kbpsWithoutPacketLoss) {
|
||||||
std::unique_ptr<NetworkEmulationManager> network_emulation_manager =
|
std::unique_ptr<NetworkEmulationManager> network_emulation_manager =
|
||||||
CreateNetworkEmulationManager();
|
CreateNetworkEmulationManager();
|
||||||
BuiltInNetworkBehaviorConfig config;
|
BuiltInNetworkBehaviorConfig config;
|
||||||
auto fixture = CreateTestFixture(
|
auto fixture = CreateTestFixture(
|
||||||
GetTestName("pc_foreman_cif_30kbps_net_delay_0_0_plr_0"),
|
"pc_foreman_cif_30kbps_net_delay_0_0_plr_0_generic_descriptor",
|
||||||
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
|
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
|
||||||
[](PeerConfigurer* alice) {
|
[](PeerConfigurer* alice) {
|
||||||
VideoConfig video(352, 288, 10);
|
VideoConfig video(352, 288, 10);
|
||||||
@ -314,16 +296,16 @@ TEST_P(PCGenericDescriptorTest, ForemanCif30kbpsWithoutPacketLoss) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// TODO(webrtc:9722): Remove when experiment is cleaned up.
|
// TODO(webrtc:9722): Remove when experiment is cleaned up.
|
||||||
TEST_P(PCGenericDescriptorTest,
|
TEST(PCGenericDescriptorTest,
|
||||||
ForemanCif30kbpsWithoutPacketLossTrustedRateControl) {
|
ForemanCif30kbpsWithoutPacketLossTrustedRateControl) {
|
||||||
test::ScopedFieldTrials override_field_trials(
|
test::ScopedFieldTrials override_field_trials(
|
||||||
AppendFieldTrials(kVp8TrustedRateControllerFieldTrial));
|
AppendFieldTrials(kVp8TrustedRateControllerFieldTrial));
|
||||||
std::unique_ptr<NetworkEmulationManager> network_emulation_manager =
|
std::unique_ptr<NetworkEmulationManager> network_emulation_manager =
|
||||||
CreateNetworkEmulationManager();
|
CreateNetworkEmulationManager();
|
||||||
BuiltInNetworkBehaviorConfig config;
|
BuiltInNetworkBehaviorConfig config;
|
||||||
auto fixture = CreateTestFixture(
|
auto fixture = CreateTestFixture(
|
||||||
GetTestName(
|
"pc_foreman_cif_30kbps_net_delay_0_0_plr_0_trusted_rate_ctrl_generic_"
|
||||||
"pc_foreman_cif_30kbps_net_delay_0_0_plr_0_trusted_rate_ctrl"),
|
"descriptor",
|
||||||
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
|
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
|
||||||
[](PeerConfigurer* alice) {
|
[](PeerConfigurer* alice) {
|
||||||
VideoConfig video(352, 288, 10);
|
VideoConfig video(352, 288, 10);
|
||||||
@ -478,14 +460,14 @@ TEST(PCFullStackTest, ForemanCifMediaCapacitySmallLossAndQueue) {
|
|||||||
fixture->Run(std::move(run_params));
|
fixture->Run(std::move(run_params));
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(PCGenericDescriptorTest, ForemanCifPlr5) {
|
TEST(PCGenericDescriptorTest, ForemanCifPlr5) {
|
||||||
std::unique_ptr<NetworkEmulationManager> network_emulation_manager =
|
std::unique_ptr<NetworkEmulationManager> network_emulation_manager =
|
||||||
CreateNetworkEmulationManager();
|
CreateNetworkEmulationManager();
|
||||||
BuiltInNetworkBehaviorConfig config;
|
BuiltInNetworkBehaviorConfig config;
|
||||||
config.loss_percent = 5;
|
config.loss_percent = 5;
|
||||||
config.queue_delay_ms = 50;
|
config.queue_delay_ms = 50;
|
||||||
auto fixture = CreateTestFixture(
|
auto fixture = CreateTestFixture(
|
||||||
GetTestName("pc_foreman_cif_delay_50_0_plr_5"),
|
"pc_foreman_cif_delay_50_0_plr_5_generic_descriptor",
|
||||||
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
|
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
|
||||||
[](PeerConfigurer* alice) {
|
[](PeerConfigurer* alice) {
|
||||||
VideoConfig video(352, 288, 30);
|
VideoConfig video(352, 288, 30);
|
||||||
@ -502,14 +484,14 @@ TEST_P(PCGenericDescriptorTest, ForemanCifPlr5) {
|
|||||||
fixture->Run(std::move(run_params));
|
fixture->Run(std::move(run_params));
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(PCGenericDescriptorTest, ForemanCifPlr5Ulpfec) {
|
TEST(PCGenericDescriptorTest, ForemanCifPlr5Ulpfec) {
|
||||||
std::unique_ptr<NetworkEmulationManager> network_emulation_manager =
|
std::unique_ptr<NetworkEmulationManager> network_emulation_manager =
|
||||||
CreateNetworkEmulationManager();
|
CreateNetworkEmulationManager();
|
||||||
BuiltInNetworkBehaviorConfig config;
|
BuiltInNetworkBehaviorConfig config;
|
||||||
config.loss_percent = 5;
|
config.loss_percent = 5;
|
||||||
config.queue_delay_ms = 50;
|
config.queue_delay_ms = 50;
|
||||||
auto fixture = CreateTestFixture(
|
auto fixture = CreateTestFixture(
|
||||||
GetTestName("pc_foreman_cif_delay_50_0_plr_5_ulpfec"),
|
"pc_foreman_cif_delay_50_0_plr_5_ulpfec_generic_descriptor",
|
||||||
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
|
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
|
||||||
[](PeerConfigurer* alice) {
|
[](PeerConfigurer* alice) {
|
||||||
VideoConfig video(352, 288, 30);
|
VideoConfig video(352, 288, 30);
|
||||||
@ -651,14 +633,14 @@ TEST(PCFullStackTest, ForemanCif30kbpsWithoutPacketlossH264) {
|
|||||||
fixture->Run(std::move(run_params));
|
fixture->Run(std::move(run_params));
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(PCGenericDescriptorTest, ForemanCifPlr5H264) {
|
TEST(PCGenericDescriptorTest, ForemanCifPlr5H264) {
|
||||||
std::unique_ptr<NetworkEmulationManager> network_emulation_manager =
|
std::unique_ptr<NetworkEmulationManager> network_emulation_manager =
|
||||||
CreateNetworkEmulationManager();
|
CreateNetworkEmulationManager();
|
||||||
BuiltInNetworkBehaviorConfig config;
|
BuiltInNetworkBehaviorConfig config;
|
||||||
config.loss_percent = 5;
|
config.loss_percent = 5;
|
||||||
config.queue_delay_ms = 50;
|
config.queue_delay_ms = 50;
|
||||||
auto fixture = CreateTestFixture(
|
auto fixture = CreateTestFixture(
|
||||||
GetTestName("pc_foreman_cif_delay_50_0_plr_5_H264"),
|
"pc_foreman_cif_delay_50_0_plr_5_H264_generic_descriptor",
|
||||||
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
|
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
|
||||||
[](PeerConfigurer* alice) {
|
[](PeerConfigurer* alice) {
|
||||||
VideoConfig video(352, 288, 30);
|
VideoConfig video(352, 288, 30);
|
||||||
@ -828,7 +810,7 @@ TEST(PCFullStackTest, ForemanCif500kbps100ms) {
|
|||||||
fixture->Run(std::move(run_params));
|
fixture->Run(std::move(run_params));
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(PCGenericDescriptorTest, ForemanCif500kbps100msLimitedQueue) {
|
TEST(PCGenericDescriptorTest, ForemanCif500kbps100msLimitedQueue) {
|
||||||
std::unique_ptr<NetworkEmulationManager> network_emulation_manager =
|
std::unique_ptr<NetworkEmulationManager> network_emulation_manager =
|
||||||
CreateNetworkEmulationManager();
|
CreateNetworkEmulationManager();
|
||||||
BuiltInNetworkBehaviorConfig config;
|
BuiltInNetworkBehaviorConfig config;
|
||||||
@ -836,7 +818,7 @@ TEST_P(PCGenericDescriptorTest, ForemanCif500kbps100msLimitedQueue) {
|
|||||||
config.queue_delay_ms = 100;
|
config.queue_delay_ms = 100;
|
||||||
config.link_capacity_kbps = 500;
|
config.link_capacity_kbps = 500;
|
||||||
auto fixture = CreateTestFixture(
|
auto fixture = CreateTestFixture(
|
||||||
GetTestName("pc_foreman_cif_500kbps_100ms_32pkts_queue"),
|
"pc_foreman_cif_500kbps_100ms_32pkts_queue_generic_descriptor",
|
||||||
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
|
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
|
||||||
[](PeerConfigurer* alice) {
|
[](PeerConfigurer* alice) {
|
||||||
VideoConfig video(352, 288, 30);
|
VideoConfig video(352, 288, 30);
|
||||||
@ -956,7 +938,7 @@ TEST(PCFullStackTest, ConferenceMotionHd1TLModerateLimitsWhitelistVp8) {
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
// TODO(bugs.webrtc.org/10639) requires simulcast/SVC support in PC framework
|
// TODO(bugs.webrtc.org/10639) requires simulcast/SVC support in PC framework
|
||||||
TEST_P(PCGenericDescriptorTest, ConferenceMotionHd2TLModerateLimits) {
|
TEST(PCGenericDescriptorTest, ConferenceMotionHd2TLModerateLimits) {
|
||||||
auto fixture = CreateVideoQualityTestFixture();
|
auto fixture = CreateVideoQualityTestFixture();
|
||||||
ParamsWithLogging conf_motion_hd;
|
ParamsWithLogging conf_motion_hd;
|
||||||
conf_motion_hd.call.send_side_bwe = true;
|
conf_motion_hd.call.send_side_bwe = true;
|
||||||
@ -970,7 +952,7 @@ TEST_P(PCGenericDescriptorTest, ConferenceMotionHd2TLModerateLimits) {
|
|||||||
false, false,
|
false, false,
|
||||||
false, ClipNameToClipPath("ConferenceMotion_1280_720_50")};
|
false, ClipNameToClipPath("ConferenceMotion_1280_720_50")};
|
||||||
conf_motion_hd.analyzer = {
|
conf_motion_hd.analyzer = {
|
||||||
GetTestName("conference_motion_hd_2tl_moderate_limits"), 0.0, 0.0,
|
"conference_motion_hd_2tl_moderate_limits_generic_descriptor", 0.0, 0.0,
|
||||||
kTestDurationSec};
|
kTestDurationSec};
|
||||||
conf_motion_hd.config->queue_length_packets = 50;
|
conf_motion_hd.config->queue_length_packets = 50;
|
||||||
conf_motion_hd.config->loss_percent = 3;
|
conf_motion_hd.config->loss_percent = 3;
|
||||||
@ -1295,7 +1277,7 @@ TEST(PCFullStackTest, ScreenshareSlidesVP8_2TL_Scroll) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// TODO(bugs.webrtc.org/10639) requires simulcast/SVC support in PC framework
|
// TODO(bugs.webrtc.org/10639) requires simulcast/SVC support in PC framework
|
||||||
TEST_P(PCGenericDescriptorTest, ScreenshareSlidesVP8_2TL_LossyNet) {
|
TEST(PCGenericDescriptorTest, ScreenshareSlidesVP8_2TL_LossyNet) {
|
||||||
auto fixture = CreateVideoQualityTestFixture();
|
auto fixture = CreateVideoQualityTestFixture();
|
||||||
ParamsWithLogging screenshare;
|
ParamsWithLogging screenshare;
|
||||||
screenshare.call.send_side_bwe = true;
|
screenshare.call.send_side_bwe = true;
|
||||||
@ -1303,12 +1285,12 @@ TEST_P(PCGenericDescriptorTest, ScreenshareSlidesVP8_2TL_LossyNet) {
|
|||||||
1000000, false, "VP8", 2, 1, 400000,
|
1000000, false, "VP8", 2, 1, 400000,
|
||||||
false, false, false, ""};
|
false, false, false, ""};
|
||||||
screenshare.screenshare[0] = {true, false, 10};
|
screenshare.screenshare[0] = {true, false, 10};
|
||||||
screenshare.analyzer = {GetTestName("screenshare_slides_lossy_net"), 0.0, 0.0,
|
screenshare.analyzer = {"screenshare_slides_lossy_net_generic_descriptor",
|
||||||
kTestDurationSec};
|
0.0, 0.0, kTestDurationSec};
|
||||||
screenshare.config->loss_percent = 5;
|
screenshare.config->loss_percent = 5;
|
||||||
screenshare.config->queue_delay_ms = 200;
|
screenshare.config->queue_delay_ms = 200;
|
||||||
screenshare.config->link_capacity_kbps = 500;
|
screenshare.config->link_capacity_kbps = 500;
|
||||||
screenshare.call.generic_descriptor = GenericDescriptorEnabled();
|
screenshare.call.generic_descriptor = true;
|
||||||
fixture->RunWithAnalyzer(screenshare);
|
fixture->RunWithAnalyzer(screenshare);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1813,12 +1795,6 @@ TEST(PCFullStackTest, MAYBE_LargeRoomVP8_50thumb) {
|
|||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
INSTANTIATE_TEST_SUITE_P(
|
|
||||||
PCFullStackTest,
|
|
||||||
PCGenericDescriptorTest,
|
|
||||||
::testing::Values("WebRTC-GenericDescriptor/Disabled/",
|
|
||||||
"WebRTC-GenericDescriptor/Enabled/"));
|
|
||||||
|
|
||||||
class PCDualStreamsTest : public ::testing::TestWithParam<int> {};
|
class PCDualStreamsTest : public ::testing::TestWithParam<int> {};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@ -815,11 +815,6 @@ void VideoQualityTest::SetupVideo(Transport* send_transport,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (params_.call.generic_descriptor) {
|
if (params_.call.generic_descriptor) {
|
||||||
// The generic descriptor is currently behind a field trial, so it needs
|
|
||||||
// to be set for this flag to have any effect.
|
|
||||||
// TODO(philipel): Remove this check when the experiment is removed.
|
|
||||||
RTC_CHECK(field_trial::IsEnabled("WebRTC-GenericDescriptor"));
|
|
||||||
|
|
||||||
video_send_configs_[video_idx].rtp.extensions.emplace_back(
|
video_send_configs_[video_idx].rtp.extensions.emplace_back(
|
||||||
RtpExtension::kGenericFrameDescriptorUri00,
|
RtpExtension::kGenericFrameDescriptorUri00,
|
||||||
kGenericFrameDescriptorExtensionId00);
|
kGenericFrameDescriptorExtensionId00);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user