aboutsummaryrefslogtreecommitdiff
path: root/webrtc/test/layer_filtering_transport.cc
diff options
context:
space:
mode:
authorsprang <sprang@webrtc.org>2015-10-12 06:33:21 -0700
committerCommit bot <commit-bot@chromium.org>2015-10-12 13:33:24 +0000
commit7a975f75e7fa7a9335411ef22b6687f78f7b297f (patch)
treeecbaa3502dcd9c628190f04e9a5126c436d92605 /webrtc/test/layer_filtering_transport.cc
parentd940880e7ad90ac5b2df8bdd0429de800eaad06e (diff)
downloadwebrtc-7a975f75e7fa7a9335411ef22b6687f78f7b297f.tar.gz
Revert of Adding support for simulcast and spatial layers into VideoQualityTest (patchset #10 id:180001 of https://codereview.webrtc.org/1353263005/ )
Reason for revert: Temporarily reverting as this causes some issues with perf tests. Especially tests with packet loss no longer works. Original issue's description: > Adding support for simulcast and spatial layers into VideoQualityTest > > The CL includes several changes: > - Adding flags describing the streams and spatial layers. > - Reorganizing the order of the flags, to make them easier to maintain. > - Adding a member .params_ to VideoQualityAnalyzer. > (instead of passing it to every member function manually) > - Updating VideoAnalyzer to support simulcast. > (select appropriate ssrc and fix timestamps which are sometimes increased by 1) > - VP9EncoderImpl already had code for automatic calculation of bitrate for each layer. > Changing to first read bitrates and resolution ratios from the flags, if specified. > If not specified, reverting to the old code are setting the values automatically. > - Changing the parameters in LayerFilteringTransport, replacing > xx_discard_thresholds with selected_xx, to make it easier to use for the end user. > > Committed: https://crrev.com/87f83a9a27d657731ccb54025bc04ccad0da136e > Cr-Commit-Position: refs/heads/master@{#10215} TBR=pbos@webrtc.org,mflodman@webrtc.org,ivica@webrtc.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.webrtc.org/1397363002 Cr-Commit-Position: refs/heads/master@{#10252}
Diffstat (limited to 'webrtc/test/layer_filtering_transport.cc')
-rw-r--r--webrtc/test/layer_filtering_transport.cc38
1 files changed, 16 insertions, 22 deletions
diff --git a/webrtc/test/layer_filtering_transport.cc b/webrtc/test/layer_filtering_transport.cc
index e3bca869d3..b9bc24d3ee 100644
--- a/webrtc/test/layer_filtering_transport.cc
+++ b/webrtc/test/layer_filtering_transport.cc
@@ -23,18 +23,13 @@ LayerFilteringTransport::LayerFilteringTransport(
const FakeNetworkPipe::Config& config,
uint8_t vp8_video_payload_type,
uint8_t vp9_video_payload_type,
- int selected_tl,
- int selected_sl)
+ uint8_t tl_discard_threshold,
+ uint8_t sl_discard_threshold)
: test::DirectTransport(config),
vp8_video_payload_type_(vp8_video_payload_type),
vp9_video_payload_type_(vp9_video_payload_type),
- selected_tl_(selected_tl),
- selected_sl_(selected_sl),
- discarded_last_packet_(false) {
-}
-
-bool LayerFilteringTransport::DiscardedLastPacket() const {
- return discarded_last_packet_;
+ tl_discard_threshold_(tl_discard_threshold),
+ sl_discard_threshold_(sl_discard_threshold) {
}
uint16_t LayerFilteringTransport::NextSequenceNumber(uint32_t ssrc) {
@@ -47,7 +42,7 @@ uint16_t LayerFilteringTransport::NextSequenceNumber(uint32_t ssrc) {
bool LayerFilteringTransport::SendRtp(const uint8_t* packet,
size_t length,
const PacketOptions& options) {
- if (selected_tl_ == -1 && selected_sl_ == -1) {
+ if (tl_discard_threshold_ == 0 && sl_discard_threshold_ == 0) {
// Nothing to change, forward the packet immediately.
return test::DirectTransport::SendRtp(packet, length, options);
}
@@ -70,24 +65,23 @@ bool LayerFilteringTransport::SendRtp(const uint8_t* packet,
RtpDepacketizer::Create(is_vp8 ? kRtpVideoVp8 : kRtpVideoVp9));
RtpDepacketizer::ParsedPayload parsed_payload;
if (depacketizer->Parse(&parsed_payload, payload, payload_data_length)) {
- const int temporal_idx = static_cast<int>(
+ const uint8_t temporalIdx =
is_vp8 ? parsed_payload.type.Video.codecHeader.VP8.temporalIdx
- : parsed_payload.type.Video.codecHeader.VP9.temporal_idx);
- const int spatial_idx = static_cast<int>(
+ : parsed_payload.type.Video.codecHeader.VP9.temporal_idx;
+ const uint8_t spatialIdx =
is_vp8 ? kNoSpatialIdx
- : parsed_payload.type.Video.codecHeader.VP9.spatial_idx);
- if (selected_sl_ >= 0 &&
- spatial_idx == selected_sl_ &&
+ : parsed_payload.type.Video.codecHeader.VP9.spatial_idx;
+ if (sl_discard_threshold_ > 0 &&
+ spatialIdx == sl_discard_threshold_ - 1 &&
parsed_payload.type.Video.codecHeader.VP9.end_of_frame) {
// This layer is now the last in the superframe.
set_marker_bit = true;
}
- if ((selected_tl_ >= 0 && temporal_idx != kNoTemporalIdx &&
- temporal_idx > selected_tl_) ||
- (selected_sl_ >= 0 && spatial_idx != kNoSpatialIdx &&
- spatial_idx > selected_sl_)) {
- discarded_last_packet_ = true;
- return true;
+ if ((tl_discard_threshold_ > 0 && temporalIdx != kNoTemporalIdx &&
+ temporalIdx >= tl_discard_threshold_) ||
+ (sl_discard_threshold_ > 0 && spatialIdx != kNoSpatialIdx &&
+ spatialIdx >= sl_discard_threshold_)) {
+ return true; // Discard the packet.
}
} else {
RTC_NOTREACHED() << "Parse error";