There are still a few places in VideoReceiveStream where the RTP module
is explicitly used, e.g. setting up a/v sync, but it's a bigger task to
change and that will be done in a follow up instead of in this CL.
BUG=webrtc:5838
Review-Url: https://codereview.webrtc.org/1947913002
Cr-Commit-Position: refs/heads/master@{#12642}
- "WebRTC.Video.SendDelayInMs"
Change so that PacketOption packet id is always set in RtpSender (if having a TransportSequenceNumberAllocator).
Add SendDelayStats class for computing delays.
Add SendPacketObserver to RtpRtcp config and register SendDelayStats as observer.
Wire up OnSentPacket to SendDelayStats.
BUG=webrtc:5215
Review-Url: https://codereview.webrtc.org/1478253002
Cr-Commit-Position: refs/heads/master@{#12600}
Reason for revert:
Not root cause for perf regression (regression still ongoing).
Original issue's description:
> Revert of Remove VCMQmRobustness. (patchset #1 id:1 of https://codereview.webrtc.org/1917083003/ )
>
> Reason for revert:
> Speculative revert for perf regression.
>
> Original issue's description:
> > Remove VCMQmRobustness.
> >
> > Class contained a lot of not-really-wired-up functionality that ended up
> > being complicated ways of saying return 1; or return false;. This
> > removes this dependency that complicates code readability significantly.
> >
> > BUG=webrtc:5066
> > R=marpan@google.com, marpan@webrtc.org
> > TBR=stefan@webrtc.org
> >
> > Committed: https://crrev.com/73894369791cb5eedc8788baf918ec07d11d351d
> > Cr-Commit-Position: refs/heads/master@{#12516}
>
> TBR=marpan@webrtc.org,stefan@webrtc.org,marpan@google.com
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=webrtc:5066, chromium:607838
>
> Committed: https://crrev.com/602316c3cd8556cc78d44f3ea4cd5fc8e70d9417
> Cr-Commit-Position: refs/heads/master@{#12572}
TBR=marpan@webrtc.org,stefan@webrtc.org,marpan@google.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:5066, chromium:607838
Review-Url: https://codereview.webrtc.org/1941643002
Cr-Commit-Position: refs/heads/master@{#12583}
Reason for revert:
Speculative revert for perf regression.
Original issue's description:
> Remove VCMQmRobustness.
>
> Class contained a lot of not-really-wired-up functionality that ended up
> being complicated ways of saying return 1; or return false;. This
> removes this dependency that complicates code readability significantly.
>
> BUG=webrtc:5066
> R=marpan@google.com, marpan@webrtc.org
> TBR=stefan@webrtc.org
>
> Committed: https://crrev.com/73894369791cb5eedc8788baf918ec07d11d351d
> Cr-Commit-Position: refs/heads/master@{#12516}
TBR=marpan@webrtc.org,stefan@webrtc.org,marpan@google.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:5066, chromium:607838
Review-Url: https://codereview.webrtc.org/1935753002
Cr-Commit-Position: refs/heads/master@{#12572}
The problem with gmock is worked around by commenting out any other override declarations in classes using gmock.
NOPRESUBMIT=True
BUG=webrtc:3970
Review-Url: https://codereview.webrtc.org/1921653002
Cr-Commit-Position: refs/heads/master@{#12563}
Class contained a lot of not-really-wired-up functionality that ended up
being complicated ways of saying return 1; or return false;. This
removes this dependency that complicates code readability significantly.
BUG=webrtc:5066
R=marpan@google.com, marpan@webrtc.orgTBR=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1917083003 .
Cr-Commit-Position: refs/heads/master@{#12516}
Any file that uses the RTC_DISALLOW_* macros should #include
"webrtc/base/constructormagic.h", but a shocking number of them don't.
This causes trouble when we try to wean files off of #including
scoped_ptr.h, since a bunch of files get their constructormagic macros
only from there.
Rather than fixing these errors one by one as they turn up, this CL
simply ensures that every file in the WebRTC tree that uses the
RTC_DISALLOW_* macros #includes "webrtc/base/constructormagic.h".
BUG=webrtc:5520
Review URL: https://codereview.webrtc.org/1917043005
Cr-Commit-Position: refs/heads/master@{#12509}
Added packet type RpsiItem to destinguish parsed rpsi header and Rpsi body
preventing handling two half-valid (header-only) rpsi packets as one valid,
making test parser calculate rpsi packet once instead of twice.
Added check padding bits doesn't exceed native bit string length.
Marking rpsi received moved after it is validated.
BUG=600977
Review URL: https://codereview.webrtc.org/1880443002
Cr-Commit-Position: refs/heads/master@{#12318}
- First audio RTP packet sent / received
- First RTP packet of the first video frame sent / received
- Last RTP packet of the first video frame sent / received
These timestamps should make it easier to measure how fast the call
becomes established from the user's perspective.
Review URL: https://codereview.webrtc.org/1765443002
Cr-Commit-Position: refs/heads/master@{#12287}
The change made in https://codereview.webrtc.org/1757683002 introduced an extra call to RTCPSender::SetRTCPStatus after the video receive stream is created. The SetRTCPStatus call results in no state change, as the RTCP sender is already enabled, however, it reschedules the next RTCP packet to be RTCP_INTERVAL_VIDEO_MS/2 (500) ms in the future.
Before the change, the next packet time was only set by the previous call to RTCPSender::SetSSRC, which placed it 100 ms in the future. The change, therefore, changed the timing of multiple performance tests - as it now takes a different length of time to ramp up to the same bandwidth.
BUG=chromium:597332
Review URL: https://codereview.webrtc.org/1826093004
Cr-Commit-Position: refs/heads/master@{#12203}
We can (and should) use std::vector<std::unique_ptr<T>> instead.
Because it's standard, and because it's safer since callers have to
manually wrap elements in std::unique_ptr before inserting them and
manually unwrap them after inserting them.
Review URL: https://codereview.webrtc.org/1839603002
Cr-Commit-Position: refs/heads/master@{#12182}
This allows the reader to reference data, thus avoiding unnecessary
allocations and memory copies.
BUG=webrtc:5155,webrtc:5670
Review URL: https://codereview.webrtc.org/1821083002
Cr-Commit-Position: refs/heads/master@{#12160}
Removes code duplication and use of the dangerous public destructor in
RefCountImpl.
Also making wider use of scoped_refptr and fixing various leaks in the
process.
BUG=webrtc:5229
R=tommi@webrtc.org
Review URL: https://codereview.webrtc.org/1477013005 .
Cr-Commit-Position: refs/heads/master@{#12075}
Reason for revert:
Revert because it breaks downstream code.
Original issue's description:
> Clean away use of RtpAudioFeedback interface from RTP/RTCP receiver code.
>
> BUG=webrtc:4690
>
> Committed: https://crrev.com/69a81999ace08e40e2b2ec526b0e111aa11b9538
> Cr-Commit-Position: refs/heads/master@{#12015}
TBR=henrik.lundin@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4690
Review URL: https://codereview.webrtc.org/1812453002
Cr-Commit-Position: refs/heads/master@{#12016}
Reason for revert:
The openmax_dl include change breaks downstream projects.
Original issue's description:
> Add check_deps rules in DEPS files.
>
> Add fine-grained check_deps rules for all of WebRTC.
> This will help both maintaining sane dependencies and provides a way
> to visualize dependency graphs using the buildtools/checkdeps/graphdeps.py script.
>
> Example:
> buildtools/checkdeps/graphdeps.py --root=. --format=png \
> --out=./webrtc.png --incl='^webrtc/modules/bitrate_controller->' \
> --excl='chromium|base|external|testing|webrtc/test|\.h$|\.cc$'
>
> will produce a neat webrtc.png image showcasing the dependencies
> (according to the DEPS file) for the bitrate_controller module.
> Some dependencies are filtered out for readability.
>
> BUG=webrtc:5623
> TESTED=Passing runs using:
> buildtools/checkdeps/checkdeps.py --root=. talk
> buildtools/checkdeps/checkdeps.py --root=. webrtc
>
> R=tommi@webrtc.org
>
> Committed: https://crrev.com/086f851b7b9b4bcbd4fe507c3bf83b760bd7f4d9
> Cr-Commit-Position: refs/heads/master@{#12008}
TBR=tommi@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5623
Review URL: https://codereview.webrtc.org/1808573002
Cr-Commit-Position: refs/heads/master@{#12009}
Add fine-grained check_deps rules for all of WebRTC.
This will help both maintaining sane dependencies and provides a way
to visualize dependency graphs using the buildtools/checkdeps/graphdeps.py script.
Example:
buildtools/checkdeps/graphdeps.py --root=. --format=png \
--out=./webrtc.png --incl='^webrtc/modules/bitrate_controller->' \
--excl='chromium|base|external|testing|webrtc/test|\.h$|\.cc$'
will produce a neat webrtc.png image showcasing the dependencies
(according to the DEPS file) for the bitrate_controller module.
Some dependencies are filtered out for readability.
BUG=webrtc:5623
TESTED=Passing runs using:
buildtools/checkdeps/checkdeps.py --root=. talk
buildtools/checkdeps/checkdeps.py --root=. webrtc
R=tommi@webrtc.org
Review URL: https://codereview.webrtc.org/1796413002 .
Cr-Commit-Position: refs/heads/master@{#12008}
this class replace and extend RTCPUtility::RtcpCommonHeader structure and RTCPUtility::RtcpParseCommonHeader function.
In addition to header fields, payload pointer is stored because rtcp header without payload is rarely useful.
Sample usage can be checked in 'RTCP Parser sketched' CL: https://codereview.webrtc.org/1555683002/
BUG=webrtc:5260
R=asapersson@webrtc.org, sprang@webrtc.org
Review URL: https://codereview.webrtc.org/1575413002 .
Cr-Commit-Position: refs/heads/master@{#11999}
"WebRTC.Video.AVSyncOffsetInMs"
The absolute value of the sync offset between a rendered video frame and the latest played audio frame is measured per video frame. The average offset per received video stream is recorded when a stream is removed.
Updated sync tests in call_perf_tests.cc to use this implementation.
BUG=webrtc:5493
Review URL: https://codereview.webrtc.org/1756193005
Cr-Commit-Position: refs/heads/master@{#11993}
Testing the nack module by implementing it into the current jitter buffer
under the experiment WebRTC-NewVideoJitterBuffer.
BUG=webrtc:5514
Review URL: https://codereview.webrtc.org/1778503002
Cr-Commit-Position: refs/heads/master@{#11969}
- Use better types in AudioSendStream::SendTelephoneEvent() and related methods.
BUG=webrtc:4690
Review URL: https://codereview.webrtc.org/1782053002
Cr-Commit-Position: refs/heads/master@{#11953}
CompactNtpIntervalToMs renamed to CompactNtpRttToMs and handle special cases:
large values consider negative/invalid and result in value of 1.
0 result consider too small and increases to 1.
BUG=590996
R=asapersson@webrtc.org, stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1763823003 .
Cr-Commit-Position: refs/heads/master@{#11928}
- Use better types in AudioSendStream::SendTelephoneEvent() and related methods.
BUG=webrtc:4690
Review URL: https://codereview.webrtc.org/1722253002
Cr-Commit-Position: refs/heads/master@{#11927}