Pacer may accept same packet serveral time for resending,
packet may spend non-zero time in pacer queue.
As a result packet can be resend several time within one rtt
wasting bandwidth.
Bug: None
Change-Id: I753a5400b47d3804735e66e539a1b103916d0c94
Reviewed-on: https://webrtc-review.googlesource.com/c/106260
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25205}
Assumption extra needed bytes for single packet needs is sum
of extra bytes for first and last packet
moved up to RTPSenderVideo from individual packetizers.
There it can be fixed.
Bug: webrtc:9868
Change-Id: I24c80ffa5c174afd3fe3e92fa86ef75560bb961e
Reviewed-on: https://webrtc-review.googlesource.com/c/105662
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25160}
Make sure nullptr is returned if the packet is not in history.
Bug: webrtc:9863
Change-Id: I9658b1b271071a4bd38f062ed68c60cc04c63123
Reviewed-on: https://webrtc-review.googlesource.com/c/105300
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25114}
Streams that are part of transport feedback are assumed to be part of
allocation. A SetAsPartOfAllocation method is introduced to be used by
media streams that are part of bitrate allocation but not included in
feedback.
This is part of a series of CLs that allows GoogCC to track sent bitrate
that is included in bitrate allocation but without transport feedback.
Bug: webrtc:9796
Change-Id: If7ac1ad3e6f3c28b2ada2aef1607a42689d899b2
Reviewed-on: https://webrtc-review.googlesource.com/c/104881
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25079}
This CL moves the action of acquiring the lock outside
UpdateTransportSequenceNumber. This prepares for an upcoming CL where
the lock is used outside this call at the call sites and avoids the lock-unlock
overhead that would otherwise occur.
Also removing the const declaration as it modifies the state of
transport_sequence_number_allocator_.
Bug: webrtc:9796
Change-Id: I0bd4a0fd2fdbf6291867eb913690c61269eab8c5
Reviewed-on: https://webrtc-review.googlesource.com/c/102684
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25068}
Automatic detection if one-byte header or two-byte header should be used based
on extension ID and extension length.
Bug: webrtc:7990
Change-Id: I9fc848ecc59458d1ca97bace0e57ea04d3d0ced6
Reviewed-on: https://webrtc-review.googlesource.com/c/103422
Commit-Queue: Johannes Kron <kron@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25004}
If layers have been enabled or disabled, send immediate instead of on
next available report.
Bug: webrtc:9823
Change-Id: Ifd774641d4b8c03a9efa8ad48ff5e88328ed2ba9
Reviewed-on: https://webrtc-review.googlesource.com/c/103802
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24997}
The RtpReceiver class is no longer used. Together with it, delete
RTPPayloadRegistry, RtpReceiverStrategy, and the tests under
modules/rtp_rtcp/test/testAPI/.
Bug: webrtc:8995
Change-Id: Ia9924d2f0f4315914a0dce6b7375ebb3601a6f96
Reviewed-on: https://webrtc-review.googlesource.com/c/103503
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24968}
Rename to better match what it does,
Adjust to support two-byte header extension
Bug: webrtc:7990
Change-Id: I2786d70e7cf9cd3d722f54fb1d07c9cfaafab947
Reviewed-on: https://webrtc-review.googlesource.com/103201
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Johannes Kron <kron@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24958}
This CL makes the RtpGenericFrameDescriptor available in
RTPSenderVideo::SendVideo for encryption and in
RtpVideoStreamReceiver::OnReceivedFrame for decryption.
Bug: webrtc:9361
Change-Id: I5b6d10138c0874657862f103c8c9a2328e6d4a66
Reviewed-on: https://webrtc-review.googlesource.com/102720
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24929}
to extract byte representation of a built extension without rebuilding it.
Bug: webrtc:9361
Change-Id: I5e2a5caeb8ff28dcb58dc25d53407c449c86df44
Reviewed-on: https://webrtc-review.googlesource.com/102940
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24925}
Add new method OnRtpPacket, but leave
ReceiveStatisticsImpl::IncomingPacket and most of the implementation
unchanged. Deleting the old method and converting implementation from
RTPHeader to RtpPacketreceived is planned for a followup, after
downstream code is updated.
Bug: webrtc:7135, webrtc:8016
Change-Id: I697ec12804618859f8d69415622d1b957e1d0847
Reviewed-on: https://webrtc-review.googlesource.com/100104
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24889}
This reverts commit 8b7bc5d701.
Reason for revert: Slow RTC_DCHECK has been removed.
Original change's description:
> Revert "Second reland of "Optimize execution time of RTPSender::UpdateDelayStatistics""
>
> This reverts commit 9def3b45ef.
>
> Reason for revert: webrtc_perf_tests fails on Mac-10.12.
>
> Original change's description:
> > Second reland of "Optimize execution time of RTPSender::UpdateDelayStatistics"
> >
> > The reland has a lot of additional DCHECKS for easier debugging,
> > so in debug builds it will actually be a ~2x slowdown compared to the old code.
> > The excessive DCHECKS should be removed in a followup CL.
> >
> > Bug: webrtc:9439
> > Change-Id: I8389cd84f1ca12c29cc6993f0d2cf7e6d7dd8379
> > Reviewed-on: https://webrtc-review.googlesource.com/101761
> > Reviewed-by: Åsa Persson <asapersson@webrtc.org>
> > Reviewed-by: Björn Terelius <terelius@webrtc.org>
> > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#24821}
>
> TBR=terelius@webrtc.org,asapersson@webrtc.org,kron@webrtc.org
>
> Change-Id: I98c4c96d552858d0299d49993e9b9be6a6204dfe
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:9439
> Reviewed-on: https://webrtc-review.googlesource.com/101860
> Reviewed-by: Johannes Kron <kron@webrtc.org>
> Commit-Queue: Johannes Kron <kron@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24825}
TBR=terelius@webrtc.org,asapersson@webrtc.org,kron@webrtc.org
Change-Id: I260c56932710d26f9d7201c07279fef8d2150bd9
Bug: webrtc:9439
Reviewed-on: https://webrtc-review.googlesource.com/102000
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Johannes Kron <kron@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24843}
This reverts commit 3f4a4fad8c.
Reason for revert: Breaking internal tests
Original change's description:
> Added field trial WebRTC-GenericDescriptor for the new generic descriptor.
>
> Also parameterized tests to test the new generic descriptor and
> added --generic_descriptor flag to loopback tests.
>
> Bug: webrtc:9361
> Change-Id: I2b76889606fe2e81249ecdebb0b7b61151682485
> Reviewed-on: https://webrtc-review.googlesource.com/101900
> Commit-Queue: Philip Eliasson <philipel@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24835}
TBR=danilchap@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,philipel@webrtc.org
Change-Id: I4d4714a9f4ab0e95adf0f4130bc1a932efc448fa
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9361
Reviewed-on: https://webrtc-review.googlesource.com/101940
Reviewed-by: Lu Liu <lliuu@webrtc.org>
Commit-Queue: Lu Liu <lliuu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24839}
which saves up to 5 bytes per packet.
Bug: webrtc:9361
Change-Id: Ia4335459fb2bd6390950ddd1d487a0f9f96f743d
Reviewed-on: https://webrtc-review.googlesource.com/101840
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24838}
Also parameterized tests to test the new generic descriptor and
added --generic_descriptor flag to loopback tests.
Bug: webrtc:9361
Change-Id: I2b76889606fe2e81249ecdebb0b7b61151682485
Reviewed-on: https://webrtc-review.googlesource.com/101900
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24835}
Update uri to include version.
Bug: webrtc:9361
Change-Id: I71164879d2a5b88c052fdab9f74202f758e85be6
Reviewed-on: https://webrtc-review.googlesource.com/101762
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24827}
This reverts commit 9def3b45ef.
Reason for revert: webrtc_perf_tests fails on Mac-10.12.
Original change's description:
> Second reland of "Optimize execution time of RTPSender::UpdateDelayStatistics"
>
> The reland has a lot of additional DCHECKS for easier debugging,
> so in debug builds it will actually be a ~2x slowdown compared to the old code.
> The excessive DCHECKS should be removed in a followup CL.
>
> Bug: webrtc:9439
> Change-Id: I8389cd84f1ca12c29cc6993f0d2cf7e6d7dd8379
> Reviewed-on: https://webrtc-review.googlesource.com/101761
> Reviewed-by: Åsa Persson <asapersson@webrtc.org>
> Reviewed-by: Björn Terelius <terelius@webrtc.org>
> Commit-Queue: Johannes Kron <kron@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24821}
TBR=terelius@webrtc.org,asapersson@webrtc.org,kron@webrtc.org
Change-Id: I98c4c96d552858d0299d49993e9b9be6a6204dfe
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9439
Reviewed-on: https://webrtc-review.googlesource.com/101860
Reviewed-by: Johannes Kron <kron@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24825}
The reland has a lot of additional DCHECKS for easier debugging,
so in debug builds it will actually be a ~2x slowdown compared to the old code.
The excessive DCHECKS should be removed in a followup CL.
Bug: webrtc:9439
Change-Id: I8389cd84f1ca12c29cc6993f0d2cf7e6d7dd8379
Reviewed-on: https://webrtc-review.googlesource.com/101761
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24821}
A potential bug was introduced in "Refactor to remove direct memory
dependency on kMaxId" due to a memory restructuring,
commit c5744b8b21
Bug: webrtc:7990
Change-Id: I0dcaf47e1c1e361d65220c278a2326d6f2686af7
Reviewed-on: https://webrtc-review.googlesource.com/101642
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24814}
RtpPacket::UpdateDelayStatistics was previously optimized with several
sanity checks added. These sanity checks caused many of the unit tests
in peerconnection_integration_unittests to fail and the CL was therefore
reverted. This CL contains the sanity checks along with patches so that
the unit tests pass.
Bug: webrtc:9439
Change-Id: Ia5f5e8b125e5f3f4b79d433e2282901143530a25
Reviewed-on: https://webrtc-review.googlesource.com/99802
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24813}
When two-byte header extensions are enabled, kMaxId will change from 15
to 255. This CL is a refactor to remove the direct dependency between
memory allocation and kMaxId.
Bug: webrtc:7990
Change-Id: I38974a9c705eb6a0fdba9038a7d909861587d98d
Reviewed-on: https://webrtc-review.googlesource.com/101580
Commit-Queue: Johannes Kron <kron@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24801}
Add helper function to create test data,
reduce amount of unrelated details
Reduced complicated logic in tests, in particular
move most of expectation inside the tests from helpers.
Bug: None
Change-Id: I53f29a70989086c7628a0b112a45ec4567b40bf9
Reviewed-on: https://webrtc-review.googlesource.com/100380
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24760}
Remove function for converting uri into ExtensionType
This removes one of the lists of all supported extensions
Bug: webrtc:7472
Change-Id: I0c27239d91ef14ca4a3aa0c00588fa2b9cf10e0c
Reviewed-on: https://webrtc-review.googlesource.com/100523
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24752}
Today we use |is_first_packet_in_frame| to know when a frame begins and the
|markerBit| to know when it ends, but the markerbit does not actually mark the
end of a frame, it marks the end of a picture.
Bug: webrtc:9361
Change-Id: Icc70e6075590cdc31e875a4eb9d489868adbb67c
Reviewed-on: https://webrtc-review.googlesource.com/100160
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24722}
as iniditcation retransmission shouldn't be limited because of rate.
Bug: None
Change-Id: I579261749515260b972631779dadc6349dfcab46
Reviewed-on: https://webrtc-review.googlesource.com/99541
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24690}
This reverts commit 49b2c3c4c4.
Original CL description:
Decrease complexity of RtpPacketHistory::GetBestFittingPacket.
Use a map of packet sizes in RtpPacketHistory instead of looping through the whole history for every call
patch set 1 contains the initial submit from https://webrtc-review.googlesource.com/c/src/+/98882
new patch sets contains the modification.
The problem with the initial submit was the assumption that packets are removed
from history in the same order as they are added which is not always true.
Bug: webrtc:9731
Change-Id: Ic2c8905a0f47287fc46e53f41a019a4c69c3dd8e
Reviewed-on: https://webrtc-review.googlesource.com/99460
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24687}
This reverts commit 54caa4b68a.
Reason for revert: Crashes on some perf tests.
https://logs.chromium.org/v/?s=chromium%2Fbb%2Fclient.webrtc.perf%2FLinux_Trusty%2F7170%2F%2B%2Frecipes%2Fsteps%2Fwebrtc_perf_tests%2F0%2Fstdout
Original change's description:
> Decrease complexity of RtpPacketHistory::GetBestFittingPacket.
> Use a map of packet sizes in RtpPacketHistory instead of looping through the whole history for every call.
>
> Bug: webrtc:9731
> Change-Id: I44a4f6221e261a6cb3d5039edfa7556a102ee6f1
> Reviewed-on: https://webrtc-review.googlesource.com/98882
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> Commit-Queue: Per Kjellander <perkj@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24662}
TBR=danilchap@webrtc.org,sprang@webrtc.org,perkj@webrtc.org
Change-Id: Id183cd31a67117e9614d163e4388131fd88de07d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9731
Reviewed-on: https://webrtc-review.googlesource.com/99440
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24665}
Use a map of packet sizes in RtpPacketHistory instead of looping through the whole history for every call.
Bug: webrtc:9731
Change-Id: I44a4f6221e261a6cb3d5039edfa7556a102ee6f1
Reviewed-on: https://webrtc-review.googlesource.com/98882
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24662}
no behavior changes expected.
Different exension for the 1st packet will be added in a follow-up
Bug: webrtc:9680
Change-Id: I8c853b2710d58df579aeb4b029b42210310423cc
Reviewed-on: https://webrtc-review.googlesource.com/98843
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24655}