The goal of this CL is to separate Obj-C/Obj-C++ code from targets which have
also C++ code (see https://bugs.chromium.org/p/webrtc/issues/detail?id=7743
for more information).
To achieve this we have created 2 targets (audio_device_ios_objc and
audio_device_generic) and audio_device will act as a proxy between these targets
(this way we can avoid a circular dependency between audio_device_generic and
audio_device_ios_objc).
BUG=webrtc:7743
Review-Url: https://codereview.webrtc.org/2991343002
Cr-Commit-Position: refs/heads/master@{#19795}
This is done to solve a dependency-cycle with the RtcEventLog - now the RtcEventLog can depend on the config part of ANA, and be able to peer inside, while the implementation part of ANA can invoke the RtcEventLog.
BUG=webrtc:8111
TBR=stefan@webrtc.org
Review-Url: https://codereview.webrtc.org/3010343002
Cr-Commit-Position: refs/heads/master@{#19793}
Merge rtp::Packet::GetHeader into RtpPacketReceived::GetHeader removing
error-prone code where latter shadow former version
BUG=None
Review-Url: https://codereview.webrtc.org/3012983002
Cr-Commit-Position: refs/heads/master@{#19784}
Added script 'apm_quality_assessment_optimize' for finding parameters
that minimize a custom function of the scores generated by APM-QA. The
script reuses the existing functionality for filtering the data on
configs/scores/outputs.
To archieve that, some modularization has been done: the part from
apm_quality_assessment_export that reads in data into a
pandas.DataFrame has been moved into quality_assessment.collect_data.
TESTED = though extensive manual tests. Unit tests for the user
scripts and 'collect_data' are missing, because we don't have a test
framework for loading/exporting fake data.
BUG=webrtc:7218
Change-Id: I5521b952970243da05fc4db1b9feef87a2e5ccad
Reviewed-on: https://chromium-review.googlesource.com/643292
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19780}
Picture ids are now unwrapped in the RtpFrameReferenceFinder class, so the
FrameBuffer2 no longer need to treat them as wrapping.
BUG=webrtc:7874
Review-Url: https://codereview.webrtc.org/3012883002
Cr-Commit-Position: refs/heads/master@{#19779}
This CL reduces the allowed jitter in the api calls to a reasonable
level in order to ensure a quicker revery from audio path glitches.
BUG=webrtc:8224, chromium:763775
Review-Url: https://codereview.webrtc.org/3009273002
Cr-Commit-Position: refs/heads/master@{#19772}
Fixes some issues related to calling WebRtcAudioManager.setStereoOutput(true)
and WebRtcAudioManager.setStereoInput(true) and ensures that the ADM reports
correct values related to stereo support given these settings.
Also makes it more clear that the OpenSLES audio implementation does not support
stereo (we now fail in Init()).
To summarize: this change ensures that the user can ask for stereo input
and/or stereo output audio on Android in combination with the Java based
audio layer. By default (if no WebRtcAudioManager.setStereoXXX() APIs are called), mono will be used.
BUG=webrtc:7962
Review-Url: https://codereview.webrtc.org/3009193002
Cr-Commit-Position: refs/heads/master@{#19763}
This CL also makes it possible to enable/prevent ANA controllers from making adaptations using field trials.
BUG=webrtc:8127
Review-Url: https://codereview.webrtc.org/3007983002
Cr-Commit-Position: refs/heads/master@{#19761}
This CL adds seperate counters for ANA frame length increases and decreases, which gives more insight into what actions are taken. In addition, a new stat is added to track the sum of the uplink packet loss fraction that is set by the ANA FEC controller.
BUG=webrtc:8127
Review-Url: https://codereview.webrtc.org/3007243002
Cr-Commit-Position: refs/heads/master@{#19756}
Split out webrtc-specific #defines from typedefs.h, into rtc_base/annotations.h and rtc_base/arch.h.
Also removes the curiously named WEBRTC_CPU_DETECTION #define.
BUG=webrtc:6854
Review-Url: https://codereview.webrtc.org/3007253002
Cr-Commit-Position: refs/heads/master@{#19752}
This CL only wires up the new stats but does not set the values yet. This will be added in a follow-up CL.
BUG=webrtc:8127
Review-Url: https://codereview.webrtc.org/3011623002
Cr-Commit-Position: refs/heads/master@{#19751}
Reason for revert:
This has to be reverted to enable reverting cl https://codereview.webrtc.org/3006063002/, which seems to have broken ulpfec.
Original issue's description:
> Delete Rtx-related methods from RTPPayloadRegistry.
>
> Delete methods IsRtx, IsEncapsulated and RestoreOriginalPacket.
>
> BUG=webrtc:7135
>
> Review-Url: https://codereview.webrtc.org/3006993002
> Cr-Commit-Position: refs/heads/master@{#19739}
> Committed: 5b4b522641TBR=stefan@webrtc.org,danilchap@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7135
Review-Url: https://codereview.webrtc.org/3011093002
Cr-Commit-Position: refs/heads/master@{#19742}
* Add VideoProcessorIntegrationTestMediaCodec tests, including
a standard foreman test and a forced SW fallback test.
* Morph PlotVideoProcessorIntegrationTest into
VideoProcessorIntegrationTestParameterized. This test is intended
to be patched locally, depending on what metric is of interest.
It is run on the bots to ensure that it doesn't break.
* Remove the plot_videoprocessor_integrationtest binary. The test
above is instead moved to the modules_tests binary.
BUG=webrtc:6634
Review-Url: https://codereview.webrtc.org/3011043002
Cr-Commit-Position: refs/heads/master@{#19727}
CroppedDesktopFrame was broken by recent changes unexpectedly, it should be
covered by test cases to avoid this kind of accident.
Bug: chromium:761703
Change-Id: Ib95e4fe19a8bb9799db24fefd3ad154ddd15e53e
Reviewed-on: https://chromium-review.googlesource.com/651448
Commit-Queue: Zijie He <zijiehe@chromium.org>
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19725}
sync flag should only be true if:
* temporal layer > 0
* frame predics _only_ from tl0 (last)
Furthermore, flags should not predict from a buffer unless it has been
previously updated in the current iteration for the pattern.
I also added an experiment with an alternative pattern for a three
layer setup, where loose some efficieny by halving the pattern but
gain a little bit by updating arf for the top layer. The theory is that
this will cause fewer frame drops since we don't have as much
dependency on previous frames in the upper layer (which might not be
retransmitted).
BUG=webrtc:8162
Review-Url: https://codereview.webrtc.org/3003823003
Cr-Commit-Position: refs/heads/master@{#19716}
* Reorder and rename members of FrameStatistic.
* Rename corresponding temp variables used in the summary calculations.
* Make Stats class less structy.
* Try to enforce consistent frame numbers at all times.
* Remove VideoProcessor::FrameInfo struct and use the Stats class
for keeping track of encode/decode start times, etc.
BUG=webrtc:6634
Review-Url: https://codereview.webrtc.org/3011923002
Cr-Commit-Position: refs/heads/master@{#19703}
other macros (e.g. GUARDED_BY) rename postpone to followup CL
since it touches codebase wider
BUG=webrtc:8198
Review-Url: https://codereview.webrtc.org/3004393002
Cr-Commit-Position: refs/heads/master@{#19701}
So in MouseCursorMonitorWin, we do not need to translate it again.
Bug: webrtc:7950
Change-Id: I39145e8031f7eea2c2f07c0ba666e1f327d8609b
Reviewed-on: https://chromium-review.googlesource.com/651667
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Zijie He <zijiehe@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19698}
We use Optional in our public API, so its header should be in
webrtc/api/.
BUG=webrtc:8205
Review-Url: https://codereview.webrtc.org/3011943002
Cr-Commit-Position: refs/heads/master@{#19693}
Files under the tools directory were untracked by GN.
This cl creates a target for them. The target is testonly because it
depends on "webrtc/test:rtp_test_utils".
BUG=webrtc:7651
NOTRY=True
Review-Url: https://codereview.webrtc.org/2886713002
Cr-Commit-Position: refs/heads/master@{#19683}
This is done to make UBSan testing more convenient in integration with projects using WebRTC
Some blacklist entries were obsolete so don't need a replacement
Also fix one of the warnings (thanks, kwiberg@)
BUG=webrtc:8189, webrtc:5486, webrtc:5491
Review-Url: https://codereview.webrtc.org/3009123002
Cr-Commit-Position: refs/heads/master@{#19682}
This change adds several tests for WindowFinder implmenetations.
One of the tests uses ScreenDrawer to create a foreground window or console
window (on Windows) and ensures WindowFinder can return its window_id().
The other ensures WindowFinder always returns kNullWindowId if the |pos| is out
of the screens.
Bug: webrtc:7950
Change-Id: I0cc8794e201c2fa042ea8e693434f1b0fa05b47a
Reviewed-on: https://chromium-review.googlesource.com/639591
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Zijie He <zijiehe@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19676}
This change attaches top-left to the DesktopFrames generated by DesktopCapturer
implementations. Some implementations won't need to attach the top-left because
of the platform specification, e.g. coordinates in X11 always starts from
(0, 0), and we support only one screen.
After this change, we can use the new MouseCursorMonitor::Create() function in
DesktopCaptureDevice.
Bug: webrtc:7950
Change-Id: I82c24f4dd9451e32afafb6474f82c32cadcb425c
Reviewed-on: https://chromium-review.googlesource.com/644787
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Zijie He <zijiehe@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19675}
The warnings were (all signed integer overflow):
webrtc/common_audio/signal_processing/levinson_durbin.c:46:25
12 * 268435456 cannot be represented in type 'int'
webrtc/modules/audio_processing/aecm/aecm_core.cc:930:69
522240 * 6115 cannot be represented in type 'int'
webrtc/modules/audio_processing/aecm/aecm_core_c.cc:455:36
72293096 * 50 cannot be represented in type 'int'
webrtc/modules/pacing/alr_detector.cc:70:48
1000000000 * 65 cannot be represented in type 'int'
webrtc/modules/rtp_rtcp/source/rtp_sender.cc:947:20
1929277286 + 321546521 cannot be represented in type 'int'
BUG=webrtc:8195
Review-Url: https://codereview.webrtc.org/3005003002
Cr-Commit-Position: refs/heads/master@{#19670}
If not indicated otherwise, allow adding a packet to the retransmission
history at least every 1/15s in order to reduce frame dropping.
BUG=webrtc:7694
Review-Url: https://codereview.webrtc.org/2999063002
Cr-Commit-Position: refs/heads/master@{#19665}
First CL to avoid working with wrapping picture ids. After the references of
a frame has been determined they are then unwrapped.
BUG=webrtc:7874
Review-Url: https://codereview.webrtc.org/2985283002
Cr-Commit-Position: refs/heads/master@{#19663}
We use ArrayView in our public API, so its header should be in
webrtc/api/.
BUG=none
Review-Url: https://codereview.webrtc.org/3007763002
Cr-Commit-Position: refs/heads/master@{#19658}
Untracked headers fly under the 'gn check' radar and in the long term
this can cause problems like unnoticed cyclic dependencies.
This cl creates a synthetic target for this header since no other
targets in webrtc/modules/pacing/BUILD.gn seem to be related to it.
BUG=webrtc:7649
NOTRY=True
Review-Url: https://codereview.webrtc.org/2887593003
Cr-Commit-Position: refs/heads/master@{#19656}