This a pre-step for improving perfomance of the RTCPReceiver
- rest of the ReceiveInfo is tmmbr related and
can be handled only when tmmbr is explicitly enabled.
BUG=webrtc:5565
Review-Url: https://codereview.webrtc.org/2681003003
Cr-Commit-Position: refs/heads/master@{#16667}
This feature is unused. We can then also delete the header file
video_capture_delay.h.
BUG=None
Review-Url: https://codereview.webrtc.org/2665113006
Cr-Commit-Position: refs/heads/master@{#16666}
In order to not make this CL too large I have broken it down into at least two steps. In this CL we only propagate the pacing information part of the way:
webrtc::PacedSender::Process <--- propagate from here
webrtc::PacedSender::SendPacket
webrtc::PacketRouter::TimeToSendPacket
webrtc::ModuleRtpRtcpImpl::TimeToSendPacket <--- to here
webrtc::RTPSender::TimeToSendPacket
webrtc::RTPSender::PrepareAndSendPacket
webrtc::RTPSender::AddPacketToTransportFeedback
webrtc::TransportFeedbackAdapter::AddPacket
webrtc::SendTimeHistory::AddAndRemoveOld <--- goal is to propagte it here
BUG=webrtc:6822
Review-Url: https://codereview.webrtc.org/2628563003
Cr-Commit-Position: refs/heads/master@{#16664}
This change adds a ResolutionChangeDetector to help dxgi components, say
DxgiDuplicatorController and DxgiTexture to detect resolution changes.
BUG=684162
Review-Url: https://codereview.webrtc.org/2682913002
Cr-Commit-Position: refs/heads/master@{#16654}
This is a follow-up to https://codereview.webrtc.org/2670643007/. That
CL provided significant improvement to Mac, Linux and ARM-based
platforms, but failed to improve the performance for Windows. The
problem is that the MSVC compiler did not produce branch-free code for
that fix. This new change produces the same result for non-Windows
platforms, as well as introduces branch-free code for Windows.
H/t to kwiberg@ for providing the solution.
BUG=webrtc:7159
Review-Url: https://codereview.webrtc.org/2700633003
Cr-Commit-Position: refs/heads/master@{#16649}
After https://codereview.webrtc.org/2340773002,
the path from webrtc::test::ResourcePath in
webrtc/modules/audio_coding/neteq/tools/neteq_performance_test.cc is wrong.
It is
/path/to/repos/resources/audio_coding/testfile32kHz.pcm
It should be
/path/to/repos/webrtc-temp/src/resources/audio_coding/testfile32kHz.pcm.
The middle part is missing.
The reason this target is affected is because
webrtc::test::SetExecutablePath(argv[0]);
was not called.
That call is necessary for us to know that the test is being run from src/
and not from out/Default (as is assumed, when that function is not called.)
BUG=chromium:497757
R=kjellander@webrtc.org, henrik.lundin@webrtc.org
Review-Url: https://codereview.webrtc.org/2698743002
Cr-Commit-Position: refs/heads/master@{#16641}
No point in measuring the time needed to write dropped frames to disk.
BUG=webrtc:6634
Review-Url: https://codereview.webrtc.org/2696503003
Cr-Commit-Position: refs/heads/master@{#16629}
For them implemeted upscaling in libyuv metrics calculation.
Updated maximum number of SL in vp9 encoder to 3.
Refactored names of some fields in Video_quality_check analyzer.
BUG=webrtc:7095
Review-Url: https://codereview.webrtc.org/2681683003
Cr-Commit-Position: refs/heads/master@{#16625}
The removed tests are covered by cases in call_perf_tests.
BUG=webrtc:4690
Review-Url: https://codereview.webrtc.org/2672583002
Cr-Commit-Position: refs/heads/master@{#16621}
The test program modules/audio_processing/test/audioproc_float.cc
defined the flag 'agc_compression_gain' and had checks if the
parameter was valid (audioproc_float). The flag was also copied to
webrtc::test::SimulationSettings of audio_processing_simulator.h. The
setting was however never applied to APM.
This change applies the setting on the GainControl submodule in the
same way as the agc_target_level is applied.
This is needed for e.g. testing the AGC fixed digital limiter with the
same configuration as it is (currently) used with in AudioMixerImpl.
Also added new flag '-experimental_agc'. This flag allows disabling the
experimental AGC, which is how the AGC is used in AudioMixerImpl.
ExperimentalAgc is enabled by default, exactly as it was prior to this change.
The change has been tested locally by listening tests and diff comparisons.
BUG=None
NOTRY=True # win_dbg bot not cooperating
Review-Url: https://codereview.webrtc.org/2684983004
Cr-Commit-Position: refs/heads/master@{#16603}
Lateness is determined by the length of the send-side history, currently
set to 60 seconds.
BUG=webrtc:5079
Review-Url: https://codereview.webrtc.org/2684353004
Cr-Commit-Position: refs/heads/master@{#16588}
This avoids redoing RTP header parsing already done in Call, for video.
The next step is to convert other types of receive streams, i.e.,
audio and flexfec, to use a compatible OnRtpPacket method. We can then
introduce a shared base interface, and simplify media-independent
receive processing in Call.
BUG=webrtc:7135
Review-Url: https://codereview.webrtc.org/2681673004
Cr-Commit-Position: refs/heads/master@{#16583}
There are currently two webrtc::CircularBuffers defined:
- modules/audio_coding/test/utility.{h,cc}
- modules/audio_processing/echo_detector/circular_buffer.{h,cc}
This CL moves the former definition to the webrtc::test namespace,
to avoid link errors in a future build target.
BUG=None
Review-Url: https://codereview.webrtc.org/2667383008
Cr-Commit-Position: refs/heads/master@{#16553}
This helps us avoid time-outs on really bad networks with long queues.
Also adding periodic logging of the fake network pipe's queue in milliseconds.
BUG=webrtc:5079
Review-Url: https://codereview.webrtc.org/2687013005
Cr-Commit-Position: refs/heads/master@{#16532}
The tests need "x11/shared_x_display.h" which is not included when use_x11 is false and we're on linux.
The problem is:
screen_capturer_integration_test.cc
- requires ->
screen_drawer.h
- requires ->
screen_drawer_linux.cc
- requires ->
x11/shared_x_display.h
which is not included when use_x11 is false.
BUG=None
NOTRY=True
Review-Url: https://codereview.webrtc.org/2684683003
Cr-Commit-Position: refs/heads/master@{#16529}
Add tests (plot_videoprocessor_integrationtest.cc) to be used to plot stats from (not yet used).
Move VideoProcessorIntegrationTest fixture to separate file. To be used by plot_videoprocessor_integrationtest.cc.
BUG=webrtc:6634
Review-Url: https://codereview.webrtc.org/2643853002
Cr-Commit-Position: refs/heads/master@{#16528}
Since the only used class is RTCPUtilitiy::NackStats,
rename it to RtcpNackStats and move it into dedicated file.
BUG=webrtc:5565
Review-Url: https://codereview.webrtc.org/2680183004
Cr-Commit-Position: refs/heads/master@{#16515}
It's currently only used to ensure transport-cc is enabled for the format in question. It might be used to toggle more things in future.
BUG=webrtc:5806
Review-Url: https://codereview.webrtc.org/2669583002
Cr-Commit-Position: refs/heads/master@{#16514}
Reason for revert:
The reason for reverting was false alarm.
Original issue's description:
> Revert of Avoid calling PostTask in audio callbacks (patchset #6 id:100001 of https://codereview.webrtc.org/2663383004/ )
>
> Reason for revert:
> Speculative revert to see if this CL caused a change in performance tests.
>
> See https://bugs.chromium.org/p/chromium/issues/detail?id=689919 for details.
>
> Original issue's description:
> > Avoid calling PostTask in audio callbacks.
> >
> > We have seen that PostTask can consume some CPU and the way we used it
> > before (logging only) in the ADB is not worth the cost we see when
> > profiling.
> >
> > This CL simply moves frequent (trivial) stat updates from the task queue
> > to the native threads to avoid calling PostTask in each callback.
> > The reason for doing so before was to avoid locks but we can live without
> > them since races are benign here.
> >
> >
> > BUG=webrtc:7096
> >
> > Review-Url: https://codereview.webrtc.org/2663383004
> > Cr-Commit-Position: refs/heads/master@{#16429}
> > Committed: 77ce9a5541
>
> TBR=solenberg@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=webrtc:7096
>
> Review-Url: https://codereview.webrtc.org/2684913003
> Cr-Commit-Position: refs/heads/master@{#16490}
> Committed: fd8f102a84TBR=solenberg@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7096
Review-Url: https://codereview.webrtc.org/2687573003
Cr-Commit-Position: refs/heads/master@{#16497}
Reason for revert:
Speculative revert to see if this CL caused a change in performance tests.
See https://bugs.chromium.org/p/chromium/issues/detail?id=689919 for details.
Original issue's description:
> Avoid calling PostTask in audio callbacks.
>
> We have seen that PostTask can consume some CPU and the way we used it
> before (logging only) in the ADB is not worth the cost we see when
> profiling.
>
> This CL simply moves frequent (trivial) stat updates from the task queue
> to the native threads to avoid calling PostTask in each callback.
> The reason for doing so before was to avoid locks but we can live without
> them since races are benign here.
>
>
> BUG=webrtc:7096
>
> Review-Url: https://codereview.webrtc.org/2663383004
> Cr-Commit-Position: refs/heads/master@{#16429}
> Committed: 77ce9a5541TBR=solenberg@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:7096
Review-Url: https://codereview.webrtc.org/2684913003
Cr-Commit-Position: refs/heads/master@{#16490}
canceller 3
This CL adds code to the all the delay estimation functionality that is
available for the first version of echo canceller 3. The code completes
the class EchoPathDelayEstimator.
Note that this code does not yet include any handling of clock-drift so
there will be upcoming versions of this code.
Also note that the CL includes some minor changes in other files for
echo canceller 3.
BUG=webrtc:6018
Review-Url: https://codereview.webrtc.org/2644123002
Cr-Commit-Position: refs/heads/master@{#16489}
This is not implemented yet in any of the decoders.
BUG=webrtc:6541
Review-Url: https://codereview.webrtc.org/2649133005
Cr-Commit-Position: refs/heads/master@{#16475}
Reason for revert:
Perf test broke as it made assumptions that quality scaling was turned off. This turns out not to be the case. Fixed by turning quality scaling off for the tests.
Original issue's description:
> Revert of Drop frames until specified bitrate is achieved. (patchset #12 id:240001 of https://codereview.webrtc.org/2630333002/ )
>
> Reason for revert:
> due to failures on perf tests (not on perf stats, but fails running due to dcheck failures), see e.g., https://build.chromium.org/p/client.webrtc.perf/builders/Android32%20Tests%20(K%20Nexus5)
>
> Original issue's description:
> > Drop frames until specified bitrate is achieved.
> >
> > This CL fixes a regression introduced with the new quality scaler
> > where the video would no longer start in a scaled mode. This CL adds
> > code that compares incoming captured frames to the target bitrate,
> > and if they are found to be too large, they are dropped and sinkWants
> > set to a lower resolution. The number of dropped frames should be low
> > (0-4 in most cases) and should not introduce a noticeable delay, or
> > at least should be preferrable to having the first 2-4 seconds of video
> > have very low quality.
> >
> > BUG=webrtc:6953
> >
> > Review-Url: https://codereview.webrtc.org/2630333002
> > Cr-Commit-Position: refs/heads/master@{#16391}
> > Committed: 83399caec5
>
> TBR=perkj@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,kthelgason@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6953
>
> Review-Url: https://codereview.webrtc.org/2666303002
> Cr-Commit-Position: refs/heads/master@{#16395}
> Committed: 35fc2aa82fTBR=perkj@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,minyue@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:6953
Review-Url: https://codereview.webrtc.org/2675223002
Cr-Commit-Position: refs/heads/master@{#16473}
This was causing some apps that include WebRTC to be rejected from the
app store.
BUG=webrtc:6382
Review-Url: https://codereview.webrtc.org/2679913002
Cr-Commit-Position: refs/heads/master@{#16462}
That would simplify their usage in tests where perfomance is not critical.
BUG=None
Review-Url: https://codereview.webrtc.org/2675713005
Cr-Commit-Position: refs/heads/master@{#16461}
Also fixes a bug where RTCP transport feedback was sent even though RTCP was disabled.
May affect perf numbers since the behavior of the send-side BWE differs a lot from the recv-side BWE.
BUG=webrtc:7111
Review-Url: https://codereview.webrtc.org/2669413003
Cr-Commit-Position: refs/heads/master@{#16451}
AEC3 and AEC2 are separate submodules in APM. This CL ensures that AEC3
deactivates AEC2 if both are active at the same time.
BUG=webrtc:6018
Review-Url: https://codereview.webrtc.org/2675863004
Cr-Commit-Position: refs/heads/master@{#16443}