5984 Commits

Author SHA1 Message Date
henrika
5a0c4ed219 Removes usage audio_device_test_api.
These tests are very old and come from a time when we tested each method in the
ADM as if the ADM should function as a standalone component.
Several tests are already disabled and we test combinations of APIs that are no
longer valid (since the ADM is now used in a more fixed way in VoE).
The tests does not verify media (we have other tests under
voice_engine/test/auto_test) which starts media and verifies that it works OK.
There are also a a more extensive set of ADM tests for Android and iOS.
You could also say that these tests tests the most "hardware related parts of
the ADM", but not those that we expose via the VoEHardware API.
Hence, not much value to maintain them imo.

NOTRY=TRUE
BUG=webrtc:7250

Review-Url: https://codereview.webrtc.org/2726433003
Cr-Commit-Position: refs/heads/master@{#19522}
2017-08-25 14:47:31 +00:00
brandtr
9dbd084761 Delete batch mode from VideoProcessorIntegrationTest.
After landing https://codereview.webrtc.org/2997283002/,
batch mode will no longer be needed.

BUG=webrtc:6634

Review-Url: https://codereview.webrtc.org/3005593002
Cr-Commit-Position: refs/heads/master@{#19520}
2017-08-25 14:11:19 +00:00
peah
a387eb48b1 Decrease the default reverberation in AEC3
BUG=webrtc:8161

Review-Url: https://codereview.webrtc.org/3003423002
Cr-Commit-Position: refs/heads/master@{#19519}
2017-08-25 14:07:30 +00:00
charujain
474accebdb Roll chromium_revision d323a482ee..7114a66134 (494468:497367) manually
* Enable workaround for building Android with C++14.
* Disable build hooks for WebRTC on Android.

Change log: d323a482ee..7114a66134
Full diff: d323a482ee..7114a66134

Changed dependencies:
* src/base: 66d3c08e82..0b41aca75a
* src/build: 2a5e6515a5..a2a451d3c0
* src/buildtools: ceb050498e..5af0a3a8b8
* src/ios: 2085f316c1..0a0ac63bd3
* src/testing: 3127a16731..8a25f55d8b
* src/third_party: b4122f732f..8c0e65fa05
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/f4ecc84644..ae9f0616c5
* src/third_party/catapult: d27175a044..f8acf3b642
* src/third_party/depot_tools: 6d0d04458d..e081cbe5aa
* src/third_party/icu: 98218d1e92..08cb956852
* src/third_party/libvpx/source/libvpx: cbb83ba4aa..6b9c691daf
* src/tools: 5730fb2d3f..3e167a7bd3
DEPS diff: d323a482ee..7114a66134/DEPS

No update to Clang.

TBR=marpan@webrtc.org,
BUG=webrtc:8148
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Review-Url: https://codereview.webrtc.org/3003393002
Cr-Commit-Position: refs/heads/master@{#19517}
2017-08-25 13:21:52 +00:00
brandtr
ee95f87488 Change frame bookkeeping in VideoProcessorIntegrationTest.
Now we always process |rate_profile.num_frames| number of frames.
This means that the output of the tests in
videoprocessor_integrationtest.cc will be slightly different,
as we will no process 300 frames, instead of 299. No rate control
or quality thresholds need to be updated, however.

BUG=webrtc:6634

Review-Url: https://codereview.webrtc.org/3004583002
Cr-Commit-Position: refs/heads/master@{#19515}
2017-08-25 11:51:54 +00:00
brandtr
87f5c5a4d3 Make rate control and quality thresholds optional in VideoProcessorIntegrationTest.
This CL is split out from https://codereview.webrtc.org/2997283002/.

BUG=webrtc:6634

Review-Url: https://codereview.webrtc.org/3008543002
Cr-Commit-Position: refs/heads/master@{#19513}
2017-08-25 11:33:49 +00:00
kwiberg
e5eb7247ff Reimplement the builtin audio codec factories using the new stuff in api/
The whole point of all the audio codec stuff we've recently published
in api/ is to function as lego bricks so that building stuff like our
builtin audio codec factories will be easy.

(This has landed once before, but got reverted because of Chromium test
failures---apparently, someone isn't ignoring the case of the codec names
like they're supposed to. The quick fix was to preserve the same case
used by the old implementation.)

BUG=webrtc:7821, webrtc:7822

Review-Url: https://codereview.webrtc.org/2998263002
Cr-Commit-Position: refs/heads/master@{#19512}
2017-08-25 10:10:50 +00:00
peah
8cee56f254 Utilizing the AEC3 config struct for constants.
This CL replaces inline constants with config struct
constants.

BUG=webrtc:5298

Review-Url: https://codereview.webrtc.org/3003733002
Cr-Commit-Position: refs/heads/master@{#19507}
2017-08-25 05:36:53 +00:00
Steve Anton
2dbc69fa64 Add stats totalSamplesReceived and concealedSamples
Adds two new stats to RTCMediaStreamTrackStats:
* totalSamplesReceived is the total number of samples received on
      the audio channel and includes real and synthetic samples.
* concealedSamples is the total number of synthetic samples
      received on the audio channel used to conceal packet loss.

Bug: webrtc:8076
Change-Id: I36e9828525ec341490cf3310a972b56a8b443667
Reviewed-on: https://chromium-review.googlesource.com/615902
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19506}
2017-08-25 00:50:42 +00:00
Zijie He
5acd9d0393 Add DesktopFrame::MoveFrameInfoFrom() and DesktopFrame::CopyFrameInfoFrom()
The original change https://chromium-review.googlesource.com/c/575315 and
https://chromium-review.googlesource.com/c/590508 have not been well-considered.
So this change reverts part of two changes and adds a
DesktopFrame::set_top_left() function

A DesktopFrame usually contains a very large chunk of memory, which should be
reused as much as possible to reduce the memory allocations. The size of the
memory usually controls by the DesktopFrame::size(). So it's reasonable to const
DesktopFrame::size_: changing it is wrong if the underly buffer is not large
enough.

But DesktopFrame::top_left() is a different story, same as capturer_id,
capture_time_ms and other information in the DesktopFrame, it can be changed to
any value without needing to reconstruct a DesktopFrame instance. So instead of
adding it to the constructor, a DesktopFrame::set_top_left() is added to adjust
the top-left of the DesktopFrame in the entire display coordinate.

After adding DesktopFrame::set_top_left(), we have five variables in a
DesktopFrame which is not initialized in the constructor. For any kind of
wrapper DesktopFrame, say, SharedDesktopFrame and CroppedDesktopFrame, they
needs to copy these five variables after constructing themselves. This is not
convenient and easily to be broken if an implementation forgot to copy them.

So DesktopFrame::MoveFrameInfoFrom() and DesktopFrame::CopyFrameInfoFrom() are
added to the DesktopFrame to help derived classes to copy or move these
variables in one function call.
The difference between MoveFrameInfoFrom() and CopyFrameInfoFrom() is that the
former one uses DesktopRegion::Swap() to move the DesktopRegion from the source
DesktopFrame to this instance, while the later one uses copy-operator to copy
the DesktopRegion from the source DesktopFrame.
So CopyFrameInfoFrom() is usually used when sharing a source DesktopFrame with
several clients. I.e. the source DesktopFrame should be kept unchanged. For
example, BasicDesktopFrame::CopyOf() and SharedDesktopFrame::Share().
On the other side, MoveFrameInfoFrom() is usually used when wrapping a
DesktopFrame. E.g. CroppedDesktopFrame and DesktopFrameWithCursor.

Bug: webrtc:7950
Change-Id: I8b23418960fb681d2ea1f012d1b453f514da2272
Reviewed-on: https://chromium-review.googlesource.com/622453
Commit-Queue: Zijie He <zijiehe@chromium.org>
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19504}
2017-08-24 23:44:22 +00:00
zstein
2b706343de Add audio_level member to RtpSource and set it from RtpReceiverImpl::IncomingRtpPacket.
BUG=webrtc:7987

Review-Url: https://codereview.webrtc.org/3000713002
Cr-Commit-Position: refs/heads/master@{#19503}
2017-08-24 21:52:17 +00:00
Zijie He
0cab085157 Disable screen capturer tests on Windows
Windows cannot capture contents on VMs hosted in GCE, disable them to unblock
GCE hosting.

Bug: webrtc:8153
Change-Id: Iacdce15008cc092dce36d08b1d5565bbaa5def1f
Reviewed-on: https://chromium-review.googlesource.com/634083
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Commit-Queue: Zijie He <zijiehe@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19502}
2017-08-24 20:10:42 +00:00
eladalon
05b07bb833 Fix places that trigger no-unused-lambda-capture - change to using static-constexpr.
Follow up on https://codereview.webrtc.org/3005433002/.

BUG=webrtc:7133
TBR=stefan@webrtc.org

Review-Url: https://codereview.webrtc.org/3003723002
Cr-Commit-Position: refs/heads/master@{#19499}
2017-08-24 14:40:16 +00:00
minyue-webrtc
0c3ca753c5 Replacing NetEq discard rate with secondary discarded rate.
NetEq network statistics contains discard rate but has not been used and even not been implemented until recently.

According to w3c.github.io/webrtc-stats/#dom-rtcreceivedrtpstreamstats-packetsdiscarded,
this statistics needs to be replaced with an accumulative stats. Such work will be carried out separately.

Meanwhile, we need to add a rate to reflect rate of discarded redundant packets. See webrtc:8025.

In this CL, we replace the existing discard rate with secondary discarded rate, so as to
1. fulfill the requests on webrtc:8025
2. get ready to implement an accumulative statistics for discarded packets.

BUG: webrtc:7903,webrtc:8025
Change-Id: Idbf143a105db76ca15f0af54848e1448f2a810ec
Reviewed-on: https://chromium-review.googlesource.com/582863
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19495}
2017-08-24 13:46:52 +00:00
peah
b1737fc198 Made the AEC3 alignment a mandatory for using the adaptive filter delay
This CL ensures that the adaptive filter delay is not used for fine
tune echo removal unless the render and capture signals have been
properly aligned.

BUG=webrtc:8189

Review-Url: https://codereview.webrtc.org/3003303002
Cr-Commit-Position: refs/heads/master@{#19492}
2017-08-24 13:02:49 +00:00
peah
85864be8ef Robustify the AEC3 inaudible echo detection
This CL robustifies the inaudible echo detection in AEC3 such that a
requirement is that either the render and capture signals are aligned
or that a headset has been detected. This ensures that the inaudible
detection has been able to base the desicion on reliable signals.

BUG=webrtc:8150

Review-Url: https://codereview.webrtc.org/3005503002
Cr-Commit-Position: refs/heads/master@{#19491}
2017-08-24 13:01:36 +00:00
kthelgason
36d658d085 Rename all objc targets to be suffixed for consistency
BUG=webrtc:6412

Review-Url: https://codereview.webrtc.org/3001023003
Cr-Commit-Position: refs/heads/master@{#19489}
2017-08-24 12:43:45 +00:00
kthelgason
1cdddc96fa Make CodecType conversion functions non-optional.
We can't handle no value here anyway and end up setting a default
at each call site. The defaults aren't even the same in each place.

BUG=None

Review-Url: https://codereview.webrtc.org/2998293002
Cr-Commit-Position: refs/heads/master@{#19485}
2017-08-24 10:52:48 +00:00
Zijie He
dab31ce1fa Detect whether a window is out of screen when using cropping window capturer
We are still using cropping window capturer even the window is out of the screen.
See the bug for details.

Bug: webrtc:8134
Change-Id: I5161b1a17a3a1f8244697eea5eb78975be6908f9
Reviewed-on: https://chromium-review.googlesource.com/627338
Commit-Queue: Zijie He <zijiehe@chromium.org>
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19474}
2017-08-23 19:28:39 +00:00
Sam Zackrisson
45ca37c022 Replace WEBRTC_TRACE logging in modules/media_file/
Patch set 1:
Run a script to replace occurrences of WEBRTC_TRACE logging with the new style,
in webrtc/modules/media_file/.

Patch set 2:
 - Manually fix log lines not handled by the script
 - Update the included headers
 - Remove the now unused object ID variables

Bug: webrtc:5118
Change-Id: I1acbaec3fbbdf1deb7b934624a2f1fd38253c7e9
Reviewed-on: https://chromium-review.googlesource.com/602007
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19470}
2017-08-23 17:30:38 +00:00
minyue-webrtc
82931001c2 Use small BWE period when there is a true network degradation.
Bug: webrtc:8105
Change-Id: I751b89194f3fdb10ea41c6f9e48e38edefcbef1a
Reviewed-on: https://chromium-review.googlesource.com/616724
Commit-Queue: Minyue Li <minyue@webrtc.org>
Reviewed-by: Michael T <tschumim@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19469}
2017-08-23 17:22:28 +00:00
peah
0fcb74d749 Robustified the detection of linear filter quality in AEC3
BUG=webrtc:8141

Review-Url: https://codereview.webrtc.org/3000383002
Cr-Commit-Position: refs/heads/master@{#19468}
2017-08-23 16:18:49 +00:00
henrika
09a76193f5 Resolves threading issues when audio is interrupted on iOS.
Before this change we could crash in Debug when WebRTC audio was first
interrupted and then resumed again. The reason was that the new audio
stream stems from a new native I/O thread and that triggered thread
checkers. With this change, failing thread checkers are detached when
audio is interrupted to ensure that they don't fail when audio is restarted.

NOTRY=TRUE

Bug: webrtc:8126
Change-Id: Ib36ff6bc942477730aba60066f049ed0c43d3901
Reviewed-on: https://chromium-review.googlesource.com/628716
Commit-Queue: Henrik Andreasson <henrika@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19465}
2017-08-23 14:12:07 +00:00
eladalon
1cc5fc3ebf Fix places that trigger no-unused-lambda-capture
no-unused-lambda-capture was suppressed, but it's been decided as desireable to stop suppressing it. This CL fixes places in the code that trigger it.

1. Some unnecessary captures removed.
2. s/constexpr/const when capturing a float by value - this is good enough to stop the error.
3. Complete removal of the constexpr/const-modifier for int-types as a workaround.

BUG=webrtc:7133

Review-Url: https://codereview.webrtc.org/3005433002
Cr-Commit-Position: refs/heads/master@{#19462}
2017-08-23 11:15:18 +00:00
Zijie He
f9d7eca9b0 Check child windows in CroppingWindowCapturerWin
On Windows a window may be covered by its own child window. So this change also
detects child windows by using EnumChildWindow().
The tooltip or context menu of the child window still cannot be detected after
this change. See bug for details.

Bug: webrtc:8062
Change-Id: I8455a9206d6a1d9da61013ac9debba4d3edae7d8
Reviewed-on: https://chromium-review.googlesource.com/619728
Commit-Queue: Zijie He <zijiehe@chromium.org>
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19457}
2017-08-22 21:49:24 +00:00
oprypin
51d49b4983 Reland of Stop silently accepting unsupported flags in test binaries (patchset #1 id:1 of https://codereview.webrtc.org/3002963002/ )
Reason for revert:
Relanding without changes.
Problem with unused flags was fixed in
https://codereview.webrtc.org/2998143002/

Original issue's description:
> Revert of Stop silently accepting unsupported flags in test binaries (patchset #5 id:150001 of https://codereview.webrtc.org/2968003003/ )
>
> Reason for revert:
> Causes failures on perf bots
> https://luci-milo.appspot.com/buildbot/client.webrtc.perf/Mac%2010.11/3567
>
> Original issue's description:
> > Stop silently accepting unsupported flags in test binaries
> >
> > Instead explicitly ignore only the flags we know should be ignored.
> >
> > BUG=webrtc:7568
> >
> > Review-Url: https://codereview.webrtc.org/2968003003
> > Cr-Commit-Position: refs/heads/master@{#19412}
> > Committed: a2782f6f5d
>
> TBR=kjellander@webrtc.org,henrika@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7568
>
> Review-Url: https://codereview.webrtc.org/3002963002
> Cr-Commit-Position: refs/heads/master@{#19413}
> Committed: d64072c598

TBR=kjellander@webrtc.org,henrika@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:7568

Review-Url: https://codereview.webrtc.org/2999383002
Cr-Commit-Position: refs/heads/master@{#19455}
2017-08-22 17:55:47 +00:00
peah
96b951c593 Make AEC3 recover more quickly for lost capture data
This CL ensures that AEC3 recovers more quickly when capture data is
lost in such a manner that the echo path, as seen by AEC3, becomes
noncausal due to the AEC3 buffer misalignment caused by the data loss.

The CL adds the assumption of a minimum echo path delay of 5 blocks
and makes the hysteresis in the delay selection one-sided.

BUG=chromium:757796, webrtc:8131

Review-Url: https://codereview.webrtc.org/2998223002
Cr-Commit-Position: refs/heads/master@{#19454}
2017-08-22 17:26:07 +00:00
sakal
bcc655c2c7 Revert of Reimplement the builtin audio codec factories using the new stuff in api/ (patchset #1 id:60001 of https://codereview.webrtc.org/2997713002/ )
Reason for revert:
Speculatively reverting, likely breaks chromium.webrtc.fyi.

Failed to create local offer: Test failed: Error: setSdpDefaultCodec() failed: "Unknown ID for |codec| = 'G722'."

Failing bots:
https://build.chromium.org/p/chromium.webrtc.fyi/builders/Mac%20Tester/builds/42349
https://build.chromium.org/p/chromium.webrtc.fyi/builders/Win8%20Tester/builds/1561
https://build.chromium.org/p/chromium.webrtc.fyi/builders/Win10%20Tester/builds/8517

Original issue's description:
> Reimplement the builtin audio codec factories using the new stuff in api/
>
> The whole point of all the audio codec stuff we've recently published
> in api/ is to function as lego bricks so that building stuff like our
> builtin audio codec factories will be easy.
>
> BUG=webrtc:7821, webrtc:7822
>
> Review-Url: https://codereview.webrtc.org/2997713002
> Cr-Commit-Position: refs/heads/master@{#19446}
> Committed: 417989a864

TBR=ossu@webrtc.org,kwiberg@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7821, webrtc:7822

Review-Url: https://codereview.webrtc.org/2996373002
Cr-Commit-Position: refs/heads/master@{#19452}
2017-08-22 15:13:37 +00:00
Stefan Holmer
5c8942aee1 Move PacedSender ownership to RtpTransportControllerSend.
BUG=webrtc:8089
R=nisse@webrtc.org, terelius@webrtc.org

Review-Url: https://codereview.webrtc.org/3000773002 .
Cr-Commit-Position: refs/heads/master@{#19451}
2017-08-22 14:16:49 +00:00
aleloi
440b6d9a0f Move video send/receive stream headers to webrtc/call.
Moved the headers video_receive_stream.h and video_send_stream.h from
webrtc/ into webrtc/call/ as part of the Slim and Modular work.

The GN target webrtc:video_stream_api has moved to
webrtc/call:video_stream_api.

There are headers left in webrtc/ with the same name including the
moved headers in webrtc/call/ for not breaking external projects
depending on WebRTC.

At the same time, some minor cleanup is done: Non-pure-virtual functions declared in the two affected headers now have definitions in the same target. After making this change, our 'chromium-style' plugin detected some style violations that have now been fixed: non-inlined constructors and destructors have been added to a number of classes, both inside the GN target of the two affected headers, and in other targets.

BUG=webrtc:8107

Review-Url: https://codereview.webrtc.org/3000253002
Cr-Commit-Position: refs/heads/master@{#19448}
2017-08-22 12:43:23 +00:00
asapersson
aaaf2db253 Minor changes to TestVp8Impl.
BUG=webrtc:6634

Review-Url: https://codereview.webrtc.org/3001663002
Cr-Commit-Position: refs/heads/master@{#19447}
2017-08-22 12:42:06 +00:00
kwiberg
417989a864 Reimplement the builtin audio codec factories using the new stuff in api/
The whole point of all the audio codec stuff we've recently published
in api/ is to function as lego bricks so that building stuff like our
builtin audio codec factories will be easy.

BUG=webrtc:7821, webrtc:7822

Review-Url: https://codereview.webrtc.org/2997713002
Cr-Commit-Position: refs/heads/master@{#19446}
2017-08-22 12:39:19 +00:00
brandtr
4553562fe3 Remove unnecessary RTPFragmentationHeader from VideoProcessor callbacks.
This test is and should be independent of RTP, so we don't need the
information provided in this struct.

BUG=webrtc:6634

Review-Url: https://codereview.webrtc.org/2995403002
Cr-Commit-Position: refs/heads/master@{#19443}
2017-08-22 10:33:11 +00:00
philipel
bdbc8895f3 Revert of Fix the video buffer size should take rtt into consideration (patchset #3 id:40001 of https://codereview.chromium.org/2980413002/ )
Reason for revert:
We are not certain this is the behavior we want.

Original issue's description:
> Fix the video buffer size should take rtt into consideration
>
> BUG=webrtc:8010
>
> Review-Url: https://codereview.webrtc.org/2980413002
> Cr-Commit-Position: refs/heads/master@{#19285}
> Committed: f1e08d0b58

TBR=sprang@webrtc.org,gustavogb@gmail.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:8010

Review-Url: https://codereview.webrtc.org/3002033002
Cr-Commit-Position: refs/heads/master@{#19442}
2017-08-22 09:08:51 +00:00
Zijie He
97c3fc13b5 Respect DesktopCaptureOptions::detect_updated_region() in ScreenCapturerMac
Bug: NONE
Change-Id: I5606f2d1fcf2546cb5647b3f86a374a66ceac200
Reviewed-on: https://chromium-review.googlesource.com/609380
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Zijie He <zijiehe@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19439}
2017-08-22 03:11:02 +00:00
Zijie He
565d046edc Redo 587688 and 592088 to add histograms in capturer
This change redoes
https://chromium-review.googlesource.com/587688
and
https://chromium-review.googlesource.com/592088

The above two changes added histograms in webrtc capturer implementations to
track the edge cases.

After change https://chromium-review.googlesource.com/c/617845, this change
should be safe to be merged into webrtc.

Bug: webrtc:8040, webrtc:8046
Change-Id: I28b9f26227a5a231c918969d8280ede91015dbe4
Reviewed-on: https://chromium-review.googlesource.com/615852
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Zijie He <zijiehe@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19437}
2017-08-22 00:41:02 +00:00
philipel
f0a1dd9e20 Fix compile error for the win_msvc_rel bot.
During a period of about one month we have only built with clang and not msvc, and during this period code that does not build with msvc have been submitted.

BUG=webrtc:8122

Review-Url: https://codereview.webrtc.org/2999343002
Cr-Commit-Position: refs/heads/master@{#19433}
2017-08-21 15:53:47 +00:00
henrika
2ee432d51c Ensures that built-in AGC is enabled on iOS.
Bug: b/63895696
Change-Id: I8503299b5e57bd8db99ffc7947883d67dccf19e0
Reviewed-on: https://chromium-review.googlesource.com/621066
Commit-Queue: Henrik Andreasson <henrika@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19429}
2017-08-21 13:59:48 +00:00
brandtr
c8c59059b7 VideoProcessor: make it runnable on a task queue.
* Guard members with a SequencedTaskChecker.
* Intercept encoder/decoder callbacks, and post onto task queue if needed.

BUG=webrtc:6634

Review-Url: https://codereview.webrtc.org/2996253002
Cr-Commit-Position: refs/heads/master@{#19428}
2017-08-21 13:44:16 +00:00
asapersson
0069b45179 TestVp8Impl: Remove unused arguments and member variable.
Make WaitForEncodedFrame void.
Verify QP for each encoded frame.
Add SetupCodecSettings.

BUG=webrtc:6634

Review-Url: https://codereview.webrtc.org/2995213002
Cr-Commit-Position: refs/heads/master@{#19426}
2017-08-21 12:50:46 +00:00
hbos
228fb0e1ec H264: Don't disable compiler warning by using NO_THREAD_SAFETY_ANALYSIS.
The LockManagerOperation global function uses void** which does not work
well with the thread_annotations.h macros and produce compiler warnings
on clang (chromium default). Workarounds to this is hacky and unhelpful
so we disable the analysis for this function, which isn't helpful in
this case anyway.

webrtc_h264_config is no longer needed and is removed.

BUG=8090, 8119

Review-Url: https://codereview.webrtc.org/3000263002
Cr-Commit-Position: refs/heads/master@{#19425}
2017-08-21 12:17:17 +00:00
brandtr
ed0e436688 VideoProcessorIntegrationTest: mini-fixes in preparation for task queue CL.
* Rename some members.
* Shorten visualization file names.
* Make some member functions static, in preparation for moving them
  to be helper functions in an anonymous namespace.

BUG=webrtc:6634

Review-Url: https://codereview.webrtc.org/3001193002
Cr-Commit-Position: refs/heads/master@{#19424}
2017-08-21 11:15:24 +00:00
Niels Möller
245f17e344 Delete old CongestionController class
Replaced by ReceiveSideCongestionController and
SendSideCongestionController.

Bug: webrtc:6847
Change-Id: I79caa019c883f8f716d0dd52d56bbdc2f8df0ded
Reviewed-on: https://chromium-review.googlesource.com/616763
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19423}
2017-08-21 10:43:33 +00:00
brandtr
bdd555c7a7 VideoProcessor: mini-fixes in preparation for task queue CL.
* Make ProcessFrame return void.
* Make |encode_callback_| and |decode_callback_| direct members.
* Remove ::EncodedFrameSize() and ::EncodedFrameType()
* Remove unused |timestamp| member from FrameInfo.
* Reorder printf output from PrintCodecSettings.
* Make some member functions const.

BUG=webrtc:6634

Review-Url: https://codereview.webrtc.org/2998063002
Cr-Commit-Position: refs/heads/master@{#19421}
2017-08-21 08:34:04 +00:00
kjellander
8b844b16eb Only disable -Wthread-safety-attributes warning for Clang.
Clang is enabled by default and we currently lack coverage for building on Windows
with MSVC (see crbug.com/757293). This should unblock rolling WebRTC into
Chromium DEPS. We need to improve our trybot coverage for standalone WebRTC
to prevent things like this in the future though (crbug.com/756840).

BUG=webrtc:8119,chromium:756840,chromium:757293
TBR=hbos@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/3003473002
Cr-Commit-Position: refs/heads/master@{#19420}
2017-08-21 04:37:21 +00:00
gnish
a36165c77b Final version of BBR, with tweaks made for WebRTC, major changes:
1) Entering PROBE_RTT when necessary.
2) Congestion window gain of 0.65 instead of constant 4 packets.
3) {1.1, 0.9} pair instead of {1.25, 0.75}
4) Recovery mode.
5) No reaction to losses due to Recovery mode's implementation.
6) Supports encoder.
7) A new test compiling most of the simulation tests.
8) Bucket for high gain phase, disabled by default.
9) Pacer specific to BBR.

BUG=webrtc:7713

Review-Url: https://codereview.webrtc.org/2999073002
Cr-Commit-Position: refs/heads/master@{#19418}
2017-08-20 16:19:58 +00:00
oprypin
d64072c598 Revert of Stop silently accepting unsupported flags in test binaries (patchset #5 id:150001 of https://codereview.webrtc.org/2968003003/ )
Reason for revert:
Causes failures on perf bots
https://luci-milo.appspot.com/buildbot/client.webrtc.perf/Mac%2010.11/3567

Original issue's description:
> Stop silently accepting unsupported flags in test binaries
>
> Instead explicitly ignore only the flags we know should be ignored.
>
> BUG=webrtc:7568
>
> Review-Url: https://codereview.webrtc.org/2968003003
> Cr-Commit-Position: refs/heads/master@{#19412}
> Committed: a2782f6f5d

TBR=kjellander@webrtc.org,henrika@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7568

Review-Url: https://codereview.webrtc.org/3002963002
Cr-Commit-Position: refs/heads/master@{#19413}
2017-08-18 14:22:36 +00:00
oprypin
a2782f6f5d Stop silently accepting unsupported flags in test binaries
Instead explicitly ignore only the flags we know should be ignored.

BUG=webrtc:7568

Review-Url: https://codereview.webrtc.org/2968003003
Cr-Commit-Position: refs/heads/master@{#19412}
2017-08-18 14:12:20 +00:00
philipel
3042c2d5e0 Reland of quest keyframes more frequently on stream start/decoding error. (patchset #1 id:1 of https://codereview.chromium.org/2995153002/ )
Reason for revert:
iOS workaround.

Original issue's description:
> Revert of quest keyframes more frequently on stream start/decoding error. (patchset #2 id:170001 of https://codereview.webrtc.org/2996823002/ )
>
> Reason for revert:
> Causes iOS H264 calls received in the background to have increased delay before being able to decode stream from sender due to not having a keyframe.
>
> Original issue's description:
> > Reland of quest keyframes more frequently on stream start/decoding error. (patchset #1 id:1 of https://codereview.chromium.org/2994043002/ )
> >
> > Reason for revert:
> > Create fix CL.
> >
> > Original issue's description:
> > > Revert of Request keyframes more frequently on stream start/decoding error. (patchset #1 id:1 of https://codereview.webrtc.org/2993793002/ )
> > >
> > > Reason for revert:
> > > Broke downstream test that was waiting for 5 keyframes to be received within 10 seconds. Maybe the issue is that "stats_callback_->OnCompleteFrame(frame->num_references == 0, ..." was changed to "frame->is_keyframe()"?
> > >
> > > Original issue's description:
> > > > Request keyframes more frequently on stream start/decoding error.
> > > >
> > > > In this CL:
> > > >  - Added FrameObject::is_keyframe() convinience function.
> > > >  - Moved logic to request keyframes on decoding error from VideoReceived to
> > > >    VideoReceiveStream.
> > > >  - Added keyframe_required as a parameter to FrameBuffer::NextFrame.
> > > >
> > > > BUG=webrtc:8074
> > > >
> > > > Review-Url: https://codereview.webrtc.org/2993793002
> > > > Cr-Commit-Position: refs/heads/master@{#19280}
> > > > Committed: 26b4804358
> > >
> > > TBR=terelius@webrtc.org,stefan@webrtc.org,noahric@chromium.org,philipel@webrtc.org
> > > # Skipping CQ checks because original CL landed less than 1 days ago.
> > > NOPRESUBMIT=true
> > > NOTREECHECKS=true
> > > NOTRY=true
> > > BUG=webrtc:8074
> > >
> > > Review-Url: https://codereview.webrtc.org/2994043002
> > > Cr-Commit-Position: refs/heads/master@{#19295}
> > > Committed: 77a983185f
> >
> > TBR=terelius@webrtc.org,stefan@webrtc.org,noahric@chromium.org,deadbeef@webrtc.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > BUG=webrtc:8074
> >
> > Review-Url: https://codereview.webrtc.org/2996823002
> > Cr-Commit-Position: refs/heads/master@{#19324}
> > Committed: 628ac5964e
>
> TBR=terelius@webrtc.org,stefan@webrtc.org,noahric@chromium.org,deadbeef@webrtc.org,philipel@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=webrtc:8074
>
> Review-Url: https://codereview.webrtc.org/2995153002
> Cr-Commit-Position: refs/heads/master@{#19392}
> Committed: 53959fcc2b

TBR=terelius@webrtc.org,stefan@webrtc.org,noahric@chromium.org,deadbeef@webrtc.org,tkchin@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.

BUG=webrtc:8074

Review-Url: https://codereview.webrtc.org/2996153003
Cr-Commit-Position: refs/heads/master@{#19410}
2017-08-18 11:55:02 +00:00
tschumim
5afa3f2690 Fix for alr detection bug on pause.
BUG=webrtc:7926

Review-Url: https://codereview.webrtc.org/2995183002
Cr-Commit-Position: refs/heads/master@{#19407}
2017-08-18 10:38:49 +00:00