Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(801)

Unified Diff: webrtc/test/layer_filtering_transport.cc

Issue 2997393002: Move rtp dump writer from quality test to test transport (Closed)
Patch Set: Remove forgotten temp code Created 3 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/test/layer_filtering_transport.cc
diff --git a/webrtc/test/layer_filtering_transport.cc b/webrtc/test/layer_filtering_transport.cc
index 7d7288a0b56addc655fa62d21e58812dddb4af53..d5f97d5162dddb6cb9f0d0fc74032803881e453e 100644
--- a/webrtc/test/layer_filtering_transport.cc
+++ b/webrtc/test/layer_filtering_transport.cc
@@ -16,6 +16,7 @@
#include "webrtc/modules/rtp_rtcp/source/rtp_utility.h"
#include "webrtc/rtc_base/checks.h"
#include "webrtc/test/layer_filtering_transport.h"
+#include "webrtc/test/rtp_file_reader.h"
ilnik 2017/08/23 08:24:25 Why reader is needed here?
sprang_webrtc 2017/08/23 10:32:05 Oops. Autocomplete. rtp_file_writer was included f
namespace webrtc {
namespace test {
@@ -28,13 +29,16 @@ LayerFilteringTransport::LayerFilteringTransport(
uint8_t vp9_video_payload_type,
int selected_tl,
int selected_sl,
- const std::map<uint8_t, MediaType>& payload_type_map)
+ const std::map<uint8_t, MediaType>& payload_type_map,
+ std::unique_ptr<test::RtpFileWriter> rtp_file_writer)
: DirectTransport(task_queue, config, send_call, payload_type_map),
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) {}
+ discarded_last_packet_(false),
+ start_ms_(rtc::TimeMillis()),
+ rtp_file_writer_(std::move(rtp_file_writer)) {}
bool LayerFilteringTransport::DiscardedLastPacket() const {
return discarded_last_packet_;
@@ -43,8 +47,17 @@ bool LayerFilteringTransport::DiscardedLastPacket() const {
bool LayerFilteringTransport::SendRtp(const uint8_t* packet,
size_t length,
const PacketOptions& options) {
+ RtpPacket rtp_packet;
+ RTC_DCHECK_LE(length, IP_PACKET_SIZE);
+ memcpy(rtp_packet.data, packet, length);
+ rtp_packet.length = length;
+ rtp_packet.original_length = length;
+ rtp_packet.time_ms = rtc::TimeMillis() - start_ms_;
+
if (selected_tl_ == -1 && selected_sl_ == -1) {
// Nothing to change, forward the packet immediately.
+ if (rtp_file_writer_.get())
+ rtp_file_writer_->WritePacket(&rtp_packet);
return test::DirectTransport::SendRtp(packet, length, options);
}
@@ -53,10 +66,6 @@ bool LayerFilteringTransport::SendRtp(const uint8_t* packet,
RTPHeader header;
parser.Parse(&header);
- RTC_DCHECK_LE(length, IP_PACKET_SIZE);
- uint8_t temp_buffer[IP_PACKET_SIZE];
- memcpy(temp_buffer, packet, length);
-
if (header.payloadType == vp8_video_payload_type_ ||
header.payloadType == vp9_video_payload_type_) {
const uint8_t* payload = packet + header.headerLength;
@@ -86,10 +95,10 @@ bool LayerFilteringTransport::SendRtp(const uint8_t* packet,
spatial_idx > selected_sl_)) {
// Truncate packet to a padding packet.
length = header.headerLength + 1;
- temp_buffer[0] |= (1 << 5); // P = 1.
- temp_buffer[1] &= 0x7F; // M = 0.
+ rtp_packet.data[0] |= (1 << 5); // P = 1.
+ rtp_packet.data[1] &= 0x7F; // M = 0.
discarded_last_packet_ = true;
- temp_buffer[header.headerLength] = 1; // One byte of padding.
+ rtp_packet.data[header.headerLength] = 1; // One byte of padding.
}
} else {
RTC_NOTREACHED() << "Parse error";
@@ -100,9 +109,12 @@ bool LayerFilteringTransport::SendRtp(const uint8_t* packet,
// make sure the marker bit is set properly, and that sequence numbers are
// continuous.
if (set_marker_bit)
- temp_buffer[1] |= kRtpMarkerBitMask;
+ rtp_packet.data[1] |= kRtpMarkerBitMask;
+
+ if (rtp_file_writer_.get())
+ rtp_file_writer_->WritePacket(&rtp_packet);
- return test::DirectTransport::SendRtp(temp_buffer, length, options);
+ return test::DirectTransport::SendRtp(rtp_packet.data, length, options);
}
} // namespace test

Powered by Google App Engine
This is Rietveld 408576698