Index: webrtc/test/layer_filtering_transport.cc |
diff --git a/webrtc/test/layer_filtering_transport.cc b/webrtc/test/layer_filtering_transport.cc |
index 5ad3f8ce6a3f3527ae436d31dbe3301ae9b31a13..83edcac327f0ddc1a54d9993b16b26fcb4ed649c 100644 |
--- a/webrtc/test/layer_filtering_transport.cc |
+++ b/webrtc/test/layer_filtering_transport.cc |
@@ -29,9 +29,16 @@ LayerFilteringTransport::LayerFilteringTransport( |
vp8_video_payload_type_(vp8_video_payload_type), |
vp9_video_payload_type_(vp9_video_payload_type), |
tl_discard_threshold_(tl_discard_threshold), |
- sl_discard_threshold_(sl_discard_threshold), |
- current_seq_num_(10000) { |
-} // TODO(ivica): random seq num? |
+ sl_discard_threshold_(sl_discard_threshold) { |
+} |
+ |
+uint16_t LayerFilteringTransport::NextSequenceNumber(uint32_t ssrc) { |
+ auto it = current_seq_nums_.find(ssrc); |
+ if (it == current_seq_nums_.end()) |
+ return current_seq_nums_[ssrc] = 10000; |
+ else |
sprang_webrtc
2015/09/23 13:58:19
don't need this else
ivica
2015/10/07 12:07:41
Done.
|
+ return ++it->second; |
+} |
bool LayerFilteringTransport::SendRtp(const uint8_t* packet, size_t length) { |
if (tl_discard_threshold_ == 0 && sl_discard_threshold_ == 0) { |
@@ -89,10 +96,9 @@ bool LayerFilteringTransport::SendRtp(const uint8_t* packet, size_t length) { |
if (set_marker_bit) { |
temp_buffer[1] |= kRtpMarkerBitMask; |
} |
sprang_webrtc
2015/09/23 13:58:19
Remove {}
ivica
2015/10/07 12:07:41
Done.
|
- ByteWriter<uint16_t>::WriteBigEndian(&temp_buffer[2], current_seq_num_); |
- |
- ++current_seq_num_; // Increase only if packet not discarded. |
+ uint16_t seq_num = NextSequenceNumber(header.ssrc); |
+ ByteWriter<uint16_t>::WriteBigEndian(&temp_buffer[2], seq_num); |
return test::DirectTransport::SendRtp(temp_buffer, length); |
} |