This cl protects the access to the max_packet_size_, without fixing
the underlying race; the value is simply copied to a local variable,
whose value might be stale when used.
BUG=webrtc:7189
Review-Url: https://codereview.webrtc.org/2704263003
Cr-Commit-Position: refs/heads/master@{#16754}
by creating it on accepted tmmbr/tmmbn rtcp messages
rather on sender/receiver reports.
BUG=webrtc:5565
Review-Url: https://codereview.webrtc.org/2702373002
Cr-Commit-Position: refs/heads/master@{#16748}
Reason for revert:
Breaks downstream project.
Original issue's description:
> Add optional visualization file writers to VideoProcessor tests.
>
> The purpose of this visualization CL is to add the ability to record
> video at the source, after encode, and after decode, in the VideoProcessor
> tests. These output files can then be replayed and used as a subjective
> complement to the objective metric plots given by the existing Python
> plotting script.
>
> BUG=webrtc:6634
>
> Review-Url: https://codereview.webrtc.org/2700493006
> Cr-Commit-Position: refs/heads/master@{#16738}
> Committed: 872104ac41TBR=asapersson@webrtc.org,sprang@webrtc.org,kjellander@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6634
Review-Url: https://codereview.webrtc.org/2708103002
Cr-Commit-Position: refs/heads/master@{#16745}
The APM limiter is a component for keeping the audio from clipping by smoothly reducing the amplitude of the audio samples. It can be rather expensive because of band-splitting & merging. Also, experiments indicate that it is of questionable benefit (adding several sources of human speech almost never cause clipping).
To optionally disable the limiter, this CL does some refactoring on the (quite large) AudioMixerImpl. Functionality related to actual addition of frames and handling AudioFrame meta-data (sample_rate, num_channels, samples_per_channel, time_stamp, elapsed_time_ms) is broken out in a new sub-component called FrameCombiner.
The FrameCombiner is initialized with a 'use_limiter' flag. To create a mixer without using the APM limiter
Inside of FrameCombiner, the meta-data handling and the audio sample addition are kept divided from each other.
This also fixes a few minor GN issues so that warnings do not have to be suppressed.
BUG=webrtc:7167
Review-Url: https://codereview.webrtc.org/2692333002
Cr-Commit-Position: refs/heads/master@{#16742}
The purpose of this visualization CL is to add the ability to record
video at the source, after encode, and after decode, in the VideoProcessor
tests. These output files can then be replayed and used as a subjective
complement to the objective metric plots given by the existing Python
plotting script.
BUG=webrtc:6634
Review-Url: https://codereview.webrtc.org/2700493006
Cr-Commit-Position: refs/heads/master@{#16738}
The video_capture module includes remnants of support for cameras
producing encoded frames. However, this seems to be unused, and is
explicitly not supported by VideoCaptureImpl::IncomingFrame.
BUG=None
Review-Url: https://codereview.webrtc.org/2668693008
Cr-Commit-Position: refs/heads/master@{#16732}
together with related functions and variables
to stress it is used for Tmmbr only.
This is explicitly pure rename CL with no functional changes.
BUG=webrtc:5565
Review-Url: https://codereview.webrtc.org/2707763004
Cr-Commit-Position: refs/heads/master@{#16720}
Rename loss based and delay based bwe updates in proto (and correspondingly in the C++ code).
BUG=webrtc:6423
Review-Url: https://codereview.webrtc.org/2705613002
Cr-Commit-Position: refs/heads/master@{#16719}
This CL adds the ability to _create_ HW codecs (Android and iOS) in the
VideoProcessor integration tests. Since the VideoProcessor class is not thread
safe yet, this CL does not add the ability to _use_ HW codecs in the tests. A
follow-up CL is planned that will add this ability.
This CL further adds a separate build target which is used to separate the
"plot" versions of the integration tests from the "correctness" versions. The
former will be run manually on devices, whereas the latter are used on the
trybots/buildbots to find regressions in the SW codecs. The underlying test
is the same, however.
BUG=webrtc:6634
Review-Url: https://codereview.webrtc.org/2695653002
Cr-Commit-Position: refs/heads/master@{#16716}
This implementation uses various legacy classes such as EventTimeWrapper,
CriticalSectionWrapper, EventWrapper etc and hasn't been maintained
(or used?) for a long time.
Instead of spending time on testing and updating the class, I think
we should just remove it. For versions of Windows that we support,
following Win7, we use the CoreAudio implementation.
BUG=webrtc:7183
R=solenberg@webrtc.org
Review-Url: https://codereview.webrtc.org/2700983002 .
Cr-Commit-Position: refs/heads/master@{#16678}
FallbackDesktopCapturerWrapper is a DesktopCapturer implementation, which owns
two DesktopCapturer implementations. If the main DesktopCapturer fails, it uses
the secondary capturer. The logic is now used in ScreenCapturerWinMagnifier, and
it can also be shared in ScreenCapturerWinDirectx to fallback to Gdi capturer on
privilege prompt or login screen.
BUG=684937
Review-Url: https://codereview.webrtc.org/2697453002
Cr-Commit-Position: refs/heads/master@{#16677}
and the method RTPSender::GenerateNewSSRC.
It's now mandatory for higher layers to call SetSSRC, RTPSender
no longer allocates any ssrc by default.
BUG=webrtc:4306,webrtc:6887
Review-Url: https://codereview.webrtc.org/2644303002
Cr-Commit-Position: refs/heads/master@{#16670}
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}