Commit graph

275 commits

Author SHA1 Message Date
Alex Narest
44dc241ae8 Allows configuration of playout audio buffer
Playout audio buffer length in Java audio device configuration with fieldtrial.

Bug: webrtc:10928
Change-Id: I79286f09591f4b2c6a6146f23d3dce92a29f6b21
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150657
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Alex Narest <alexnarest@google.com>
Cr-Commit-Position: refs/heads/master@{#29005}
2019-08-29 12:57:14 +00:00
Niels Möller
f69bd5f184 Delete AudioDeviceWindowsCore::WideToUTF8, replaced with rtc::ToUtf8
Bug: None
Change-Id: I4152693622cc27a73ccd8526216d78532e110698
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/149837
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28927}
2019-08-21 13:23:09 +00:00
Alex Narest
bbeb10925e Reporting audio device underrun counter
Bug: webrtc:10884
Change-Id: I35636fcbc1e2a19a89242379cdff6ec5c12fd21a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/149200
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Alex Narest <alexnarest@google.com>
Cr-Commit-Position: refs/heads/master@{#28874}
2019-08-16 11:49:55 +00:00
Yves Gerey
704c8c4446 Re-enable AudioDeviceTest in combination with sanitizers.
Reactivate all tests which aren't flaky anymore.

Bug: webrtc:9751, webrtc:10867
Change-Id: I1d76e0f3e6cc82e78fc46214202f40a9666d41fd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/149060
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Yves Gerey <yvesg@google.com>
Cr-Commit-Position: refs/heads/master@{#28853}
2019-08-14 08:45:18 +00:00
Yves Gerey
412282acf9 [tsan] Guard audio_device_pulse_linux members from concurrent access.
This CL also fixes data races caused by tests themselves.

TBR= henrika@webrtc.org

Bug: webrtc:9751
Change-Id: Ie7c785b27142fd465f5b4dc9fb0628bd7274f1d2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146600
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Yves Gerey <yvesg@google.com>
Cr-Commit-Position: refs/heads/master@{#28829}
2019-08-12 11:55:52 +00:00
Oleh Prypin
b1686786e8 Add RTC_ prefix to non-standard format specifier macro "PRIdNS"
Some of the macros in format_macros.h follow the C standard and try to fill holes in it (on Windows). But this one has no direct equivalent in the standard and is just mimicking the naming convention. That's not nice.

References:
https://devblogs.microsoft.com/cppblog/c99-library-support-in-visual-studio-2013/
https://stackoverflow.com/a/2524673

Change-Id: I53f3faca2976a5b5d4b04a67ffb56ae0f4e930b2
Bug: webrtc:10852
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147862
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28794}
2019-08-07 13:36:05 +00:00
Oleh Prypin
84de3d95cf Factor framework dependencies out of audio_device_impl
Bug: None
Change-Id: I7d8d737134bb1a9dcf376cd39e74e73a5a6a0e97
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147723
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28733}
2019-08-01 12:06:14 +00:00
Paul Roberts
fd643a4782 Build core audio for older windows versions
Some of the constants and structure definitions used are only available with
specific and recent versions of the windows SDK. This change allows this
to build with a toolchain targeting WINVER 0x0601 (Windows 7)

Bug: None
Change-Id: I3339f7c44c375fb7d583b78aa137f748c9776a07
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147440
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Paul Roberts <pacaro@google.com>
Cr-Commit-Position: refs/heads/master@{#28730}
2019-07-31 22:58:00 +00:00
Yves Gerey
432fe68af8 [Cleanup] Remove write-only member _sndCardRecDelay.
The code was doing nothing except for triggering thread sanitizer,
since concurrent writes weren't guarded:
 * ReadRecordedData() through webrtc_audio_module_rec_thread
 * InitPlayout()      through main thread

Bug: webrtc:9751
Change-Id: I7ecf4fa436ff0695e5b998d7e3f159fb6c7e9214
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146216
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Yves Gerey <yvesg@google.com>
Cr-Commit-Position: refs/heads/master@{#28636}
2019-07-22 14:26:28 +00:00
Yves Gerey
b93a2451e0 [Unit tests] Remove race condition and dangling pointer to mock.
Lifetime issue: "webrtc_audio_module_rec_thread" was still accessing
                AudioTransport mock at and after its destruction.

Bug: webrtc:9751
Change-Id: I24308077cdeb77e570b8ec74098f1ae3397b7155
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146217
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Yves Gerey <yvesg@google.com>
Cr-Commit-Position: refs/heads/master@{#28635}
2019-07-22 14:22:48 +00:00
Yves Gerey
1afe657d5c [Sanitizers] Disable tests at compile-time rather than run-time.
Rationale:
 * More explicit (you won't miss that when glancing at the code).
 * More consistent (see MAYBE_* in other tests).
 * Allow to re-activate tests via CLI (--gtest_also_run_disabled_tests).
 * Tests won't wrongly show up as PASSING (bug/webrtc:10819),
   since they won't show up at all.

Bug: webrtc:9778
Change-Id: Ic32e18cb8ee2352def95206c2aa66e1dea0cc1e3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146200
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Yves Gerey <yvesg@google.com>
Cr-Commit-Position: refs/heads/master@{#28617}
2019-07-19 11:56:42 +00:00
henrika
6704df9640 Minor threading-model fix for ADM2 on Windows
Landing with TBR given vacation times and the fact that none of this
code is active "in production". The ADM2 implementation can be seen
as experimental (non-default) code and it takes some work to enable it
and replace the existing ADM. Hence, extremely low risk to break
anything.

TBR: henrik.lundin
Bug: webrtc:9265
Change-Id: Ibc9a57f4851bf4b890b77b9eaef1dfbe3ca86f83
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146084
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28601}
2019-07-18 16:23:05 +00:00
henrika
d8c6ec4d2f Adds support for disabling autostart in ADM2 for Windows
Landing with TBR given vacation times and the fact that none of this
code is active "in production". The ADM2 implementation can be seen
as experimental (non-default) code and it takes some work to enable it
and replace the existing ADM. Hence, extremely low risk to break
anything.

TBR: henrik.lundin
Bug: webrtc:9265
Change-Id: Ia5cfb2aaa8eaf9537b916b3375f55d8df6287071
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145921
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28600}
2019-07-18 13:48:15 +00:00
Yves Gerey
ee0550cc4e [Unit tests] Show skipped tests instead of painting them green.
Marking test as skipped is more honest than pretending it is successful!
Prevent confusion like in the following scenario for one given test:
  - ubsan: launched and sometimes failing.
  - tsan: never launched but always flagged OK.

Bug: webrtc:9778
Change-Id: Ie0be0759347eabd3c9d29dd5ea2de809511d1b97
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145980
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Yves Gerey <yvesg@google.com>
Cr-Commit-Position: refs/heads/master@{#28597}
2019-07-18 11:01:00 +00:00
henrika
d404946c14 Minor modifications for ADM2 on Windows.
Code is not used in production. Need this change for a local test.
Using TBR.

TBR: henrik.lundin
Bug: webrtc:9265
Change-Id: I9f0cb265a51507de59ef2d7fd151465133687525
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145330
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28557}
2019-07-12 12:11:11 +00:00
Jonas Olsson
a4d873786f Format almost everything.
This CL was generated by running

git ls-files | grep -P "(\.h|\.cc)$" | grep -v 'sdk/' | grep -v 'rtc_base/ssl_' | \
grep -v 'fake_rtc_certificate_generator.h' | grep -v 'modules/audio_device/win/' | \
grep -v 'system_wrappers/source/clock.cc' | grep -v 'rtc_base/trace_event.h' | \
grep -v 'modules/audio_coding/codecs/ilbc/' | grep -v 'screen_capturer_mac.h' | \
grep -v 'spl_inl_mips.h' | grep -v 'data_size_unittest.cc' | grep -v 'timestamp_unittest.cc' \
| xargs clang-format -i ; git cl format

Most of these changes are clang-format grouping and reordering includes
differently.

Bug: webrtc:9340
Change-Id: Ic83ddbc169bfacd21883e381b5181c3dd4fe8a63
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144051
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28505}
2019-07-08 13:45:15 +00:00
Karl Wiberg
225842ced8 Initialize signal processing function pointers statically
The last run-time logic for selecting function pointers was removed in
May 2016, here: https://codereview.webrtc.org/1955413003

It would be even better if we could eliminate the function pointers
entirely and just have different implementations that we select at
compile time; I've left a TODO asking for this.

Bug: webrtc:9553
Change-Id: Ica71d71e19759da00967168f6479b7eb8b46c590
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144053
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28414}
2019-06-28 14:20:03 +00:00
Niels Möller
44bc19b0f8 Delete TestAudioDeviceModule methods using rtc::PlatformFile
Bug: webrtc:6463
Change-Id: I5d1d9e9036b5e745d5b37c971de91b1b38fdd368
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/141666
Reviewed-by: Henrik Grunell <henrikg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28255}
2019-06-12 15:28:41 +00:00
Danil Chapovalov
08fa953711 Reland "Delete TestAudioDeviceModule factory which uses GlobalTaskQueueFactory"
This reverts commit fd5166c305.

Reason for revert: Stop using CreateTestAudioDeviceModule in downstream

Original change's description:
> Revert "Delete TestAudioDeviceModule factory which uses GlobalTaskQueueFactory"
> 
> This reverts commit fc961357a7.
> 
> Reason for revert: Breaks downstream importer.
> 
> Original change's description:
> > Delete TestAudioDeviceModule factory which uses GlobalTaskQueueFactory
> > 
> > Bug: webrtc:10284
> > Change-Id: Ic92f6ff31b40c48a3362745a0a81179af0595fe0
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/141409
> > Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> > Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#28227}
> 
> TBR=danilchap@webrtc.org,kwiberg@webrtc.org
> 
> Change-Id: Id6d7571f48771646ddce0f05139a7ea0107759fb
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:10284
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/141414
> Reviewed-by: Philip Eliasson <philipel@webrtc.org>
> Commit-Queue: Philip Eliasson <philipel@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28228}

TBR=danilchap@webrtc.org,kwiberg@webrtc.org,philipel@webrtc.org

Change-Id: I42bc19793d48350ca45b751d7e1b26124ac7fbb9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10284
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/141670
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28254}
2019-06-12 14:44:01 +00:00
Philip Eliasson
fd5166c305 Revert "Delete TestAudioDeviceModule factory which uses GlobalTaskQueueFactory"
This reverts commit fc961357a7.

Reason for revert: Breaks downstream importer.

Original change's description:
> Delete TestAudioDeviceModule factory which uses GlobalTaskQueueFactory
> 
> Bug: webrtc:10284
> Change-Id: Ic92f6ff31b40c48a3362745a0a81179af0595fe0
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/141409
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28227}

TBR=danilchap@webrtc.org,kwiberg@webrtc.org

Change-Id: Id6d7571f48771646ddce0f05139a7ea0107759fb
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10284
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/141414
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28228}
2019-06-11 12:32:23 +00:00
Danil Chapovalov
fc961357a7 Delete TestAudioDeviceModule factory which uses GlobalTaskQueueFactory
Bug: webrtc:10284
Change-Id: Ic92f6ff31b40c48a3362745a0a81179af0595fe0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/141409
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28227}
2019-06-11 12:15:44 +00:00
Danil Chapovalov
48edc9224c Delete deprecated AudioDeviceWithDataObserver factory
Bug: webrtc:10284
Change-Id: I00ccba2c84e47f2b97bdd9c841467ccc0c6f900f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/140281
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28162}
2019-06-05 09:01:25 +00:00
Gustaf Ullberg
102b7289a9 Prevent howling in RunPlayoutAndRecordingInFullDuplex
The test RunPlayoutAndRecordingInFullDuplex makes the speakers play the
signal it simultaneously records from the microphone, which can cause
full howling.

The test itself measures buffer usage and does not depend on what signal
is played through the speakers. This change mutes the speakers to prevent
howling when running modules_unittests.

Bug: webrtc:10704
Change-Id: I6176adb2fb5ce0e4d86f6f447476be8a88c2f2cf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/139889
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28140}
2019-06-03 15:06:12 +00:00
Niels Möller
198cf00532 Reland "Change SimpleStringBuilder::Append to not use strcpyn and SIZE_UNKNOWN"
This is a reland of e779847fb6

Original change's description:
> Change SimpleStringBuilder::Append to not use strcpyn and SIZE_UNKNOWN
>
> Also add explicit includes of rtc_base/string_utils.h in files depending on it.
>
> Bug: webrtc:6424
> Change-Id: Id6b53937ab2d185d092a5d8863018fd5f1a88e27
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/135744
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27903}

Tbr: kwiberg@webrtc.org
Bug: webrtc:6424
Change-Id: Ic08d5d7fbc25ff89e4182d7c9cb3b0e8e356339a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/135946
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27957}
2019-05-16 08:21:04 +00:00
Niels Moller
fb8c856afa Revert "Change SimpleStringBuilder::Append to not use strcpyn and SIZE_UNKNOWN"
This reverts commit e779847fb6.

Reason for revert: Breaks downstream projects, depending on indirect include.

Original change's description:
> Change SimpleStringBuilder::Append to not use strcpyn and SIZE_UNKNOWN
> 
> Also add explicit includes of rtc_base/string_utils.h in files depending on it.
> 
> Bug: webrtc:6424
> Change-Id: Id6b53937ab2d185d092a5d8863018fd5f1a88e27
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/135744
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27903}

TBR=kwiberg@webrtc.org,nisse@webrtc.org

Change-Id: Ib04280d401b66fe832d3fdc9293e39276710f973
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:6424
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/135945
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27909}
2019-05-10 10:23:01 +00:00
Niels Möller
e779847fb6 Change SimpleStringBuilder::Append to not use strcpyn and SIZE_UNKNOWN
Also add explicit includes of rtc_base/string_utils.h in files depending on it.

Bug: webrtc:6424
Change-Id: Id6b53937ab2d185d092a5d8863018fd5f1a88e27
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/135744
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27903}
2019-05-10 08:38:42 +00:00
Niels Möller
4731f0062e Delete deprecated PlatformThread looping
Bug: webrtc:10594, webrtc:7187
Change-Id: Icba3a5cf6dbe817ead427c27645b3ad7bc8819be
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/134642
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27833}
2019-05-03 08:35:42 +00:00
Danil Chapovalov
98499d5a20 Remove deprecated AudioDeviceModule factory
Bug: webrtc:10284
Change-Id: If1c732b113c5d340dfc800f55f4d567576e82ce3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132222
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27801}
2019-04-29 11:22:11 +00:00
Artem Titov
153056b059 Add ability to play audio in circle for TestAudioDevice wav file capturer
Also use this ability in PC smoke test.

Bug: webrtc:10138
Change-Id: I83d526344f203082a19377d9642c9e453454f7ad
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133163
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27649}
2019-04-16 15:33:03 +00:00
Artem Titov
dd1c16f00c Use absl::make_unique in TestAudioDeviceModule factory methods
Bug: webrtc:10138
Change-Id: Ibe9f4b4343b8e5c9a5e1a6d41bd06b24d69db878
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133166
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27646}
2019-04-16 14:43:55 +00:00
Kári Tristan Helgason
7a930da66b Reland "Remove old audio device implementation."
This reverts commit e9d2b4efdd.

Reason for revert: Fixing build break of downstream project.

Original change's description:
> Revert "Remove old audio device implementation."
> 
> This reverts commit 0cfa4cba5c.
> 
> Reason for revert: audio_device_ios_objc target is removed, but still referenced by iPhone Meetins:Meeting_build_test, which now fails to build
> 
> Original change's description:
> > Remove old audio device implementation.
> > 
> > The iOS ADM implementation now lives in sdk/objc/native/api/audio_device_module.{h,mm}.
> > 
> > Bug: webrtc:10514
> > Change-Id: Ib0b162027b5680ebc40d621a57f1155f08e7a057
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131326
> > Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
> > Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
> > Reviewed-by: Niels Moller <nisse@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#27488}
> 
> TBR=henrika@webrtc.org,nisse@webrtc.org,kthelgason@webrtc.org
> 
> Change-Id: I5be10b3d17403a79ea30afc255cde01171bc9f5b
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:10514
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131960
> Reviewed-by: Jeroen de Borst <jeroendb@webrtc.org>
> Commit-Queue: Jeroen de Borst <jeroendb@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27492}

TBR=henrika@webrtc.org,nisse@webrtc.org,kthelgason@webrtc.org,jeroendb@webrtc.org

Change-Id: Ic05131d902f9623bd5ae7635d3c71880ffd3c6d3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10514
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131944
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27533}
2019-04-10 06:44:42 +00:00
Mirko Bonadei
6a489f22c7 Fully qualify googletest symbols.
Semi-automatically created with:

git grep -l " testing::" | xargs sed -i "s/ testing::/ ::testing::/g"
git grep -l "(testing::" | xargs sed -i "s/(testing::/(::testing::/g"
git cl format

After this, two .cc files failed to compile and I have fixed them
manually.

Bug: webrtc:10523
Change-Id: I4741d3bcedc831b6c5fdc04485678617eb4ce031
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132018
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27526}
2019-04-09 17:18:20 +00:00
Noah Richards
5154c5bc01 Remove atlbase dependency and lowercase Windows header includes.
ATL is being used to avoid a CoTaskMemFree, which we can just do directly.

Change-Id: Id5eddedd3634ca3d9adb9e5b54bc90ad298dd56c
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132080
Commit-Queue: Noah Richards <noahric@chromium.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27524}
2019-04-09 16:51:50 +00:00
Mirko Bonadei
00d1adf880 Make audio_device_module_from_input_and_output visible.
Bug: None
Change-Id: I185fe3d3f4b96fd55fd7148c33df105caa21d9ab
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132010
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27511}
2019-04-09 11:03:59 +00:00
Sebastian Jansson
c01367db40 Deprecating ThreadChecker specific interface.
All changes outside thread_checker.h are by:
s/CalledOnValidThread/IsCurrent/
s/DetachFromThread/Detach/

Bug: webrtc:9883
Change-Id: Idbb1086bff0817db58e770116acf4c9d60fae8b3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131023
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27494}
2019-04-08 16:58:07 +00:00
Jeroen de Borst
e9d2b4efdd Revert "Remove old audio device implementation."
This reverts commit 0cfa4cba5c.

Reason for revert: audio_device_ios_objc target is removed, but still referenced by iPhone Meetins:Meeting_build_test, which now fails to build

Original change's description:
> Remove old audio device implementation.
> 
> The iOS ADM implementation now lives in sdk/objc/native/api/audio_device_module.{h,mm}.
> 
> Bug: webrtc:10514
> Change-Id: Ib0b162027b5680ebc40d621a57f1155f08e7a057
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131326
> Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
> Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27488}

TBR=henrika@webrtc.org,nisse@webrtc.org,kthelgason@webrtc.org

Change-Id: I5be10b3d17403a79ea30afc255cde01171bc9f5b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10514
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131960
Reviewed-by: Jeroen de Borst <jeroendb@webrtc.org>
Commit-Queue: Jeroen de Borst <jeroendb@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27492}
2019-04-08 15:00:10 +00:00
Kári Tristan Helgason
0cfa4cba5c Remove old audio device implementation.
The iOS ADM implementation now lives in sdk/objc/native/api/audio_device_module.{h,mm}.

Bug: webrtc:10514
Change-Id: Ib0b162027b5680ebc40d621a57f1155f08e7a057
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131326
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27488}
2019-04-08 14:08:48 +00:00
Danil Chapovalov
1c41be6e05 Propagate TaskQueueFactory to AudioDeviceBuffer
keep using GlobalTaskQueueFactory in android/ios bindings.
Switch to DefaultTaskQueueFactory in tests.

Bug: webrtc:10284
Change-Id: I034c70542be5eeb830be86527830d51204fb2855
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130223
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27380}
2019-04-01 08:00:49 +00:00
Mirko Bonadei
185e802971 Prefix AUDIO_DEVICE_INCLUDE_ANDROID_AAUDIO with WEBRTC_.
Since it is a WebRTC-only macro, let's prefix it with WEBRTC_.

Bug: None
Change-Id: I309666858ea898dc7cd1a68c21be190f98c87b11
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/129935
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27327}
2019-03-28 08:44:27 +00:00
Mirko Bonadei
673f7e56e4 Do not assume /DUNICODE and /D_UNICODE.
As a library, WebRTC should not assume UNICODE and _UNICODE to be
defined globally.

This CL explicitly selects wide character functions and types in
order to build WebRTC with /UUNICODE and /U_UNICODE.

Bug: None
Change-Id: Ie4e2bcb4c5c34aee6f68dc7b5b54b76f088ee3e4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128904
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Noah Richards <noahric@chromium.org>
Cr-Commit-Position: refs/heads/master@{#27313}
2019-03-27 14:18:41 +00:00
Lu Liu
c771c805f1 Use scoped_refptr to share the instance of OpenSLEngineManager
Use rtc::scoped_refptr instead of std::unique_ptr to hold the instance
of OpenSLEngineManager; this makes it safe to share it between
OpenSLESRecorder and OpenSLESPlayer.

Bug: webrtc:10436
Change-Id: Ibd0717e5410020c89a40bfdb05953a02378a6a4b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128651
Commit-Queue: Lu Liu <lliuu@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27253}
2019-03-22 20:15:42 +00:00
Noah Richards
56325786d4 Mark MediaBufferImpl as final.
Without being marked final, calling "delete this" produces a warning
because IMediaBuffer/IUnknown don't have a virtual destructor when
-Wdelete-non-virtual-dtor is set.

Bug: None
Change-Id: I1905e4e5b0beab695cc7a4b901542b3aeb789b20
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128821
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Noah Richards <noahric@chromium.org>
Cr-Commit-Position: refs/heads/master@{#27251}
2019-03-22 19:23:51 +00:00
Artem Titov
94b57c044e Cleanup BUILD.gn files from imports like foo:foo
Repalce all occurrences of foo:foo in deps with just foo in BUILD.gn
files.

Done with Sublime regex replace.
Find: \b([-a-zA-Z0-9_]+):+\1\b
In: *.gn
Replace with: \1

Bug: None
Change-Id: I40aba1b14face687a595b852ffe443cb20197611
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127899
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27225}
2019-03-21 13:05:28 +00:00
Sebastian Jansson
77efcd82db Reland "Replacing rtc::Thread with task queue for TestAudioDeviceModule."
This is a reland of 1b871d0753

Original change's description:
> Replacing rtc::Thread with task queue for TestAudioDeviceModule.
>
> This prepares for running it in simulated time.
>
> TBR=henrika@webrtc.org
>
> Bug: webrtc:10465
> Change-Id: I9b29b8af9aeba7f0c8209ca77294a63d8068ff1a
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126481
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27083}

TBR=henrika@webrtc.org

Bug: webrtc:10465
Change-Id: Icda8043fb5b1156129bc3b706bf8f190782b0921
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127520
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27093}
2019-03-13 09:01:05 +00:00
Seth Hampson
fa852efb73 Revert "Replacing rtc::Thread with task queue for TestAudioDeviceModule."
This reverts commit 1b871d0753.

Reason for revert: Breaks webrtc downstream projects.

Original change's description:
> Replacing rtc::Thread with task queue for TestAudioDeviceModule.
> 
> This prepares for running it in simulated time.
> 
> TBR=henrika@webrtc.org
> 
> Bug: webrtc:10465
> Change-Id: I9b29b8af9aeba7f0c8209ca77294a63d8068ff1a
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126481
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27083}

TBR=henrika@webrtc.org,ossu@webrtc.org,srte@webrtc.org

Change-Id: I16d7c2a46d38c9aaf82cc3ab7bd7b9c5e10f5a5e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10465
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127341
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Commit-Queue: Seth Hampson <shampson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27086}
2019-03-12 20:05:53 +00:00
Sebastian Jansson
1b871d0753 Replacing rtc::Thread with task queue for TestAudioDeviceModule.
This prepares for running it in simulated time.

TBR=henrika@webrtc.org

Bug: webrtc:10465
Change-Id: I9b29b8af9aeba7f0c8209ca77294a63d8068ff1a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126481
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27083}
2019-03-12 18:25:31 +00:00
Peter Wen
7bc331f664 Android: Use android_deps directly
This is preparing for upstream removing the alias java_groups for the
individual support library targets: https://crrev.com/c/1500780

Bug: chromium:937987
Change-Id: I1c9efd83f6997288b334f3dc2f41233fa4e2ab61
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/125961
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Peter Wen <wnwen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#26995}
2019-03-06 15:14:42 +00:00
Mirko Bonadei
fc52b912a3 Implicitly suppress //build/config/clang:find_bad_constructs.
Since there is no way to enable/disable these diagnostics at runtime,
this CL moves the suppression into the rtc_* templates in order to
remove the need to explicitly add the snippet of code needed to
suppress it (currently copy/pasted in 144 locations).

The diagnostic that causes the most problems is the one about "complex
class/struct explicit ctor/dtor" [1] because WebRTC doesn't find
it useful enough.

Other diagnostics are good (for example the one that warns about
using "virtual" instead of "override", but that will be covered by
this clang-tidy check [2]) while others are Chromium related so
they have never triggered.

[1] - https://cs.chromium.org/chromium/src/tools/clang/plugins/FindBadConstructsConsumer.cpp?l=147-167&rcl=b4bebe1aa15dba7ca5fcc6456a81a55665327c3a
[2] - https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-override.html

Bug: webrtc:163
Change-Id: Icbf27efa5b369100a31e6a32df1a0913729b3b34
Reviewed-on: https://webrtc-review.googlesource.com/c/125088
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26918}
2019-03-01 10:18:17 +00:00
Mirko Bonadei
c4dd730765 Fix -Wextra-semi warnings.
Starting from https://chromium-review.googlesource.com/c/1485012,
-Wextra-semi is enabled and WebRTC has some violations to fix.

This is a follow-up of https://webrtc-review.googlesource.com/c/123560.

Bug: webrtc:10355
Change-Id: I012b7497fc8991037fd77aa98f1579c22e08206f
Reviewed-on: https://webrtc-review.googlesource.com/c/124126
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26831}
2019-02-25 09:22:51 +00:00
Mirko Bonadei
1c54605e77 [clang-tidy] Apply performance-move-const-arg fixes (misc).
This CL is a manual spin-off of [1], which tried to apply clang-tidy's
performance-move-const-arg [1] to the WebRTC codebase.

Since there were some wrong fixes to correct, this CL lands a few
different fixes, like adding a constructor overload to take an rvalue
reference or remove 'const' to make std::move effective.

[1] - https://webrtc-review.googlesource.com/c/src/+/120350
[2] - https://clang.llvm.org/extra/clang-tidy/checks/performance-move-const-arg.html

Bug: webrtc:10252
Change-Id: I42a777247fee2cb788efcd7c2035148330056b7a
Reviewed-on: https://webrtc-review.googlesource.com/c/120928
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26553}
2019-02-05 15:12:20 +00:00