This lets the RTP code be unaware of lower layers, and the
SetTransportOverhead method is deleted from RTPSender and RtpRtcp.
Instead, that method is added to CongestionController and
TransportFeedbackAdapter, where it is more appropriate.
BUG=wertc:6847
Review-Url: https://codereview.webrtc.org/2589743002
Cr-Commit-Position: refs/heads/master@{#15995}
Moves webrtc/common_video/rotation.h and parts of
webrtc/common_video/include/video_frame_buffer.h and
webrtc/video_frame.h, and adds to a new GN target api:video_frame_api.
BUG=webrtc:5880
Review-Url: https://codereview.webrtc.org/2517173004
Cr-Commit-Position: refs/heads/master@{#15993}
Since packets can be received out of order NACKs could be triggered before any
packet was actually dropped. This cause the test to never drop packets which in
turn caused the block of code which set the |observation_complete_| event to
never execute.
BUG=webrtc:2845
Review-Url: https://codereview.webrtc.org/2613443002
Cr-Commit-Position: refs/heads/master@{#15990}
Add RTC_DEPRACATed anonymous unions to not break downstream projects.
Orignal issue's description:
> commit 0ad21111fcc57a7e978edba3c4263f0062d7f9ff
> Author: danilchap <danilchap@webrtc.org>
> Date: Mon Dec 19 09:36:33 2016 -0800
>
> Revert of Rename RTPVideoHeader.isFirstPacket to
> .is_first_packet_in_frame. (patchset #1 id:1 of
> https://codereview.webrtc.org/2574943003/ )
>
> Reason for revert:
> breaks downstream project.
>
> Can you make this change in a compatible way using anonymous
> union:
> union {
> bool is_first_packet_in_frame;
> RTC_DEPRECATED bool isFirstPacket;
> };
> (unfortunetly this this treak breaks braced initialization in
> rtp_rtcp_impl_unittest.cc,
> so that should be rewritting in a more classic way)
>
> Original issue's description:
> > Rename RTPVideoHeader.isFirstPacket to
> > .is_first_packet_in_frame.
> >
> > Name should represent the actual meaning.
> >
> > BUG=None
> >
> > Review-Url: https://codereview.webrtc.org/2574943003
> > Cr-Commit-Position: refs/heads/master@{#15684}
> > Committed:
> > efde908380
>
> TBR=stefan@webrtc.org,sprang@webrtc.org,johan@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days
> ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=None
>
> Review-Url: https://codereview.webrtc.org/2589783003
> Cr-Commit-Position: refs/heads/master@{#15686}
>
BUG=None
Review-Url: https://codereview.webrtc.org/2614503002
Cr-Commit-Position: refs/heads/master@{#15987}
- add some unit tests
- change SampleCounter members from int to int64_t
BUG=webrtc:5283
Review-Url: https://codereview.webrtc.org/2577073002
Cr-Commit-Position: refs/heads/master@{#15882}
This test was inadvertently made useless in https://codereview.webrtc.org/2558303002/.
Prior to that CL, at least 100 media packets -- but no ULPFEC packets -- had to
be sent before the test claimed that ULPFEC was not utilized. This CL reinstates
that behaviour, but instead of counting packets we expect the test to time out
when ULPFEC should not be utilized.
This solution is simple in code, but increases the test duration from 70 ms
to 10000 ms. Note, however, that the 70 ms duration was for a test that didn't
test anything interesting...
TESTED=Using gtest-parallel locally: 2000 test runs without flakes.
BUG=webrtc:6851
Review-Url: https://codereview.webrtc.org/2592693002
Cr-Commit-Position: refs/heads/master@{#15859}
- UpdateRtcpList
- RtpToNtp
class RtpToNtpEstimator
- UpdateMeasurements
- Estimate
List with rtcp measurements is now private.
BUG=none
Review-Url: https://codereview.webrtc.org/2574133003
Cr-Commit-Position: refs/heads/master@{#15762}
Problem fixed: RTP header extensions were not properly set in tests.
BUG=webrtc:5654
Review-Url: https://codereview.webrtc.org/2593963003
Cr-Commit-Position: refs/heads/master@{#15741}
Prior to this change, the receiver_time metric had huge outliers
whenever FlexFEC was enabled. This was due to a measurement problem,
where the time of the incoming packet was incorrectly set to zero.
This happened for packets that were lost in transit, but recovered
through FEC.
This CL fixes this problem by simply not recording samples where the
incoming packet time is undefined. The CL also removes the possibility
of timestamp collisions in the data structures.
TESTED=Ran './webrtc_perf_tests --gtest_filter="*ForemanCifPlr5H264Flexfec*" | grep receiver_time' locally 10 times, without experiencing any outliers.
BUG=webrtc:5654
Review-Url: https://codereview.webrtc.org/2596793002
Cr-Commit-Position: refs/heads/master@{#15735}
Documentation was also unclear, it seems it returned the RTP packet
size including RTP headers.
BUG=None.
Review-Url: https://codereview.webrtc.org/2588343002
Cr-Commit-Position: refs/heads/master@{#15707}
Reason for revert:
breaks downstream project.
Can you make this change in a compatible way using anonymous union:
union {
bool is_first_packet_in_frame;
RTC_DEPRECATED bool isFirstPacket;
};
(unfortunetly this this treak breaks braced initialization in rtp_rtcp_impl_unittest.cc,
so that should be rewritting in a more classic way)
Original issue's description:
> Rename RTPVideoHeader.isFirstPacket to .is_first_packet_in_frame.
>
> Name should represent the actual meaning.
>
> BUG=None
>
> Review-Url: https://codereview.webrtc.org/2574943003
> Cr-Commit-Position: refs/heads/master@{#15684}
> Committed: efde908380TBR=stefan@webrtc.org,sprang@webrtc.org,johan@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=None
Review-Url: https://codereview.webrtc.org/2589783003
Cr-Commit-Position: refs/heads/master@{#15686}
"WebRTC.Call.NumberOfPauseEvents" -> "WebRTC.Video.NumberOfPauseEvents"
Recorded if a certain time has passed (10 sec) since the first media packet was sent.
Moved to per stream to know when media has started and to prevent logging stats for calls that was never in use.
Add histogram for percentage of paused video time for sent video streams:
"WebRTC.Video.PausedTimeInPercent"
BUG=b/32659204
Review-Url: https://codereview.webrtc.org/2530393003
Cr-Commit-Position: refs/heads/master@{#15681}
Reason for revert:
Bug affecting perf tests has been fixed. The issue was that I had accidentally disabled cpu overuse adaptation based on the encoders ScalingSettings, not just quality-based scaling.
Original issue's description:
> Revert of Properly report number of quality downscales in stats. (patchset #11 id:220001 of https://codereview.webrtc.org/2564373002/ )
>
> Reason for revert:
> Breaks perf tests
>
> Original issue's description:
> > Properly report number of quality downscales in stats.
> >
> > A regression was introduced in 876222f that caused these stats to
> > be reported incorrectly. This used to be only implemented for VP8
> > but should now be available for all codecs.
> >
> > BUG=webrtc:6860
> >
> > Review-Url: https://codereview.webrtc.org/2564373002
> > Cr-Commit-Position: refs/heads/master@{#15673}
> > Committed: 0c8c538835
>
> TBR=asapersson@webrtc.org,stefan@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6860
>
> Review-Url: https://codereview.webrtc.org/2586783003
> Cr-Commit-Position: refs/heads/master@{#15678}
> Committed: fe04bd43ccTBR=asapersson@webrtc.org,stefan@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6860
Review-Url: https://codereview.webrtc.org/2588743002
Cr-Commit-Position: refs/heads/master@{#15680}
Reason for revert:
Breaks perf tests
Original issue's description:
> Properly report number of quality downscales in stats.
>
> A regression was introduced in 876222f that caused these stats to
> be reported incorrectly. This used to be only implemented for VP8
> but should now be available for all codecs.
>
> BUG=webrtc:6860
>
> Review-Url: https://codereview.webrtc.org/2564373002
> Cr-Commit-Position: refs/heads/master@{#15673}
> Committed: 0c8c538835TBR=asapersson@webrtc.org,stefan@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6860
Review-Url: https://codereview.webrtc.org/2586783003
Cr-Commit-Position: refs/heads/master@{#15678}
A regression was introduced in 876222f that caused these stats to
be reported incorrectly. This used to be only implemented for VP8
but should now be available for all codecs.
BUG=webrtc:6860
Review-Url: https://codereview.webrtc.org/2564373002
Cr-Commit-Position: refs/heads/master@{#15673}
The rtx streams were not included in the number of expected streams
but the test passed most of the time anyway due to how the checking was done.
Flake was caused when the number of registered streams jumped passed the
number of expected send streams excluding the number of rtx streams.
BUG=webrtc:6879
Review-Url: https://codereview.webrtc.org/2580343002
Cr-Commit-Position: refs/heads/master@{#15671}
In order for the VCMTiming object to be correctly updated with decoding timings
when running the WebRTC-NewVideoJitterBuffer experiment the VCMTiming object
has to be available in both the VideoReceiver and the video_coding::FrameBuffer
class. Therefore the VCMTiming object is created in VideoRecieveStream and
then passed to VideoReceiver/video_coding::FrameBuffer as they are constructed.
BUG=webrtc:5514
Review-Url: https://codereview.webrtc.org/2575473004
Cr-Commit-Position: refs/heads/master@{#15638}
Reason for revert:
Crashes perf tests, e.g.,
./out/Debug/webrtc_perf_tests --gtest_filter='FullStackTest.ScreenshareSlidesVP8_2TL_VeryLossyNet'
dies with an assert related to rtc::Optional.
Original issue's description:
> Delete VideoFrame default constructor, and IsZeroSize method.
>
> This ensures that the video_frame_buffer method never can return a
> null pointer.
>
> BUG=webrtc:6591
>
> Committed: https://crrev.com/bfcf561923a42005e4c7d66d8e72e5932155f997
> Cr-Commit-Position: refs/heads/master@{#15574}
TBR=magjed@webrtc.org,stefan@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6591
Review-Url: https://codereview.webrtc.org/2574123002
Cr-Commit-Position: refs/heads/master@{#15597}
This ensures that the video_frame_buffer method never can return a
null pointer.
BUG=webrtc:6591
Review-Url: https://codereview.webrtc.org/2541863002
Cr-Commit-Position: refs/heads/master@{#15574}
AddCodec represents better what this function actually does.
BUG=None
Review-Url: https://codereview.webrtc.org/2573593003
Cr-Commit-Position: refs/heads/master@{#15565}
The changes here are the same as in https://codereview.webrtc.org/2523993002/:
- reduce packet loss from 50% to 5%, to allow the BWE to ramp up better.
- Do not wait for 100 packets to be sent before letting the test pass.
BUG=webrtc:6851
Review-Url: https://codereview.webrtc.org/2558303002
Cr-Commit-Position: refs/heads/master@{#15542}
This should remove the test flakiness, as before this change there
could be collisions from sequence numbers coming from two sequence
number spaces (the media SSRC and the FlexFEC SSRC). The probability
of collisions was low, and hence the flakes were far between.
This change also reduces the packet loss to 5% (down from ~50%), in
order for the BWE to have an easier time to ramp up.
BUG=webrtc:6825
R=philipel@webrtc.org, mflodman@webrtc.org
Review-Url: https://codereview.webrtc.org/2554403003
Cr-Commit-Position: refs/heads/master@{#15512}
Reason for revert:
Fixed perf tests.
Original issue's description:
> Revert of Bump up scaling limit for MediaCodec. (patchset #3 id:40001 of https://codereview.webrtc.org/2566533002/ )
>
> Reason for revert:
> Failed on the perf tests.
>
> Original issue's description:
> > Bump up scaling limit for MediaCodec.
> >
> > Wait until MediaCodec is better tested at these low
> > resolutions, and until some fallback mechanism is in place
> > before lowering this threshold.
> >
> > BUG=webrtc:6837
> >
> > Committed: https://crrev.com/3e9b1330467edf6b5af609b375c15efb9e6b4933
> > Cr-Commit-Position: refs/heads/master@{#15498}
>
> TBR=magjed@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6837
>
> Committed: https://crrev.com/1cd0a0ab43846072b1e2f37c953ecd770feb5963
> Cr-Commit-Position: refs/heads/master@{#15500}
TBR=magjed@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6837
Review-Url: https://codereview.webrtc.org/2567613002
Cr-Commit-Position: refs/heads/master@{#15505}
Reason for revert:
Increase in encode time larger than expected.
Original issue's description:
> Turn off error resilience for VP9 if no spatial or temporal layers are configured and NACK is enabled.
>
> Error resilience is currently always enabled for VP9 which reduces quality.
>
> BUG=webrtc:6783
>
> Committed: https://crrev.com/4eb03c76fa2320534d669fda2aabf800e7a6f579
> Cr-Commit-Position: refs/heads/master@{#15390}
TBR=stefan@webrtc.org,marpan@webrtc.org,mflodman@webrtc.org,marpan@google.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:6783
Review-Url: https://codereview.webrtc.org/2554403006
Cr-Commit-Position: refs/heads/master@{#15501}
Reason for revert:
Failed on the perf tests.
Original issue's description:
> Bump up scaling limit for MediaCodec.
>
> Wait until MediaCodec is better tested at these low
> resolutions, and until some fallback mechanism is in place
> before lowering this threshold.
>
> BUG=webrtc:6837
>
> Committed: https://crrev.com/3e9b1330467edf6b5af609b375c15efb9e6b4933
> Cr-Commit-Position: refs/heads/master@{#15498}
TBR=magjed@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6837
Review-Url: https://codereview.webrtc.org/2562963002
Cr-Commit-Position: refs/heads/master@{#15500}
Wait until MediaCodec is better tested at these low
resolutions, and until some fallback mechanism is in place
before lowering this threshold.
BUG=webrtc:6837
Review-Url: https://codereview.webrtc.org/2566533002
Cr-Commit-Position: refs/heads/master@{#15498}
Also deletes one call to CongestionController::pacer.
BUG=None
Review-Url: https://codereview.webrtc.org/2542113003
Cr-Commit-Position: refs/heads/master@{#15479}
Reason for revert:
Fixed timeouts in slow tests
Original issue's description:
> Revert of H.264 packetization mode 0 (try 3) (patchset #13 id:490001 of https://codereview.webrtc.org/2528343002/ )
>
> Reason for revert:
> Failures on the Linux Memcheck bot
>
> Original issue's description:
> > This approach passes packetization mode to the encoder as part of
> > a cricket::VideoCodec structure, rather than as part of struct VideoCodecH264 inside webrtc::VideoCodec.
> >
> > BUG=600254
> >
> > Committed: https://crrev.com/e59647b991f61cf1cf61b020356705e6c0f81257
> > Cr-Commit-Position: refs/heads/master@{#15437}
>
> TBR=hbos@webrtc.org,sprang@webrtc.org,mflodman@webrtc.org,magjed@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=600254
>
> Committed: https://crrev.com/243a0a7a7fd6b5da1e32df31f1bfbb6a68dc09f3
> Cr-Commit-Position: refs/heads/master@{#15441}
TBR=hbos@webrtc.org,sprang@webrtc.org,mflodman@webrtc.org,magjed@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=600254
Review-Url: https://codereview.webrtc.org/2558463002
Cr-Commit-Position: refs/heads/master@{#15445}
Reason for revert:
Failures on the Linux Memcheck bot
Original issue's description:
> This approach passes packetization mode to the encoder as part of
> a cricket::VideoCodec structure, rather than as part of struct VideoCodecH264 inside webrtc::VideoCodec.
>
> BUG=600254
>
> Committed: https://crrev.com/e59647b991f61cf1cf61b020356705e6c0f81257
> Cr-Commit-Position: refs/heads/master@{#15437}
TBR=hbos@webrtc.org,sprang@webrtc.org,mflodman@webrtc.org,magjed@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=600254
Review-Url: https://codereview.webrtc.org/2558453002
Cr-Commit-Position: refs/heads/master@{#15441}
a cricket::VideoCodec structure, rather than as part of struct VideoCodecH264 inside webrtc::VideoCodec.
BUG=600254
Review-Url: https://codereview.webrtc.org/2528343002
Cr-Commit-Position: refs/heads/master@{#15437}
The intention is to make the tests less flaky.
BUG=webrtc:6744
Review-Url: https://codereview.webrtc.org/2552713002
Cr-Commit-Position: refs/heads/master@{#15421}
Error resilience is currently always enabled for VP9 which reduces quality.
BUG=webrtc:6783
Review-Url: https://codereview.webrtc.org/2532053002
Cr-Commit-Position: refs/heads/master@{#15390}