Propagate RtpPacketReceived::arival_time_ms() when demuxing RTX packets
Bug: webrtc:11163 Change-Id: I3bf4a662c84e9b31e0b0fc15660d360413a4aee1 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161224 Reviewed-by: Sebastian Jansson <srte@webrtc.org> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org> Commit-Queue: Per Kjellander <perkj@webrtc.org> Cr-Commit-Position: refs/heads/master@{#29996}
This commit is contained in:
parent
934afc6ba1
commit
e19a375f8c
@ -64,6 +64,7 @@ void RtxReceiveStream::OnRtpPacket(const RtpPacketReceived& rtx_packet) {
|
||||
media_packet.SetSequenceNumber((payload[0] << 8) + payload[1]);
|
||||
media_packet.SetPayloadType(it->second);
|
||||
media_packet.set_recovered(true);
|
||||
media_packet.set_arrival_time_ms(rtx_packet.arrival_time_ms());
|
||||
|
||||
// Skip the RTX header.
|
||||
rtc::ArrayView<const uint8_t> rtx_payload = payload.subview(kRtxHeaderSize);
|
||||
|
||||
@ -22,6 +22,7 @@ namespace webrtc {
|
||||
namespace {
|
||||
|
||||
using ::testing::_;
|
||||
using ::testing::Property;
|
||||
using ::testing::StrictMock;
|
||||
|
||||
constexpr int kMediaPayloadType = 100;
|
||||
@ -188,6 +189,17 @@ TEST(RtxReceiveStreamTest, CopiesRtpHeaderExtensions) {
|
||||
rtx_sink.OnRtpPacket(rtx_packet);
|
||||
}
|
||||
|
||||
TEST(RtxReceiveStreamTest, PropagatesArrivalTime) {
|
||||
StrictMock<MockRtpPacketSink> media_sink;
|
||||
RtxReceiveStream rtx_sink(&media_sink, PayloadTypeMapping(), kMediaSSRC);
|
||||
RtpPacketReceived rtx_packet(nullptr);
|
||||
EXPECT_TRUE(rtx_packet.Parse(rtc::ArrayView<const uint8_t>(kRtxPacket)));
|
||||
rtx_packet.set_arrival_time_ms(123);
|
||||
EXPECT_CALL(media_sink,
|
||||
OnRtpPacket(Property(&RtpPacketReceived::arrival_time_ms, 123)));
|
||||
rtx_sink.OnRtpPacket(rtx_packet);
|
||||
}
|
||||
|
||||
TEST(RtxReceiveStreamTest, SupportsLargePacket) {
|
||||
StrictMock<MockRtpPacketSink> media_sink;
|
||||
RtxReceiveStream rtx_sink(&media_sink, PayloadTypeMapping(), kMediaSSRC);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user