Commit Graph

548 Commits

Author SHA1 Message Date
52c83fe710 Split iOS sdk in to separate targets
This CL splits the iOS sdk into separate static libraries for video,
audio, ui, common, and peerconnection-related code. This will in the
future make it easier to compile WebRTC without unneeded components.

BUG=webrtc:4867

Review-Url: https://codereview.webrtc.org/2862543002
Cr-Commit-Position: refs/heads/master@{#18166}
2017-05-16 14:06:59 +00:00
c4b126d70e Fix audio device excessive logging on Windows
In the windows audio device implementation, play block size should be
number of samples per 10ms times the number of channels. Meanwhile
RequestPlayoutData is expecting number of samples per channel in a
block, and we should pass in the per channel number here to avoid debug
check.

BUG=7627

Review-Url: https://codereview.webrtc.org/2876593003
Cr-Commit-Position: refs/heads/master@{#18088}
2017-05-11 01:08:24 +00:00
5171a7f58c iOS audio session isInterrupted flag does not get reset correctly:
BUG=webrtc:7605

Review-Url: https://codereview.webrtc.org/2872953002
Cr-Commit-Position: refs/heads/master@{#18072}
2017-05-09 22:09:37 +00:00
90bdb3d138 Make WebRtcAudioEffects and its create method public.
This allows it to be reused with Android AudioRecords created outside
WebRtcAudioRecord.  WebRtcAudioEffects provides useful methods for enabling
hardware effects (such as echo cancellation) only on appropriate devices.  It
also allows some control of these effects through WebRtcAudioUtils.

BUG=webrtc:7448

Review-Url: https://codereview.webrtc.org/2786603004
Cr-Commit-Position: refs/heads/master@{#18053}
2017-05-08 17:21:30 +00:00
999445a1bb Blacklisting of HW-AEC/NS and OpenSL must now be done by the WebRTC client.
BUG=NONE

Review-Url: https://codereview.webrtc.org/2858263002
Cr-Commit-Position: refs/heads/master@{#18025}
2017-05-05 09:03:32 +00:00
49c8f26ad1 Initial implementation of Android audio playback error handling.
BUG=b/34128648

Review-Url: https://codereview.webrtc.org/2861573002
Cr-Commit-Position: refs/heads/master@{#18002}
2017-05-03 18:32:39 +00:00
c66e7c1ca6 Revert of Extract iOS SDK helpers to separate target. (patchset #1 id:1 of https://codereview.webrtc.org/2852323003/ )
Reason for revert:
It is still breaking chromium trybots:

Undefined symbols for architecture x86_64:
  "base::allocator::g_replaced_default_zone", referenced from:
      base::allocator::IsAllocatorInitialized() in libbase.a(allocator_check.o)
ld: symbol(s) not found for architecture x86_64

Original issue's description:
> Reland of Extract iOS SDK helpers to separate target. (patchset #1 id:1 of https://codereview.webrtc.org/2853273002/ )
>
> Reason for revert:
> Trying to reland after: https://codereview.webrtc.org/2855103003.
>
> Original issue's description:
> > Revert of Extract iOS SDK helpers to separate target. (patchset #3 id:40001 of https://codereview.webrtc.org/2849823002/ )
> >
> > Reason for revert:
> > https://chromium.googlesource.com/external/webrtc/+/3c1e558449309be965815e1bf...
> >
> > I suspect this breaks Chrome ios.
> > https://build.chromium.org/p/tryserver.chromium.mac/builders/ios-simulator/bu...
> > https://luci-logdog.appspot.com/v/?s=chromium%2Fbb%2Ftryserver.chromium.mac%2...
> >
> > Undefined symbols for architecture x86_64:
> >   "base::allocator::g_replaced_default_zone", referenced from:
> >       base::allocator::IsAllocatorInitialized() in libbase.a(allocator_check.o)
> > ld: symbol(s) not found for architecture x86_64
> > clang: error: linker command failed with exit code 1 (use -v to see invocation)
> > Traceback (most recent call last):
> >   File "../../build/toolchain/mac/linker_driver.py", line 229, in <module>
> >     Main(sys.argv)
> >   File "../../build/toolchain/mac/linker_driver.py", line 79, in Main
> >     subprocess.check_call(compiler_driver_args)
> >   File
> > "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py",
> > line 540, in check_call
> >     raise CalledProcessError(retcode, cmd)
> >
> > Original issue's description:
> > > Extract iOS SDK helpers to separate target.
> > >
> > > This will reduce the redundant objects built
> > > in Chromium when opening up test_support for the fuzzer
> > > tests.
> > >
> > > BUG=webrtc:6828
> > > NOTRY=True
> > >
> > > Review-Url: https://codereview.webrtc.org/2849823002
> > > Cr-Commit-Position: refs/heads/master@{#17972}
> > > Committed: 3c1e558449
> >
> > TBR=mbonadei@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:6828
> >
> > Review-Url: https://codereview.webrtc.org/2853273002
> > Cr-Commit-Position: refs/heads/master@{#17979}
> > Committed: 80e230239e
>
> TBR=kjellander@webrtc.org,perkj@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/2852323003
> Cr-Commit-Position: refs/heads/master@{#17992}
> Committed: fafd6d850d

TBR=kjellander@webrtc.org,perkj@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/2857953003
Cr-Commit-Position: refs/heads/master@{#17995}
2017-05-03 13:42:05 +00:00
fafd6d850d Reland of Extract iOS SDK helpers to separate target. (patchset #1 id:1 of https://codereview.webrtc.org/2853273002/ )
Reason for revert:
Trying to reland after: https://codereview.webrtc.org/2855103003.

Original issue's description:
> Revert of Extract iOS SDK helpers to separate target. (patchset #3 id:40001 of https://codereview.webrtc.org/2849823002/ )
>
> Reason for revert:
> https://chromium.googlesource.com/external/webrtc/+/3c1e558449309be965815e1bf...
>
> I suspect this breaks Chrome ios.
> https://build.chromium.org/p/tryserver.chromium.mac/builders/ios-simulator/bu...
> https://luci-logdog.appspot.com/v/?s=chromium%2Fbb%2Ftryserver.chromium.mac%2...
>
> Undefined symbols for architecture x86_64:
>   "base::allocator::g_replaced_default_zone", referenced from:
>       base::allocator::IsAllocatorInitialized() in libbase.a(allocator_check.o)
> ld: symbol(s) not found for architecture x86_64
> clang: error: linker command failed with exit code 1 (use -v to see invocation)
> Traceback (most recent call last):
>   File "../../build/toolchain/mac/linker_driver.py", line 229, in <module>
>     Main(sys.argv)
>   File "../../build/toolchain/mac/linker_driver.py", line 79, in Main
>     subprocess.check_call(compiler_driver_args)
>   File
> "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py",
> line 540, in check_call
>     raise CalledProcessError(retcode, cmd)
>
> Original issue's description:
> > Extract iOS SDK helpers to separate target.
> >
> > This will reduce the redundant objects built
> > in Chromium when opening up test_support for the fuzzer
> > tests.
> >
> > BUG=webrtc:6828
> > NOTRY=True
> >
> > Review-Url: https://codereview.webrtc.org/2849823002
> > Cr-Commit-Position: refs/heads/master@{#17972}
> > Committed: 3c1e558449
>
> TBR=mbonadei@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:6828
>
> Review-Url: https://codereview.webrtc.org/2853273002
> Cr-Commit-Position: refs/heads/master@{#17979}
> Committed: 80e230239e

TBR=kjellander@webrtc.org,perkj@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/2852323003
Cr-Commit-Position: refs/heads/master@{#17992}
2017-05-03 12:56:30 +00:00
bee4ff8d82 Remove unnecessary runtime API-level checks.
APIs below level 16 are not supported by WebRTC.

BUG=webrtc:7549
TBR=henrika@webrtc.org

Review-Url: https://codereview.webrtc.org/2848323003
Cr-Commit-Position: refs/heads/master@{#17980}
2017-05-02 15:33:52 +00:00
80e230239e Revert of Extract iOS SDK helpers to separate target. (patchset #3 id:40001 of https://codereview.webrtc.org/2849823002/ )
Reason for revert:
https://chromium.googlesource.com/external/webrtc/+/3c1e558449309be965815e1bf...

I suspect this breaks Chrome ios.
https://build.chromium.org/p/tryserver.chromium.mac/builders/ios-simulator/bu...
https://luci-logdog.appspot.com/v/?s=chromium%2Fbb%2Ftryserver.chromium.mac%2...

Undefined symbols for architecture x86_64:
  "base::allocator::g_replaced_default_zone", referenced from:
      base::allocator::IsAllocatorInitialized() in libbase.a(allocator_check.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Traceback (most recent call last):
  File "../../build/toolchain/mac/linker_driver.py", line 229, in <module>
    Main(sys.argv)
  File "../../build/toolchain/mac/linker_driver.py", line 79, in Main
    subprocess.check_call(compiler_driver_args)
  File
"/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py",
line 540, in check_call
    raise CalledProcessError(retcode, cmd)

Original issue's description:
> Extract iOS SDK helpers to separate target.
>
> This will reduce the redundant objects built
> in Chromium when opening up test_support for the fuzzer
> tests.
>
> BUG=webrtc:6828
> NOTRY=True
>
> Review-Url: https://codereview.webrtc.org/2849823002
> Cr-Commit-Position: refs/heads/master@{#17972}
> Committed: 3c1e558449

TBR=mbonadei@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:6828

Review-Url: https://codereview.webrtc.org/2853273002
Cr-Commit-Position: refs/heads/master@{#17979}
2017-05-02 14:23:17 +00:00
3c1e558449 Extract iOS SDK helpers to separate target.
This will reduce the redundant objects built
in Chromium when opening up test_support for the fuzzer
tests.

BUG=webrtc:6828
NOTRY=True

Review-Url: https://codereview.webrtc.org/2849823002
Cr-Commit-Position: refs/heads/master@{#17972}
2017-05-02 11:51:40 +00:00
1140f97e48 Reland of Creating webrtc/modules:module_api (patchset #1 id:1 of https://codereview.webrtc.org/2839963005/ )
Reason for revert:
Fixing the Gn error and try to reland.

Original issue's description:
> Revert of Creating webrtc/modules:module_api (patchset #5 id:80001 of https://codereview.webrtc.org/2838873002/ )
>
> Reason for revert:
> Causes build problem: https://build.chromium.org/p/client.webrtc/builders/iOS64%20Sim%20Debug%20%28iOS%209.0%29/builds/1630/steps/generate%20build%20files%20%28mb%29/logs/stdio
>
> Original issue's description:
> > Creating webrtc/modules:module_api
> >
> > This target keeps track of .h the files under webrtc/modules/include/
> > that are not part of any target.
> > If a .h file is not part of a target the 'gn check' utility is not
> > able to spot if a target is missing a dependency because even if
> > it parses '#include' directives it is not able to find a target that
> > contains these headers.
> >
> > BUG=webrtc:7513
> > NOTRY=True
> >
> > Review-Url: https://codereview.webrtc.org/2838873002
> > Cr-Commit-Position: refs/heads/master@{#17880}
> > Committed: 5a1a092ed0
>
> TBR=kjellander@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7513
>
> Review-Url: https://codereview.webrtc.org/2839963005
> Cr-Commit-Position: refs/heads/master@{#17881}
> Committed: bb08c3e296

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

Review-Url: https://codereview.webrtc.org/2843913002
Cr-Commit-Position: refs/heads/master@{#17884}
2017-04-26 10:38:35 +00:00
bb08c3e296 Revert of Creating webrtc/modules:module_api (patchset #5 id:80001 of https://codereview.webrtc.org/2838873002/ )
Reason for revert:
Causes build problem: https://build.chromium.org/p/client.webrtc/builders/iOS64%20Sim%20Debug%20%28iOS%209.0%29/builds/1630/steps/generate%20build%20files%20%28mb%29/logs/stdio

Original issue's description:
> Creating webrtc/modules:module_api
>
> This target keeps track of .h the files under webrtc/modules/include/
> that are not part of any target.
> If a .h file is not part of a target the 'gn check' utility is not
> able to spot if a target is missing a dependency because even if
> it parses '#include' directives it is not able to find a target that
> contains these headers.
>
> BUG=webrtc:7513
> NOTRY=True
>
> Review-Url: https://codereview.webrtc.org/2838873002
> Cr-Commit-Position: refs/heads/master@{#17880}
> Committed: 5a1a092ed0

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

Review-Url: https://codereview.webrtc.org/2839963005
Cr-Commit-Position: refs/heads/master@{#17881}
2017-04-26 09:00:16 +00:00
5a1a092ed0 Creating webrtc/modules:module_api
This target keeps track of .h the files under webrtc/modules/include/
that are not part of any target.
If a .h file is not part of a target the 'gn check' utility is not
able to spot if a target is missing a dependency because even if
it parses '#include' directives it is not able to find a target that
contains these headers.

BUG=webrtc:7513
NOTRY=True

Review-Url: https://codereview.webrtc.org/2838873002
Cr-Commit-Position: refs/heads/master@{#17880}
2017-04-26 08:53:54 +00:00
e0629c045e GN: Tighten up test target visibility + refactorings
Make all rtc_source_test target that contains tests that
are included in a test executable only be visible to the
rtc_test target. Doing this exposed a couple of errors and
dependency problems that were resolved. Having this could
have prevented duplicated execution of tests like the case that
was recently fixed by deadbeef@ in
https://codereview.webrtc.org/2820263004

New targets:
* //webrtc/modules/rtp_rtcp:fec_test_helper
* //webrtc/modules/rtp_rtcp:mock_rtp_rtcp
* //webrtc/modules/remote_bitrate_estimator:mock_remote_bitrate_observer

The mock files and targets should probably be moved into webrtc/test in
the future, but that's out of the scope of this CL.

BUG=webrtc:5716
NOTRY=True

Review-Url: https://codereview.webrtc.org/2828793003
Cr-Commit-Position: refs/heads/master@{#17863}
2017-04-25 11:04:50 +00:00
c097710cce Reland of GN: Enable ARC for Mac and iOS in rtc_* templates (patchset #1 id:1 of https://codereview.webrtc.org/2827223003/ )
Reason for revert:
Relanding after fixing ARC issue.

Original issue's description:
> Revert of GN: Enable ARC for Mac and iOS in rtc_* templates (patchset #3 id:40001 of https://codereview.webrtc.org/2781713004/ )
>
> Reason for revert:
> Breaks mac build
>
> Original issue's description:
> > GN: Enable ARC for Mac and iOS in rtc_* templates
> >
> > Remove all uses of retain/release and NSAutoreleasePool.
> >
> > This makes transformation to Bazel easier.
> >
> > This CL subsumes https://codereview.webrtc.org/2778163002 and depends on https://codereview.webrtc.org/2784483002/
> >
> > BUG=webrtc:6412
> >
> > Review-Url: https://codereview.webrtc.org/2781713004
> > Cr-Commit-Position: refs/heads/master@{#17780}
> > Committed: 6bda02b51d
>
> TBR=kjellander@webrtc.org,magjed@webrtc.org,stefan@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6412
>
> Review-Url: https://codereview.webrtc.org/2827223003
> Cr-Commit-Position: refs/heads/master@{#17784}
> Committed: 7c8786ae8f

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

Review-Url: https://codereview.webrtc.org/2834273002
Cr-Commit-Position: refs/heads/master@{#17836}
2017-04-24 07:57:16 +00:00
f84c1d6644 Don't call unconfigureWebRTCSession if configureWebRTCSession fails.
Otherwise, the activeCount will become negative.

BUG=webrtc:7471

Review-Url: https://codereview.webrtc.org/2822233002
Cr-Commit-Position: refs/heads/master@{#17816}
2017-04-21 20:56:39 +00:00
714e5cd6c6 Adds AudioDeviceTest.MeasureLoopbackLatency unittest.
Follow-up CL on https://codereview.webrtc.org/2788883002/ where I add a new
test which has to be enabled manually (will not run by default on bots).

Measures loopback latency and reports the min, max and average values for
a full duplex audio session.
The latency is measured like so:
- Insert impulses periodically on the output side.
- Detect the impulses on the input side.
- Measure the time difference between the transmit time and receive time.
- Store time differences in a vector and calculate min, max and average.
This test needs the '--gtest_also_run_disabled_tests' flag to run and also
some sort of audio feedback loop. E.g. a headset where the mic is placed
close to the speaker to ensure highest possible echo. It is also recommended
to run the test at highest possible output volume.

How to run:

./out/Debug/modules_unittests --gtest_filter=AudioDeviceMeasureLoopbackLatency --gtest_also_run_disabled_tests

Example output (on Linux machine):

[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from AudioDeviceTest
[ RUN      ] AudioDeviceTest.DISABLED_MeasureLoopbackLatency
[..........]
[..........] [min, max, avg]=[59, 67, 64] ms
[       OK ] AudioDeviceTest.DISABLED_MeasureLoopbackLatency (10034 ms)
[----------] 1 test from AudioDeviceTest (10034 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (10036 ms total)
[  PASSED  ] 1 test.

BUG=webrtc:7273

Review-Url: https://codereview.webrtc.org/2826073002
Cr-Commit-Position: refs/heads/master@{#17791}
2017-04-20 15:03:11 +00:00
7c8786ae8f Revert of GN: Enable ARC for Mac and iOS in rtc_* templates (patchset #3 id:40001 of https://codereview.webrtc.org/2781713004/ )
Reason for revert:
Breaks mac build

Original issue's description:
> GN: Enable ARC for Mac and iOS in rtc_* templates
>
> Remove all uses of retain/release and NSAutoreleasePool.
>
> This makes transformation to Bazel easier.
>
> This CL subsumes https://codereview.webrtc.org/2778163002 and depends on https://codereview.webrtc.org/2784483002/
>
> BUG=webrtc:6412
>
> Review-Url: https://codereview.webrtc.org/2781713004
> Cr-Commit-Position: refs/heads/master@{#17780}
> Committed: 6bda02b51d

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

Review-Url: https://codereview.webrtc.org/2827223003
Cr-Commit-Position: refs/heads/master@{#17784}
2017-04-20 10:54:22 +00:00
6bda02b51d GN: Enable ARC for Mac and iOS in rtc_* templates
Remove all uses of retain/release and NSAutoreleasePool.

This makes transformation to Bazel easier.

This CL subsumes https://codereview.webrtc.org/2778163002 and depends on https://codereview.webrtc.org/2784483002/

BUG=webrtc:6412

Review-Url: https://codereview.webrtc.org/2781713004
Cr-Commit-Position: refs/heads/master@{#17780}
2017-04-20 08:38:01 +00:00
07cd1ba023 Add error codes for Android audio recording start errors.
BUG=b/36090624

Review-Url: https://codereview.webrtc.org/2808273002
Cr-Commit-Position: refs/heads/master@{#17747}
2017-04-18 17:30:29 +00:00
3c9a6c0aff Added audioSessionDidActivate and audioSessionDidDectivate so that RTCAudioSession can be notified when the audio session is activated or deactivated by iOS outside of the app.
BUG=webrtc:7446

Review-Url: https://codereview.webrtc.org/2813493004
Cr-Commit-Position: refs/heads/master@{#17743}
2017-04-18 16:09:35 +00:00
90ee13ce1c Changes construction of AudioTrack for API 21 and higher.
If we are on API level 21 or higher, it is possible to use a special AudioTrack
constructor that uses AudioAttributes and AudioFormat as input. It allows us to
supersede the notion of stream types for defining the behavior of audio playback,
and to allow certain platforms or routing policies to use this information for more
refined volume or routing decisions.

BUG=b/30018586

Review-Url: https://codereview.webrtc.org/2804013002
Cr-Commit-Position: refs/heads/master@{#17737}
2017-04-18 12:07:52 +00:00
6daffe206d Rename the webrtc_adm_linux* namespaces to webrtc::adm_linux*
We shouldn't pollute the global namespace.

BUG=webrtc:7484

Review-Url: https://codereview.webrtc.org/2818563003
Cr-Commit-Position: refs/heads/master@{#17734}
2017-04-18 08:26:40 +00:00
1946be4bb2 RTC_DCHECK() is used in place of assert().
BUG=webrtc:7222

Review-Url: https://codereview.webrtc.org/2715893002
Cr-Commit-Position: refs/heads/master@{#17686}
2017-04-13 06:07:19 +00:00
4b62001e4f Adding AudioDeviceDataObserver interface
Added new callback class that enables routing both the locally recorded
and playout audio data to external module.

A factory method that creates an AudioDeviceModule instance that also
registers the AudioTransportCapture with the device is also added.

BUG=webrtc:7337
R=solenberg@webrtc.org

Review-Url: https://codereview.webrtc.org/2753453002 .
Cr-Commit-Position: refs/heads/master@{#17570}
2017-04-06 17:17:02 +00:00
e24991d7d6 Adds AudioDeviceTest.RunPlayoutAndRecordingInFullDuplex unittest.
BUG=webrtc:7273

Review-Url: https://codereview.webrtc.org/2788883002
Cr-Commit-Position: refs/heads/master@{#17555}
2017-04-06 08:14:23 +00:00
ee8b861190 remove module-wide warning suppression.
The warnings in question are benign and should be supressed locally so
we can keep the analysis for the rest of the files.

BUG=webrtc:5748

Review-Url: https://codereview.webrtc.org/2790883002
Cr-Commit-Position: refs/heads/master@{#17485}
2017-03-31 11:50:27 +00:00
ff046c74c5 Remove ALL usage of CriticalSectionWrapper.
Finally we are able to remove this class entirely, along with the last
vestiges of it's use. I've also removed some legacy files that were only
used for windows XP support.

BUG=webrtc:7035

Review-Url: https://codereview.webrtc.org/2790533002
Cr-Commit-Position: refs/heads/master@{#17480}
2017-03-31 09:03:55 +00:00
6bfe49c00a Remove more CriticalSectionWrappers.
BUG=webrtc:7035

Review-Url: https://codereview.webrtc.org/2785673002
Cr-Commit-Position: refs/heads/master@{#17465}
2017-03-30 08:14:41 +00:00
4b4d833c31 Avoid calling AudioEffect.queryEffects to avoid potential crash.
BUG=b/36713041
NOTRY=TRUE

Review-Url: https://codereview.webrtc.org/2785113002
Cr-Commit-Position: refs/heads/master@{#17461}
2017-03-30 08:01:28 +00:00
0ffdcc51bc Delete unneeded includes of deprecated system_wrappers include files.
Deletes left-over includes of trace.h and critical_section_wrapper.h.

BUG=webrtc:7035

Review-Url: https://codereview.webrtc.org/2784873002
Cr-Commit-Position: refs/heads/master@{#17460}
2017-03-30 07:31:15 +00:00
7735b1e932 Add logging around audio session interruptions.
Always treat returning to foreground as interruption ended event, to help fix out of sync issues with interruption state.

BUG=0

Review-Url: https://codereview.webrtc.org/2780263002
Cr-Commit-Position: refs/heads/master@{#17457}
2017-03-29 21:53:32 +00:00
1b35bab8f8 ADM unit test now runs on Mac and Windows as well.
TBR=solenberg
BUG=webrtc:7273

Review-Url: https://codereview.webrtc.org/2783863002
Cr-Commit-Position: refs/heads/master@{#17451}
2017-03-29 14:50:19 +00:00
76cc9be72c Make dummy device succeed at stopping recording/playout.
Makes sense, since it not recording/playing to begin with.

BUG=b/35415663

Review-Url: https://codereview.webrtc.org/2783673002
Cr-Commit-Position: refs/heads/master@{#17423}
2017-03-28 14:18:59 +00:00
0238ba8327 Ensures that audio device tests works when run through remote desktop
BUG=webrtc:7397

Review-Url: https://codereview.webrtc.org/2779023002
Cr-Commit-Position: refs/heads/master@{#17417}
2017-03-28 11:38:29 +00:00
33bf69ae66 Skip audio_device_unittest when platform audio isn't used.
BUG=7393

Review-Url: https://codereview.webrtc.org/2764403003
Cr-Commit-Position: refs/heads/master@{#17359}
2017-03-23 11:06:53 +00:00
f2f91fa2f9 Adds unit test for ADM on Linux
BUG=webrtc:7273

Review-Url: https://codereview.webrtc.org/2736503002
Cr-Commit-Position: refs/heads/master@{#17285}
2017-03-17 11:26:22 +00:00
9a1604b027 Include the header <cmath>
The build breaks because there is no implementation of std::abs(double).

BUG=None
TBR=tkchin@webrtc.org

Review-Url: https://codereview.webrtc.org/2743063003
Cr-Commit-Position: refs/heads/master@{#17176}
2017-03-10 21:30:04 +00:00
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
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
228c268065 Support 4 channel mic in Windows Core Audio
BUG=webrtc:7220

Review-Url: https://codereview.webrtc.org/2712743004
Cr-Commit-Position: refs/heads/master@{#16940}
2017-03-01 13:11:22 +00:00
b3ebc1aa59 Simplifies FineAudioBuffer by using rtc::Buffer
BUG=NONE

Review-Url: https://codereview.webrtc.org/2715963002
Cr-Commit-Position: refs/heads/master@{#16864}
2017-02-27 13:14:17 +00:00
3dda246b69 Revert of Removing unused audio device tests (patchset #1 id:1 of https://codereview.webrtc.org/2716843002/ )
Reason for revert:
I unfortunately have to revert this since trybots are still trying to run these tests and now they fail because the tests aren't there :-/  Before relanding, can you work with engprod to make sure we don't run them?

Original issue's description:
> Removes a test suite that is no longer used or maintained.
>
> BUG=NONE
>
> Review-Url: https://codereview.webrtc.org/2716843002
> Cr-Commit-Position: refs/heads/master@{#16825}
> Committed: bb5136f940

TBR=solenberg@webrtc.org,nisse@webrtc.org,henrika@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=NONE

Review-Url: https://codereview.webrtc.org/2721433002
Cr-Commit-Position: refs/heads/master@{#16845}
2017-02-26 15:12:50 +00:00
4af9f962c3 Fix busy loop in FakeAudioDeviceModule.
The implementation now has a mechanism that effectively turns off callbacks if used.

BUG=webrtc:7237, 695438
TBR=solenberg@webrtc.org

Review-Url: https://codereview.webrtc.org/2710023010
Cr-Commit-Position: refs/heads/master@{#16837}
2017-02-25 17:05:22 +00:00
bb5136f940 Removes a test suite that is no longer used or maintained.
BUG=NONE

Review-Url: https://codereview.webrtc.org/2716843002
Cr-Commit-Position: refs/heads/master@{#16825}
2017-02-24 11:36:20 +00:00
f166e1bcab Now using rtc::Buffer in FineAudioBuffer
BUG=b/35589717

Review-Url: https://codereview.webrtc.org/2706923006
Cr-Commit-Position: refs/heads/master@{#16793}
2017-02-23 10:44:55 +00:00
de6adbe0ba Remove non-ARC code from the codebase.
BUG=webrtc:7198

Review-Url: https://codereview.webrtc.org/2702153004
Cr-Commit-Position: refs/heads/master@{#16765}
2017-02-22 08:42:11 +00:00
e654b63879 Remove audio_mixer_manager_win.cc/.h.
Not used after Wave support dropped in https://codereview.webrtc.org/2700983002/.

BUG=webrtc:7183

Review-Url: https://codereview.webrtc.org/2699333002
Cr-Commit-Position: refs/heads/master@{#16690}
2017-02-18 12:05:35 +00:00
cc8588c040 Remove the Windows Wave audio device implementation.
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}
2017-02-17 22:48:07 +00:00