9997 Commits

Author SHA1 Message Date
kjellander
a2ef4f94e4 Enable GN check for webrtc/media
BUG=webrtc:6828, webrtc:7245
NOTRY=True

Review-Url: https://codereview.webrtc.org/2716143002
Cr-Commit-Position: refs/heads/master@{#17067}
2017-03-06 14:04:55 +00:00
elad.alon
f949000834 Rename webrtc::PacketInfo to webrtc::PacketFeedback. This resolves ambiguity with a similarly named RTCPReceiver::PacketInformation and RtpPacketizerVp9::PacketInfo.
BUG=None

Review-Url: https://codereview.webrtc.org/2710093004
Cr-Commit-Position: refs/heads/master@{#17066}
2017-03-06 13:32:21 +00:00
magjed
d1587ad244 Android HW decoder: Don't check slice_height for texture output
The check: 'RTC_CHECK_GE(slice_height, height);' has been observed to
fail after a reconfig. It looks like |slice_height| is still using the
previous resolution. |slice_height| isn't used for texture output and
hopefully this issue is texture specific. This CL only extracts and
checks |slice_height| when it's actually used.

BUG=b/35932686

Review-Url: https://codereview.webrtc.org/2736603003
Cr-Commit-Position: refs/heads/master@{#17065}
2017-03-06 13:20:49 +00:00
kjellander
8f8d1a06b9 Adding placeholder for low bandwidth audio test
This will allow the trybots to be updated to start running this new test
executable, so that they can be used when landing this CL which will
replace the dummy test with real code:
https://codereview.webrtc.org/2694203002

Most likely, the trybots will just run the test binary while the perf bots
will run a Python wrapper script that takes care of the post-processing
to calculate audio quality using PESQ.

BUG=webrtc:7229
NOTRY=True

Review-Url: https://codereview.webrtc.org/2717683002
Cr-Commit-Position: refs/heads/master@{#17063}
2017-03-06 12:01:16 +00:00
kjellander
c898825eb4 Add kjellander to OWNERS for *.py in examples/android{app,tests}
BUG=webrtc:7229
NOTRY=True

Review-Url: https://codereview.webrtc.org/2735673002
Cr-Commit-Position: refs/heads/master@{#17062}
2017-03-06 11:56:57 +00:00
sakal
b8102e0634 Reland of Add QP for FFmpeg H264 decoder. (patchset #1 id:1 of https://codereview.webrtc.org/2726973003/ )
Reason for revert:
The issue is now hopefully fixed.

Original issue's description:
> Revert of Add QP for FFmpeg H264 decoder. (patchset #4 id:200001 of https://codereview.webrtc.org/2649133007/ )
>
> Reason for revert:
> Let's revert this while we investigate a problem in H264 bitstream parser.
>
> Original issue's description:
> > Add QP for FFmpeg H264 decoder.
> >
> > BUG=webrtc:6541
> >
> > Review-Url: https://codereview.webrtc.org/2649133007
> > Cr-Commit-Position: refs/heads/master@{#16942}
> > Committed: 879f4f6c31
>
> TBR=sprang@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=webrtc:6541, chromium:697795
>
> Review-Url: https://codereview.webrtc.org/2726973003
> Cr-Commit-Position: refs/heads/master@{#16974}
> Committed: 4c6df8893e

TBR=sprang@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:6541, chromium:697795

Review-Url: https://codereview.webrtc.org/2735733002
Cr-Commit-Position: refs/heads/master@{#17061}
2017-03-06 11:52:55 +00:00
elad.alon
fb1fa44d70 Remove MockRemoteBitrateObserver (unused)
BUG=None

Review-Url: https://codereview.webrtc.org/2731523002
Cr-Commit-Position: refs/heads/master@{#17060}
2017-03-06 11:48:14 +00:00
danilchap
609ab2b3dc Make ExtendedReports::target_bitrate() accessor const
as it supposed to be

BUG=None

Review-Url: https://codereview.webrtc.org/2726843007
Cr-Commit-Position: refs/heads/master@{#17059}
2017-03-06 11:12:12 +00:00
elad.alon
5419ac8c02 Remove unused RemoteBitrateEstimator::IncomingPacketFeedbackVector()
BUG=None

Review-Url: https://codereview.webrtc.org/2721463003
Cr-Commit-Position: refs/heads/master@{#17058}
2017-03-06 11:11:06 +00:00
kthelgason
dea7f4f46f Ignore aud and sei NALus when parsing bitstream.
We currently don't know how to parse these NALus and we don't need
any information from them anyway so we might as well skip parsing them
and not break.

BUG=chromium:697795

Review-Url: https://codereview.webrtc.org/2732623002
Cr-Commit-Position: refs/heads/master@{#17057}
2017-03-06 10:49:36 +00:00
jens.nielsen
5571ee9465 Fix memory leaks in Windows core audio
BUG=webrtc:7270

Review-Url: https://codereview.webrtc.org/2727273002
Cr-Commit-Position: refs/heads/master@{#17056}
2017-03-06 10:24:42 +00:00
oprypin
3b2fb203fd Add PESQ precompiled tool for audio quality testing
BUG=webrtc:7229

Review-Url: https://codereview.webrtc.org/2715933003
Cr-Commit-Position: refs/heads/master@{#17055}
2017-03-06 10:23:34 +00:00
kjellander
1993b1de1f Reland "Enable GN check for webrtc/examples"
This is a reland of https://codereview.webrtc.org/2714343002
with the errors related to inclusions of test targets in webrtc/api
resolved.

BUG=webrtc:6828
NOTRY=True

Review-Url: https://codereview.webrtc.org/2733673002
Cr-Commit-Position: refs/heads/master@{#17053}
2017-03-06 08:29:21 +00:00
jbauch
dfcab728b2 Reland: Improve testing of SRTP external auth code paths.
This CL is a reland of https://codereview.webrtc.org/2722423003 which got
reverted due to compile errors when rolling into Chromium.

Original CL description:

Improve testing of SRTP external auth code paths.

Previously code behind ENABLE_EXTERNAL_AUTH was only compiled with Chromium
but developed in WebRTC, which made testing rather complicated. This caused
some trouble in the past (e.g. https://crbug.com/628400#c1)

This CL helps in that the external auth code is now compiled with WebRTC
and the srtpfilter integration gets tested.

BUG=chromium:628400

Review-Url: https://codereview.webrtc.org/2735613002
Cr-Commit-Position: refs/heads/master@{#17052}
2017-03-06 08:14:10 +00:00
kthelgason
156e3afa7f Optimize ParseRbsp method in H264 bitstream parser.
After profiling, sakal@ found that this method was taking very long,
and causing the bitstream parsing to take up to 1ms per frame. The
culprit proved to be rtc::Buffer::AppendData, which was called for
every byte and subsequently calls memcpy.

BUG=webrtc:7293

Review-Url: https://codereview.webrtc.org/2728093002
Cr-Commit-Position: refs/heads/master@{#17051}
2017-03-06 08:04:32 +00:00
alessiob
1e9681549a White noise generator implemented.
BUG=webrtc:7218
NOTRY=True

Review-Url: https://codereview.webrtc.org/2718073002
Cr-Commit-Position: refs/heads/master@{#17049}
2017-03-06 07:03:52 +00:00
alessiob
4610ec7ddd Noise generator abstract class and identity noise generator implemented.
BUG=webrtc:7218
NOTRY=True

Review-Url: https://codereview.webrtc.org/2717243003
Cr-Commit-Position: refs/heads/master@{#17048}
2017-03-06 06:55:59 +00:00
alessiob
21debb3ae8 APM quality assessment tool, signal processing tools.
BUG=webrtc:7218
NOTRY=True

Review-Url: https://codereview.webrtc.org/2715763003
Cr-Commit-Position: refs/heads/master@{#17047}
2017-03-06 06:33:12 +00:00
kjellander
98e1531012 Revert of Enable GN check for webrtc/{ortc,p2p} (patchset #4 id:60001 of https://codereview.webrtc.org/2714263004/ )
Reason for revert:
Fails compile in Chromium for NaCl:
https://build.chromium.org/p/chromium.webrtc.fyi/builders/Win%20Builder/builds/9320/
 http://build.chromium.org/p/chromium.webrtc.fyi/builders/Mac%20Builder/builds/22215
http://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/14501

Original issue's description:
> Enable GN check for webrtc/{ortc,p2p}
>
> Introduce new target //webrtc/p2p:rtc_p2p_test_utils to host
> test-related utilities.
> Previously uncovered header "base/fakecandidatepair.h" is now also in a target.
>
> BUG=webrtc:6828
>
> Review-Url: https://codereview.webrtc.org/2714263004
> Cr-Commit-Position: refs/heads/master@{#17036}
> Committed: c9515b6ce6

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

Review-Url: https://codereview.webrtc.org/2735583002
Cr-Commit-Position: refs/heads/master@{#17038}
2017-03-04 23:08:44 +00:00
kjellander
c9515b6ce6 Enable GN check for webrtc/{ortc,p2p}
Introduce new target //webrtc/p2p:rtc_p2p_test_utils to host
test-related utilities.
Previously uncovered header "base/fakecandidatepair.h" is now also in a target.

BUG=webrtc:6828

Review-Url: https://codereview.webrtc.org/2714263004
Cr-Commit-Position: refs/heads/master@{#17036}
2017-03-04 21:47:44 +00:00
jbauch
d81f121cfa Revert of Improve testing of SRTP external auth code paths. (patchset #2 id:20001 of https://codereview.webrtc.org/2722423003/ )
Reason for revert:
Breaks compilation in FYI bots, e.g. here:
http://build.chromium.org/p/chromium.webrtc.fyi/builders/Win%20Builder/builds/9314

FAILED: obj/third_party/webrtc/pc/rtc_pc/channel.obj
ninja -t msvc -e environment.x86 -- E:\b\c\goma_client/gomacc.exe "E:\b\depot_tools\win_toolchain\vs_files\d3cb0e37bdd120ad0ac4650b674b09e81be45616\VC\bin\amd64_x86/cl.exe" /nologo /showIncludes /FC @obj/third_party/webrtc/pc/rtc_pc/channel.obj.rsp /c ../../third_party/webrtc/pc/channel.cc /Foobj/third_party/webrtc/pc/rtc_pc/channel.obj /Fd"obj/third_party/webrtc/pc/rtc_pc_cc.pdb"
e:\b\c\b\win_builder\src\third_party\webrtc\pc\channel.cc(176): error C2819: type 'cricket::SrtpFilter' does not have an overloaded member 'operator ->'
e:\b\c\b\win_builder\src\third_party\webrtc\pc\srtpfilter.h(45): note: see declaration of 'cricket::SrtpFilter'
e:\b\c\b\win_builder\src\third_party\webrtc\pc\channel.cc(176): note: did you intend to use '.' instead?
e:\b\c\b\win_builder\src\third_party\webrtc\pc\channel.cc(176): error C2232: '->cricket::SrtpFilter::EnableExternalAuth': left operand has 'class' type, use '.'

Original issue's description:
> Improve testing of SRTP external auth code paths.
>
> Previously code behind ENABLE_EXTERNAL_AUTH was only compiled with Chromium
> but developed in WebRTC, which made testing rather complicated. This caused
> some trouble in the past (e.g. https://crbug.com/628400#c1)
>
> This CL helps in that the external auth code is now compiled with WebRTC
> and the srtpfilter integration gets tested.
>
> BUG=chromium:628400
>
> Review-Url: https://codereview.webrtc.org/2722423003
> Cr-Commit-Position: refs/heads/master@{#17030}
> Committed: ac170d5c21

TBR=deadbeef@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:628400

Review-Url: https://codereview.webrtc.org/2734643002
Cr-Commit-Position: refs/heads/master@{#17031}
2017-03-04 09:37:28 +00:00
jbauch
ac170d5c21 Improve testing of SRTP external auth code paths.
Previously code behind ENABLE_EXTERNAL_AUTH was only compiled with Chromium
but developed in WebRTC, which made testing rather complicated. This caused
some trouble in the past (e.g. https://crbug.com/628400#c1)

This CL helps in that the external auth code is now compiled with WebRTC
and the srtpfilter integration gets tested.

BUG=chromium:628400

Review-Url: https://codereview.webrtc.org/2722423003
Cr-Commit-Position: refs/heads/master@{#17030}
2017-03-04 08:54:45 +00:00
mbonadei
9660627c9d Reland of Setting is_component_build to false by default (patchset #1 id:1 of https://codereview.webrtc.org/2731703004/ )
Reason for revert:
Trying to fix this skipping the check if we are building webrtc within chromium.

Original issue's description:
> Revert of Setting is_component_build to false by default (patchset #5 id:80001 of https://codereview.webrtc.org/2728643003/ )
>
> Reason for revert:
> Breaks chrome rolls
>
> Original issue's description:
> > Setting is_component_build to false by default
> >
> > Webrtc does not support component builds so we want to override
> > the chromium default value (which can be true on debug builds if the
> > os is different from iOS).
> >
> > Please note that the user can set this value to true in two ways:
> >
> >  - using --args (e.g.: gn gen out/default --args='is_component_build=true'
> >  - changing the value in the args.gn file
> >
> > But in both cases the value will be ignored because we don't use the
> > 'component' template but we rely directly on 'rtc_static_library' and
> > 'rtc_shared_library'.
> >
> > BUG=webrtc:6975
> > NOTRY=True
> >
> > Review-Url: https://codereview.webrtc.org/2728643003
> > Cr-Commit-Position: refs/heads/master@{#17020}
> > Committed: 2cb3944ba7
>
> TBR=kjellander@webrtc.org,mbonadei@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6975
>
> Review-Url: https://codereview.webrtc.org/2731703004
> Cr-Commit-Position: refs/heads/master@{#17025}
> Committed: 2d9e7685a5

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

Review-Url: https://codereview.webrtc.org/2729243003
Cr-Commit-Position: refs/heads/master@{#17027}
2017-03-04 03:41:59 +00:00
tommi
2d9e7685a5 Revert of Setting is_component_build to false by default (patchset #5 id:80001 of https://codereview.webrtc.org/2728643003/ )
Reason for revert:
Breaks chrome rolls

Original issue's description:
> Setting is_component_build to false by default
>
> Webrtc does not support component builds so we want to override
> the chromium default value (which can be true on debug builds if the
> os is different from iOS).
>
> Please note that the user can set this value to true in two ways:
>
>  - using --args (e.g.: gn gen out/default --args='is_component_build=true'
>  - changing the value in the args.gn file
>
> But in both cases the value will be ignored because we don't use the
> 'component' template but we rely directly on 'rtc_static_library' and
> 'rtc_shared_library'.
>
> BUG=webrtc:6975
> NOTRY=True
>
> Review-Url: https://codereview.webrtc.org/2728643003
> Cr-Commit-Position: refs/heads/master@{#17020}
> Committed: 2cb3944ba7

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

Review-Url: https://codereview.webrtc.org/2731703004
Cr-Commit-Position: refs/heads/master@{#17025}
2017-03-04 00:15:01 +00:00
zijiehe
ccf57a71eb BlankDetectorDesktopCapturerWrapper to detect a blank DesktopFrame
DXGI capturer highly depends on video adapter and its driver, as well as Windows
itself. I recently found it cannot work on my virtualbox instance any more,
which indicates it may not work well on some specific systems. What worse is,
the APIs do not return a failure in such case.

So this change adds a BlankDetectorDesktopCapturerWrapper, which samples several
pixels in the frame returned by a DesktopCapturer implementation. If all the
pixels selected are blank, this wrapper returns a failure. A typical usage is to
combine BlankDetectorDesktopCapturerWrapper with FallbackDesktopCapturerWrapper,
and use GDI capturer in case of failure.

Usually less than 10000 pixels are checked, so the
BlankDetectorDesktopCapturerWrapper should not significant impact the capturer
performance.

This change is expected to resolve bug 682112 in another dimension.

BUG=682112

Review-Url: https://codereview.webrtc.org/2709523003
Cr-Original-Commit-Position: refs/heads/master@{#16984}
Committed: c4e9d210b3
Review-Url: https://codereview.webrtc.org/2709523003
Cr-Commit-Position: refs/heads/master@{#17024}
2017-03-03 22:40:15 +00:00
zhihuang
d3501adf17 Create the SrtpTransportInterface.
Create the SrtpTransportInterface, a subclass of RtpTransportInterface, which
allows the user to set the send and receive keys. The functionalities are
implemented inside the RtpTransportAdapters on top of BaseChannel.

BUG=webrtc:7013

Review-Url: https://codereview.webrtc.org/2714813004
Cr-Commit-Position: refs/heads/master@{#17023}
2017-03-03 22:39:06 +00:00
mbonadei
2cb3944ba7 Setting is_component_build to false by default
Webrtc does not support component builds so we want to override
the chromium default value (which can be true on debug builds if the
os is different from iOS).

Please note that the user can set this value to true in two ways:

 - using --args (e.g.: gn gen out/default --args='is_component_build=true'
 - changing the value in the args.gn file

But in both cases the value will be ignored because we don't use the
'component' template but we rely directly on 'rtc_static_library' and
'rtc_shared_library'.

BUG=webrtc:6975
NOTRY=True

Review-Url: https://codereview.webrtc.org/2728643003
Cr-Commit-Position: refs/heads/master@{#17020}
2017-03-03 19:36:37 +00:00
elad.alon
02455b27a2 Modify TransportFeedbackPacketLossTrackerTest to use parameterization
BUG=webrtc:7058

Review-Url: https://codereview.webrtc.org/2674733002
Cr-Commit-Position: refs/heads/master@{#17019}
2017-03-03 19:11:06 +00:00
elad.alon
7af9357580 Packet Loss Tracker - Stream Separation
1. Packet reception statistics (PLR and RPLR) calculated on each stream separately.
2. Algorithm changed from considering separate quadrants of the sequence-number-ring to simply looking at the oldest in-window SENT packet.

BUG=webrtc:7058

Review-Url: https://codereview.webrtc.org/2632203002
Cr-Commit-Position: refs/heads/master@{#17018}
2017-03-03 18:51:35 +00:00
deadbeef
b85a88853a Fixing race between CallbackCanceled and CancelCallback in AsyncInvoker.
Pointer was already protected by a critical section in two places but
not the third. Added thread annotations to prevent this from happening
in the future.

BUG=None

Review-Url: https://codereview.webrtc.org/2726263004
Cr-Commit-Position: refs/heads/master@{#17017}
2017-03-03 18:33:18 +00:00
deadbeef
a1991c5175 Removing HTTPS and SOCKS proxy server code.
This isn't used any more so there's no point in maintaining it.

BUG=None

Review-Url: https://codereview.webrtc.org/2731673002
Cr-Commit-Position: refs/heads/master@{#17016}
2017-03-03 18:23:08 +00:00
denicija
0ebe0199ac Add unit tests for RTCMTLVideoView.
To properly test the functionality,  following changes  were needed
- Make RTCMTLVideoView compiliable for all cpu architectures not just arm64.
This is needed so that the test can run on any device and on simulator as well.
- Refactor RTCMTLVideoView to have  mockable class methods.
The unittest class, RTCMTLVideoViewTests was designed to provide easy transition
to XCTest when the time comes for that.
To transition to XCTest it would suffice to inherit from XCTestCase and remove
the gtest methods.

BUG=webrtc:7079

Review-Url: https://codereview.webrtc.org/2723903003
Cr-Commit-Position: refs/heads/master@{#17014}
2017-03-03 16:24:06 +00:00
alessiob
446fb136dc APM configuration files generator.
It generates json files to be used as APM configuration presets.
Useful to avoid manual editing of such files.

BUG=webrtc:7218
NOTRY=True

Review-Url: https://codereview.webrtc.org/2719853006
Cr-Commit-Position: refs/heads/master@{#17013}
2017-03-03 16:20:19 +00:00
alessiob
bf4007dbe9 Evaluation controller, evaluation score abstract class, and score data access.
BUG=webrtc:7218

Review-Url: https://codereview.webrtc.org/2714543005
Cr-Commit-Position: refs/heads/master@{#17012}
2017-03-03 15:59:31 +00:00
minyue
930ff23261 Fixing a unittest to allow new Opus version.
New Opus version starts to support 120ms frame lengths. AudioEncoderOpusTest had an unnecessary check on the available frame lengths.

It is removed in this CL.

BUG=b/35415318

Review-Url: https://codereview.webrtc.org/2731583003
Cr-Commit-Position: refs/heads/master@{#17011}
2017-03-03 15:34:52 +00:00
alessiob
810025f9e9 Readme file with example that explains how the conversational speech generator tool should work.
BUG=webrtc:7218
NOTRY=True

Review-Url: https://codereview.webrtc.org/2722173003
Cr-Commit-Position: refs/heads/master@{#17010}
2017-03-03 15:31:10 +00:00
tommi
db23ea69b6 Add performance tracing for PlatformThread and parts of the video code.
BUG=webrtc:7219

Review-Url: https://codereview.webrtc.org/2729783004
Cr-Commit-Position: refs/heads/master@{#17009}
2017-03-03 15:21:18 +00:00
alessiob
b4ec8765d8 "audioproc_f" wrapper
- Metadata and AudioProcConfigFile classes
- ApmModuleSimulator constructor updated
- BUILD.gn updated

BUG=webrtc:7218
NOTRY=True

Review-Url: https://codereview.webrtc.org/2711313004
Cr-Commit-Position: refs/heads/master@{#17008}
2017-03-03 14:53:56 +00:00
alessiob
a4b1d31207 Simulation controller (shell arguments parser and simulation runner) and libraries (data access, noise generators, evaluation scores).
Execution flag added to the .py and .sh scripts.
BUILD.gn files adapted (see :lib), APM config files moved.

BUG=webrtc:7218
NOTRY=True

Review-Url: https://codereview.webrtc.org/2715943002
Cr-Commit-Position: refs/heads/master@{#17007}
2017-03-03 14:48:48 +00:00
danilchap
4336d73bd3 Reland of Fix flaky EndToEndTest.TransportSeqNumOnAudioAndVideo (patchset #1 id:1 of https://codereview.webrtc.org/2730893002/ )
Reason for revert:
Fixing race and relanding

Original issue's description:
> Revert of Fix flaky EndToEndTest.TransportSeqNumOnAudioAndVideo (patchset #2 id:20001 of https://codereview.webrtc.org/2728103002/ )
>
> Reason for revert:
> Fails on tsan
> http://build.chromium.org/p/client.webrtc/builders/Linux%20Tsan%20v2/builds/10235
>
> Original issue's description:
> > Fix flaky EndToEndTest.TransportSeqNumOnAudioAndVideo
> > Add extra checks to it to simplify diagnostic should it fail again.
> >
> > BUG=webrtc:7292
> >
> > Review-Url: https://codereview.webrtc.org/2728103002
> > Cr-Commit-Position: refs/heads/master@{#16999}
> > Committed: bcb6004a9d
>
> TBR=asapersson@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7292
>
> Review-Url: https://codereview.webrtc.org/2730893002
> Cr-Commit-Position: refs/heads/master@{#17000}
> Committed: 9a59473f2c

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

Review-Url: https://codereview.webrtc.org/2730673004
Cr-Commit-Position: refs/heads/master@{#17006}
2017-03-03 14:21:54 +00:00
kwiberg
65cb70d939 Fix cyclic deps: rent_a_codec<->audio_coding and rent_a_codec<->neteq
In short, what I did was to

  * Remove acm_common_defs.h (the stuff in it was used only by
    acm_codec_database.cc).

  * Move audio_coding_module_typedefs.h to a new build target.

  * Move the NetEqDecoder enum (and the associated
    NetEqDecoderToSdpAudioFormat function) to a new file in a new
    build target.

BUG=webrtc:7243, webrtc:7244

Review-Url: https://codereview.webrtc.org/2723253005
Cr-Commit-Position: refs/heads/master@{#17005}
2017-03-03 14:16:28 +00:00
denicija
154a7bb877 Add Metal video view in AppRTCMobile and Metal availability macro.
- The RTC_SUPPORTS_METAL macro allows consumers to gracefully handle compilation for different archs that are not supporting Metal.

BUG=webrtc:7079

Review-Url: https://codereview.webrtc.org/2722583002
Cr-Commit-Position: refs/heads/master@{#17004}
2017-03-03 14:11:10 +00:00
kwiberg
3a2c803dc3 Multiply in 64 bits to avoid overflow
A fuzzer run caused the operands of this multiplication to be 512 and
5000000, resulting in a product about 20% too large for int32_t. So
change this from a 16x32->32 to a 16x32->64 multiplication. Since we
right shift by 2 at the end, the end result will still fit in int32_t.

I also had to fix a few follow-on add/sub overflows found by the same
fuzzer input once the multiplication was fixed. I chose to saturate
these, since it wasn't just an intermediate value that overflowed.

BUG=chromium:693868

Review-Url: https://codereview.webrtc.org/2729573002
Cr-Commit-Position: refs/heads/master@{#17003}
2017-03-03 13:44:49 +00:00
tommi
5bdee47ede Increase tick precision in TaskQueue on Windows 64.
Hopefully this will reduce the flakiness of PostDelayedTask.

BUG=none

Review-Url: https://codereview.webrtc.org/2728663008
Cr-Commit-Position: refs/heads/master@{#17001}
2017-03-03 13:20:12 +00:00
danilchap
9a59473f2c Revert of Fix flaky EndToEndTest.TransportSeqNumOnAudioAndVideo (patchset #2 id:20001 of https://codereview.webrtc.org/2728103002/ )
Reason for revert:
Fails on tsan
http://build.chromium.org/p/client.webrtc/builders/Linux%20Tsan%20v2/builds/10235

Original issue's description:
> Fix flaky EndToEndTest.TransportSeqNumOnAudioAndVideo
> Add extra checks to it to simplify diagnostic should it fail again.
>
> BUG=webrtc:7292
>
> Review-Url: https://codereview.webrtc.org/2728103002
> Cr-Commit-Position: refs/heads/master@{#16999}
> Committed: bcb6004a9d

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

Review-Url: https://codereview.webrtc.org/2730893002
Cr-Commit-Position: refs/heads/master@{#17000}
2017-03-03 13:04:49 +00:00
danilchap
bcb6004a9d Fix flaky EndToEndTest.TransportSeqNumOnAudioAndVideo
Add extra checks to it to simplify diagnostic should it fail again.

BUG=webrtc:7292

Review-Url: https://codereview.webrtc.org/2728103002
Cr-Commit-Position: refs/heads/master@{#16999}
2017-03-03 12:38:11 +00:00
tommi
dea489f33e Add support for Location (RTC_FROM_HERE) to ProcessThread::RegisterModule.
This makes a few things a lot clearer when looking at perf trace data:

* What module instances (where they were created) are called
* On what thread
* How frequently
* For how long

ProcessThread will be replaced by TaskQueue moving forward and this is a step towards understanding the behavior of the affected code.

BUG=webrtc:7219

Review-Url: https://codereview.webrtc.org/2729053002
Cr-Commit-Position: refs/heads/master@{#16998}
2017-03-03 11:20:24 +00:00
tommi
f0d7b2b507 Make sure that ApmHelpersTest tests don't enter a tight loop.
BUG=webrtc:7219, webrtc:7290
TBR=solenberg@webrtc.org

Review-Url: https://codereview.webrtc.org/2729133002
Cr-Commit-Position: refs/heads/master@{#16996}
2017-03-03 09:34:15 +00:00
kthelgason
2fc52544b0 Fix flaky ViEEncoder tests.
This CL fixes two issues. The first is a tsan complaint about a data
race. The test had a fix to make it deterministic but the race still
existed, so this adds locks around the critical section to appease
the sanitizer.

The second, more annoying issue, is that occasionally the test would
start before the encoder had been configured, as this happens
asynchronously on a task queue. This would cause frames to be queued
up and dropped, but not where we expected them to be dropped.
This was causing some tests to fail very occasionally. I've added
a synchronisation mechanism by posting a barrier task on the queue
and not proceeding with the tests until it finishes.

BUG=webrtc:7217, webrtc:7232, webrtc:7260

Review-Url: https://codereview.webrtc.org/2722183004
Cr-Commit-Position: refs/heads/master@{#16995}
2017-03-03 08:24:41 +00:00
perkj
528a834ef0 Revert of BlankDetectorDesktopCapturerWrapper to detect a blank DesktopFrame (patchset #7 id:180001 of https://codereview.webrtc.org/2709523003/ )
Reason for revert:
Misses  deps for RTC_HISTOGRAM in Chrome.
email sent separately.

Also see https://codereview.chromium.org/2725143004/.

Original issue's description:
> BlankDetectorDesktopCapturerWrapper to detect a blank DesktopFrame
>
> DXGI capturer highly depends on video adapter and its driver, as well as Windows
> itself. I recently found it cannot work on my virtualbox instance any more,
> which indicates it may not work well on some specific systems. What worse is,
> the APIs do not return a failure in such case.
>
> So this change adds a BlankDetectorDesktopCapturerWrapper, which samples several
> pixels in the frame returned by a DesktopCapturer implementation. If all the
> pixels selected are blank, this wrapper returns a failure. A typical usage is to
> combine BlankDetectorDesktopCapturerWrapper with FallbackDesktopCapturerWrapper,
> and use GDI capturer in case of failure.
>
> Usually less than 500 pixels are checked, so the
> BlankDetectorDesktopCapturerWrapper should not impact the capturer performance.
>
> This change is expected to resolve bug 682112 in another dimension.
>
> BUG=682112
>
> Review-Url: https://codereview.webrtc.org/2709523003
> Cr-Commit-Position: refs/heads/master@{#16984}
> Committed: c4e9d210b3

TBR=sergeyu@chromium.org,zijiehe@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=682112

Review-Url: https://codereview.webrtc.org/2726983005
Cr-Commit-Position: refs/heads/master@{#16993}
2017-03-03 08:01:48 +00:00