This is in preparation of upgrading to libsrtp 2.1.0.
BUG=webrtc:7856
Review-Url: https://codereview.webrtc.org/2958123002
Cr-Commit-Position: refs/heads/master@{#18805}
The conversion code was wrong because it assumed the 3x3 matrix is a
XYZ-matrix when it really is XYW-matrix. We have to override the matrix
for I420 frames to flip the vertically before rendering.
R=magjed@webrtc.org
Bug: webrtc:7760
Change-Id: I1f08c1a929bf5721706e2a902701100cf7a9c31d
Reviewed-on: https://chromium-review.googlesource.com/541346
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18801}
Adds a timeout to the dequeue input buffer call. This improves stability
because WebRTC quickly queues frames multiple when the call starts. This
might cause the decoder to run out of input buffers. Waiting for
dequeueOutputBuffers call is no longer necessary.
Bug: webrtc:7760
Change-Id: I503ff1cf44042c4d8610077090148d9dfef169f5
Reviewed-on: https://chromium-review.googlesource.com/548357
Reviewed-by: Bjorn Mellem <mellem@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18800}
A recent update of Windows 10 blocks IDXGIAdapter::EnumOutputs() in session 0,
so ScreenCapturerWinDirectx::IsSupported() always returns false in session 0. We
should ensure ScreenCapturerWinDirectx can respond correctly in session 0.
Meanwhile, this change looses the requirement of DirectX capturer: it still
works if some of the video adapters do not support DirectX 11 or
IDXGIOutputDuplication. This issue usually happens when handling a virtual video
adapter.
BUG=webrtc:7809
Review-Url: https://codereview.webrtc.org/2937663003
Cr-Commit-Position: refs/heads/master@{#18797}
This change also wires up the rest of the production code in
webrtc/sdk/android to be built when the directory is a dependency.
BUG=webrtc:7613
NOTRY=True
Change-Id: Ideda181970a5a570c3f8148b033e471e926243d1
Reviewed-on: https://chromium-review.googlesource.com/548038
Reviewed-by: Zhi Huang <zhihuang@webrtc.org>
Commit-Queue: Henrik Kjellander <kjellander@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18791}
It was used to force a codec to the top of a list, but it resulted in
"a < a" being true, which some C++ runtimes complain about.
BUG=None
TBR=pthatcher@webrtc.org
Review-Url: https://codereview.webrtc.org/2963543002
Cr-Commit-Position: refs/heads/master@{#18786}
Dont do a normal AimdRateControlUpdate update after a probe. Only set result.updated if the bitrate estimate has changed.
BUG=webrtc:7866
Review-Url: https://codereview.webrtc.org/2949203002
Cr-Commit-Position: refs/heads/master@{#18785}
This CL corrects the initialization of the AEC3, as well
as for the other submodules in the whole audio processing module
in the sense that it properly update the submodule states also
for the case when reinitialization is trigger from the render
side of the audio processing module.
Bug: chromium:736889,webrtc:7879
Change-Id: I423e963835d0c3227caa8e186b29031bcb912515
Reviewed-on: https://chromium-review.googlesource.com/549315
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18784}
Reenable hanging tests on Mac.
Deadlock happened because the following locks were grabbed by two threads at the end of a test:
Thread 1:
CapturedFrameForwarder::AddOrUpdateSink() locks CapturedFrameForwarder::crit_ and calls
FrameGeneratorCapturer::AddOrUpdateSink() what tries to lock FrameGeneratorCapturer::lock_.
Thread 2:
FrameGeneratorCapturer::InsertFrame() locks FrameGeneratorCapturer::lock_ and calls
CapturedFrameForwarder::OnFrame() which tries to lock CapturedFrameForwarder::crit_.
So two threads are locking two same locks in different orders which may cause deadlock.
BUG=webrtc:7870
Review-Url: https://codereview.webrtc.org/2955083002
Cr-Commit-Position: refs/heads/master@{#18783}
Patch set 1 is a reland + trivial rebase.
Patch set >= 2 contains bug fixes.
> Original issue's description:
> > Fix bug in vie_encoder.cc which caused channel parameters not to be updated at regular intervals, as it was intended.
> >
> > That however exposes a bunch of failed test, so this CL also fixed a few other things:
> > * FakeEncoder should trust the configured FPS value rather than guesstimating itself based on the realtime clock, so as not to completely undershoot targets in offline mode. Also, compensate for key-frame overshoots when outputting delta frames.
> > * FrameDropper should not assuming incoming frame rate is 0 if no frames have been seen.
> > * Fix a bunch of test cases that started failing because they were relying on the fake encoder undershooting.
> > * Fix test
> >
> > BUG=7664
> >
> > Review-Url: https://codereview.webrtc.org/2883963002
> > Cr-Commit-Position: refs/heads/master@{#18473}
> > Committed: 6431e21da6
BUG=webrtc:7664
Review-Url: https://codereview.webrtc.org/2953053002
Cr-Commit-Position: refs/heads/master@{#18782}
This CL corrects the computation of the delay headroom so that
it is only updated when the delay is updated. This is important
as otherwise a too large headroom will be reported, which then
could cause buffer access issues.
Bug: webrtc:7878, chromium:736893
Change-Id: Ib37cb608b064dd5d4df3f8fc423448ee80ed0106
Reviewed-on: https://chromium-review.googlesource.com/549335
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18781}
The iOS 11 SDK adds nullability annotations to several framework functions
and in this it added the _Nonnull specifier to a protocol method that
we implement. We were passing nil to that method in a test.
The warning is now fixed by passing a mock object instead of nil.
Bug: webrtc:7883
Change-Id: I9f64b0c59750629ca3969400aa725729bb10541b
Reviewed-on: https://chromium-review.googlesource.com/549927
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Kári Tristan Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18780}
Reason for revert:
About to fix problem and reland.
Original issue's description:
> Revert of Create RtcpDemuxer (patchset #13 id:240001 of https://codereview.webrtc.org/2943693003/ )
>
> Reason for revert:
> Breaks Chromium FYI bots.
>
> The problem is in the BUILD.gn file.
>
> Sample failure:
> https://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/17829
>
> Sample logs:
> use_goma = true
> """ to /b/c/b/Linux_Builder/src/out/Release/args.gn.
>
> /b/c/b/Linux_Builder/src/buildtools/linux64/gn gen //out/Release --check
> -> returned 1
> ERROR at //third_party/webrtc/call/BUILD.gn:46:5: Can't load input file.
> "//webrtc/base:rtc_base_approved",
> ^--------------------------------
>
> Original issue's description:
> > Create RtcpDemuxer. Capabilities:
> > 1. Demux RTCP messages according to the sender-SSRC.
> > 2. Demux RTCP messages according to the RSID (resolved to an SSRC, then compared to the sender-RTCP).
> > 3. Allow listening in on all RTCP messages passing through the demuxer ("broadcast sinks").
> >
> > BUG=webrtc:7135
> >
> > Review-Url: https://codereview.webrtc.org/2943693003
> > Cr-Commit-Position: refs/heads/master@{#18763}
> > Committed: cb83bdf01f
>
> BUG=webrtc:7135
>
> Review-Url: https://codereview.webrtc.org/2957763002
> Cr-Commit-Position: refs/heads/master@{#18764}
> Committed: 0e7e7869e7
BUG=webrtc:7135
Review-Url: https://codereview.webrtc.org/2960623002
Cr-Commit-Position: refs/heads/master@{#18768}
Occurrences of WEBRTC_TRACE(...) will in the future be replaced with the preferred logging mechanism LOG(...). That will be done with a script that runs 'git cl format' on diffs, which will break formatting of surrounding code if the file is not already formatted. Hence this CL.
BUG=webrtc:5118
Review-Url: https://codereview.webrtc.org/2953793002
Cr-Commit-Position: refs/heads/master@{#18766}
Reason for revert:
Breaks Chromium FYI bots.
The problem is in the BUILD.gn file.
Sample failure:
https://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/17829
Sample logs:
use_goma = true
""" to /b/c/b/Linux_Builder/src/out/Release/args.gn.
/b/c/b/Linux_Builder/src/buildtools/linux64/gn gen //out/Release --check
-> returned 1
ERROR at //third_party/webrtc/call/BUILD.gn:46:5: Can't load input file.
"//webrtc/base:rtc_base_approved",
^--------------------------------
Original issue's description:
> Create RtcpDemuxer. Capabilities:
> 1. Demux RTCP messages according to the sender-SSRC.
> 2. Demux RTCP messages according to the RSID (resolved to an SSRC, then compared to the sender-RTCP).
> 3. Allow listening in on all RTCP messages passing through the demuxer ("broadcast sinks").
>
> BUG=webrtc:7135
>
> Review-Url: https://codereview.webrtc.org/2943693003
> Cr-Commit-Position: refs/heads/master@{#18763}
> Committed: cb83bdf01fTBR=stefan@webrtc.org,danilchap@webrtc.org,nisse@webrtc.org,kjellander@webrtc.org,holmer@google.com,eladalon@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/2957763002
Cr-Commit-Position: refs/heads/master@{#18764}
1. Demux RTCP messages according to the sender-SSRC.
2. Demux RTCP messages according to the RSID (resolved to an SSRC, then compared to the sender-RTCP).
3. Allow listening in on all RTCP messages passing through the demuxer ("broadcast sinks").
BUG=webrtc:7135
Review-Url: https://codereview.webrtc.org/2943693003
Cr-Commit-Position: refs/heads/master@{#18763}
For consistency with SafeMin(), SafeMax(), and SafeClamp(). And so that we avoid introducing a namespace.
BUG=webrtc:7459
Review-Url: https://codereview.webrtc.org/2802423002
Cr-Commit-Position: refs/heads/master@{#18756}
After returning from the call the AVAudioSession was configured to
use the receiver instead of the speaker for audio output. The
configuration was only restored if the sound loop was previously
playing, this change makes sure that the configuration is always
reset so the sound can be played audibly after a call has been
finished.
Bug: webrtc:7792
Change-Id: Idabf6fadc8041b18722cb8f5e89e0c8c36b1b74d
Reviewed-on: https://chromium-review.googlesource.com/544819
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18754}
This change preserves rotation through the decoder, rather than requiring
callers to keep track of rotation. The test now uses a non-zero rotation
to ensure it is preserved.
Commit 3814524 inadvertently reverted several changes that weren't merged
properly before submit. In particular, it clobbered some log messages,
comments, and error codes. This change fixes those mistakes.
BUG=webrtc:7760
Change-Id: If529ee59fc56de7937e362dc15591295e2cf9f79
Reviewed-on: https://chromium-review.googlesource.com/546415
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18752}
While building Chrome with the VC++ 2017 /permissive- flag I got a
warning about a forward declaration of enum RateControlRegion. Untyped
forward declarations of enums are illegal because the compiler doesn't
know what size to make them. The only reason this forward declaration is
legal is because it isn't needed (the type is already defined).
This was found because /permissive- (or, equivalently for this purpose,
/w14471) incorrectly fires on this forward declaration even though it is
legal.
BUG=chromium:736059
Review-Url: https://codereview.webrtc.org/2834753002
Cr-Commit-Position: refs/heads/master@{#18741}
This CL allows VP9Impl to return a WrappedI444Buffer if the image format is
VPX_IMG_FMT_I444.
Needs to be checked in after Chromium CL 2876363003 is checked in.
BUG=webrtc:7506
Review-Url: https://codereview.webrtc.org/2927943003
Cr-Commit-Position: refs/heads/master@{#18727}
It was included twice. In both of these targets:
webrtc/modules/audio_processing:{audio_processing_tests,
audio_processing_unittests}
In audio_processing_tests, the new unit tests were added to
public_deps, which (we think) somehow caused webrtc:webrtc_tests
to list the AecDump tests, to much confusion.
Bug: webrtc:7404
Change-Id: I5788d93fef00d30a523312f317dde90eb64db8de
Reviewed-on: https://chromium-review.googlesource.com/543120
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18715}
An automatic undef checker noticed an error in the new
audio_processing_fuzzer. An array was default-initialized, meaning its
contents had indeterminate values. This array was later filtered for
forbidden values, which happened or did not happen based on the
uninitialized values. Hence the error.
TBR=henrik.lundin@webrtc.org
NOTRY=true
Bug: 735718, webrtc:7820
Change-Id: Ib50a6f7a5f054472fef07a27d37e02cea432a8ca
Reviewed-on: https://chromium-review.googlesource.com/544937
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18713}
We'd like to remove all occurrences of WEBRTC_TRACE and delete the
macro! One logging mechanism is enough.
NOTRY=True
Bug: webrtc:5118
Change-Id: Ic226318e0aebe3a71785fcb4ce07371872ab7128
Reviewed-on: https://chromium-review.googlesource.com/518133
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18712}
There is a dependency chain from Chromium windows main_dll to Opus
which should never exist. We used to rely on rtc_static_library
to break this chain. So this CL replaced some rtc_source_set
with rtc_static_library.
libvpx fix (https://chromium-review.googlesource.com/c/544107/) for
ios-simulator linking issue is landed and this CL can be sumbitted once the new
Chromium is rolled into WebRTC.
BUG=chromium:734631
Review-Url: https://codereview.webrtc.org/2947273002
Cr-Commit-Position: refs/heads/master@{#18709}
It can; this CL makes it a lot closer, if not all the way to a merge.
Performance from video_loopback and screenshare_loopback should now
match what we're seeing in FullStackTest, which will make debugging and
assesment of quality differences much easier.
It also adds the ability to view all of the simulcast streams at once,
in separate windows.
BUG=webrtc:7694
Review-Url: https://codereview.webrtc.org/2946893003
Cr-Commit-Position: refs/heads/master@{#18703}