Commit Graph

107 Commits

Author SHA1 Message Date
e904161cec Replace RTC_DEPRECATED with ABSL_DEPRECATED
This remove webrtc-specific macro that has no reason to be webrtc specific
ABSL_DEPRECATED takes a message parameter encouraging to write text how class or function is deprecated.

Bug: webrtc:12484
Change-Id: I89f1398f91dacadc37f7db469dcd985e3724e444
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/208282
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33314}
2021-02-22 12:53:23 +00:00
d15a575ec3 Use SequenceChecker from public API
Bug: webrtc:12419
Change-Id: I00cca16a0ec70246156ba00b97aa7ae5ccbf5364
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/205323
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33220}
2021-02-10 15:04:55 +00:00
e7c79fd3d6 Remove from chromium build targets that are not compatible with it.
We need to be able build chromium with rtc_include_tests = true. It
reveals a lot of targets that are not compatible with chromium but
aren't marked so.

`rtc_include_tests=true` has been considered a way to disable targets for the Chromium build, causing an overload on rtc_include_tests while the meaning of the two GN args (rtc_include_tests and build_with_chromium) should be kept separated.

Bug: webrtc:12404
Change-Id: I2f72825445916eae7c20ef9338672d6a07a9b9ff
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/203890
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33124}
2021-02-01 13:46:19 +00:00
2803a2def1 Make audio device mocks publicly visible
Bug: webrtc:11642
Change-Id: Ic80afca85b9f5854607aa55c403f77bd5bae1c71
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/203320
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33059}
2021-01-22 17:08:42 +00:00
16db7fff49 Move win32 files to a new "win32" target to avoid cyclic dependencies.
I ran into this when using repeating_task, which depends on clock (in
system_wrappers) which in turn added a dependency on rtc_base on Windows
due to win32 files. That's a problem since rtc_base depends on
repeating_task:

  //rtc_base:rtc_base ->
  //rtc_base/task_utils:repeating_task ->
  //system_wrappers:system_wrappers ->
  //rtc_base:rtc_base

We could additionally consider moving Clock out of system_wrappers.

Bug: webrtc:9987
Change-Id: I54ed715ad5eb9e3f5dd6c322233c18c05d895dff
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185506
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32203}
2020-09-26 11:54:50 +00:00
f264e70a47 Expand is_linux to is_linux || is_chromeos.
Currently is_linux is set to true on Chrome OS build,
but it is planned to be set false. This CL is the preparation
to keep the compatibility.

Bug: chromium:1110266
Test: Build locally.
Change-Id: Ic79a202b0b3baeff157955cd03a07556bfb958a8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/183860
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Hidehiko Abe <hidehiko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#32073}
2020-09-10 17:01:16 +00:00
81d2bbf96e Add a missing Windows library
"oleaut32.lib" is required for VariantInit: https://docs.microsoft.com/en-us/windows/win32/api/oleauto/nf-oleauto-variantinit

Bug: webrtc:11807
Change-Id: If0511571340e14407ad9402636a4a64d328fabca
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/180440
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Eric Astor <epastor@google.com>
Cr-Commit-Position: refs/heads/master@{#31806}
2020-07-29 14:06:35 +00:00
5f61282687 Migrate modules/audio_device to webrtc::Mutex.
Bug: webrtc:11567
Change-Id: I6d1a7145aaaae2e4cd0c8658fa31a673f857dbd6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/178814
Commit-Queue: Markus Handell <handellm@webrtc.org>
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31664}
2020-07-08 09:32:12 +00:00
c7f0dff191 Convert GN libs lists to frameworks
GN recently added support for Apple frameworks to link, rather than
overloading the libs lists. This pulls .frameworks out of the libs
lists, so that GN can stop supporting .frameworks in libs in the
future.

Bug: chromium:1052560
Change-Id: I263230ddd3c468061584423bba9e1f887503bcaa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/178601
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Sylvain Defresne <sdefresne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#31632}
2020-07-06 10:08:09 +00:00
2dcf348011 Use absl_deps in order to preapre to the Abseil component build release.
Bug: webrtc:1046390
Change-Id: Ia35545599de23b1a2c2d8be2d53469af7ac16f1d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176502
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31463}
2020-06-08 12:59:40 +00:00
4aafdba57e Compile ADM pulse code by default.
Pulse related code should still be disabled unless
WEBRTC_ENABLE_LINUX_PULSE is defined but it will always be
compiled.

Bug: None
Change-Id: If8a03aae445a8c73c3c347e275c5996368fe3088
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171513
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30886}
2020-03-25 16:48:41 +00:00
fc9770c102 Prefix ALSA and PULSE macros with WEBRTC_.
This CL renames the internal macros LINUX_ALSA and LINUX_PULSE and adds
the prefix WEBRTC_. Since these macros are internal to WebRTC, it is
better to use a prefix.

Bug: None
Change-Id: I2a07fa569a4da168006cc36f32e4dbb98a75814b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171514
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30885}
2020-03-25 15:23:19 +00:00
760fd52494 Replace MockAudioDeviceModule mock refcounting with real refcounting
Bug: webrtc:11308
Change-Id: Ic55ec2c4b45f8fc709fe1348556bdeea6202e7a8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166580
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30366}
2020-01-23 19:04:58 +00:00
ccbe95fd8a Reformat GN files.
`gn format` recently [1] changed its formatting behavior
for deps, source, and a few other elements when they
are assigned (with =) single-element lists to be consistent
with the formatting of updates (with +=) with single-element.

Now that we've rolled in a GN binary with the change,
reformat all files so that people don't get presubmit
warnings due to this.

CL generated with:
$ git ls-files | grep BUILD.gn | xargs gn format
$ gn format build_overrides/build.gni
$ gn format build_overrides/gtest.gni
$ gn format modules/audio_coding/audio_coding.gni
$ gn format webrtc.gni
$ gn format .gn

Plus a few manual changes to add exceptions for
"public_deps" (after changing these lines the presubmit
started to complain).

[1] - https://gn-review.googlesource.com/c/gn/+/6860

Bug: webrtc:11302
Change-Id: Iac29d23c1618ebef925c972e2891cd9f4e8cd613
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166882
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30334}
2020-01-21 12:13:11 +00:00
65bbcabe2f [Android] Replace java_files with sources
Replace all usages of java_files with sources in gn files, and
automatically format.

This is in preparation for java_files being completely removed upstream
in favor of sources.

NOPRESUBMIT=true

Bug: chromium:1035074
Change-Id: Ib9a698740b7ad26a127031d90321c7ae2feb59bf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/163161
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Natalie Chouinard <chouinard@google.com>
Cr-Commit-Position: refs/heads/master@{#30135}
2020-01-02 20:08:20 +00:00
3663ed3ad6 Move rtc_base/ignore_wundef.h to its own target.
Since rtc_base/ignore_wundef.h doesn't have any dependency, it is easy to
move it to its own target and allow its dependant to avoid to take a
dependency rtc_base:on rtc_base_approved.

Bug: webrtc:9419
Change-Id: I17f205b0cb2b21cad388b04e60082df9398dffdf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157428
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29548}
2019-10-19 10:50:36 +00:00
86d053c2db Use source_sets in component builds and static_library in release builds.
Static libraries don't guarantee that an exported symbol gets linked
into a shared library (and in order to support Chromium's component
build mode, WebRTC needs to be linked as a shared library).

Source sets always pass all the object files to the linker.

On the flip side, source_sets link more object files in release builds
and to avoid this, this CL introduces a the GN template "rtc_library" that
expands to static_library during release builds and to source_set during
component builds.

See: https://gn.googlesource.com/gn/+/master/docs/reference.md#func_source_set

Bug: webrtc:9419
Change-Id: I4667e820c2b3fcec417becbd2034acc13e4f04fe
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157168
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#29525}
2019-10-17 21:17:18 +00:00
317a1f09ed Use std::make_unique instead of absl::make_unique.
WebRTC is now using C++14 so there is no need to use the Abseil version
of std::make_unique.

This CL has been created with the following steps:

git grep -l absl::make_unique | sort | uniq > /tmp/make_unique.txt
git grep -l absl::WrapUnique | sort | uniq > /tmp/wrap_unique.txt
git grep -l "#include <memory>" | sort | uniq > /tmp/memory.txt

diff --new-line-format="" --unchanged-line-format="" \
  /tmp/make_unique.txt /tmp/wrap_unique.txt | sort | \
  uniq > /tmp/only_make_unique.txt
diff --new-line-format="" --unchanged-line-format="" \
  /tmp/only_make_unique.txt /tmp/memory.txt | \
  xargs grep -l "absl/memory" > /tmp/add-memory.txt

git grep -l "\babsl::make_unique\b" | \
  xargs sed -i "s/\babsl::make_unique\b/std::make_unique/g"

git checkout PRESUBMIT.py abseil-in-webrtc.md

cat /tmp/add-memory.txt | \
  xargs sed -i \
  's/#include "absl\/memory\/memory.h"/#include <memory>/g'
git cl format
# Manual fix order of the new inserted #include <memory>

cat /tmp/only_make_unique | xargs grep -l "#include <memory>" | \
  xargs sed -i '/#include "absl\/memory\/memory.h"/d'

git ls-files | grep BUILD.gn | \
  xargs sed -i '/\/\/third_party\/abseil-cpp\/absl\/memory/d'

python tools_webrtc/gn_check_autofix.py \
  -m tryserver.webrtc -b linux_rel

# Repead the gn_check_autofix step for other platforms

git ls-files | grep BUILD.gn | \
  xargs sed -i 's/absl\/memory:memory/absl\/memory/g'
git cl format

Bug: webrtc:10945
Change-Id: I3fe28ea80f4dd3ba3cf28effd151d5e1f19aff89
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/153221
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29209}
2019-09-17 15:47:29 +00:00
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
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
08fa953711 Reland "Delete TestAudioDeviceModule factory which uses GlobalTaskQueueFactory"
This reverts commit fd5166c305068772d00ad7edf50151bba215400b.

Reason for revert: Stop using CreateTestAudioDeviceModule in downstream

Original change's description:
> Revert "Delete TestAudioDeviceModule factory which uses GlobalTaskQueueFactory"
> 
> This reverts commit fc961357a721cd87dcd45ed409c66cb8cda6f4a2.
> 
> 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
fd5166c305 Revert "Delete TestAudioDeviceModule factory which uses GlobalTaskQueueFactory"
This reverts commit fc961357a721cd87dcd45ed409c66cb8cda6f4a2.

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
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
7a930da66b Reland "Remove old audio device implementation."
This reverts commit e9d2b4efdd5dddaa3a476c0ac2a9cf9125b39929.

Reason for revert: Fixing build break of downstream project.

Original change's description:
> Revert "Remove old audio device implementation."
> 
> This reverts commit 0cfa4cba5cae5e942f5d8e0e4e93b94982d0bfc3.
> 
> 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
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
e9d2b4efdd Revert "Remove old audio device implementation."
This reverts commit 0cfa4cba5cae5e942f5d8e0e4e93b94982d0bfc3.

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
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
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
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
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
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
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
77efcd82db Reland "Replacing rtc::Thread with task queue for TestAudioDeviceModule."
This is a reland of 1b871d07532c25d2f27e4db192cb9ce2229b1cee

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
fa852efb73 Revert "Replacing rtc::Thread with task queue for TestAudioDeviceModule."
This reverts commit 1b871d07532c25d2f27e4db192cb9ce2229b1cee.

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
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
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
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
d970807e0c Remove rtc_base/scoped_ref_ptr.h.
The type rtc::scoped_refptr<T> is now part of api/. Please include it from
api/scoped_refptr.h.

More info: See: https://groups.google.com/forum/#!topic/discuss-webrtc/Mme2MSz4z4o.

Bug: webrtc:9887, webrtc:8205
No-Try: True
Change-Id: Ic6c7c81e226e59f12f7933e472f573ae097b55bf
Reviewed-on: https://webrtc-review.googlesource.com/c/119041
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26414}
2019-01-25 20:29:58 +00:00
d3a5aaa521 Check "rtc_include_internal_audio_device" before creating unittest for audio_device_ios_objc
Bug: webrtc:10241
Change-Id: I335718c81436502cc492c9142220cd023b7da80c
Reviewed-on: https://webrtc-review.googlesource.com/c/119860
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Henrik Grunell <henrikg@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Jiawei Ou <ouj@fb.com>
Cr-Commit-Position: refs/heads/master@{#26412}
2019-01-25 18:51:07 +00:00
40d55331d7 Include absl/memory/memory.h if absl::make_unique is used
Tbr: kwiberg@webrtc.org
Bug: None
Change-Id: Iaf4533d2ce0e80b351a8a664ef8cf7ba0e5ec583
Reviewed-on: https://webrtc-review.googlesource.com/c/115746
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Yves Gerey <yvesg@google.com>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26168}
2019-01-08 20:08:32 +00:00
69540f4419 Use android Nullable instead of javax Nullable
This is a propagation of upstream chromium change needed to
resume DEPS autorolls into WebRTC.

Original comment from upstream change:

> This change is made in preparation for an ErrorProne
> check to catch this at compile time. See bug for details.

Bug: chromium:771683
Change-Id: I56aed15f73a633dcadae7ece6c645cd3596f9257
Reviewed-on: https://webrtc-review.googlesource.com/c/113505
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Artem Titarenko <artit@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25951}
2018-12-10 15:03:58 +00:00
2222a80e79 Delete unneeded includes of common_types.h and gn deps on webrtc_common.
Bug: webrtc:5876
Change-Id: Iae14e5f1679067a5a5e0584ca830aee0870c8807
Reviewed-on: https://webrtc-review.googlesource.com/c/111463
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25715}
2018-11-20 16:28:39 +00:00
7dbb7c311f Adding missing build target for audio_device_default.
The header modules/audio_device/include/audio_device_default.h was not
owned by any build target.

Bug: webrtc:8946
Change-Id: I3266a613c10963688c3bea701384e1d1bb68daac
Reviewed-on: https://webrtc-review.googlesource.com/c/111201
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25669}
2018-11-16 11:15:08 +00:00
4f340fa01e Compile audio_device without -Wno-global-constructors.
This CL removes kNumMicrosecsPerSec and kNumMillisecsPerSec from
modules/audio_device/win/core_audio_utility_win.h.

kNumMillisecsPerSec was unused, while kNumMicrosecsPerSec has been
replaced by rtc::kNumMicrosecsPerSec.

Bug: webrtc:9693
Change-Id: I560aa9dad2bfb94a9bf67d3b9941700f1948086b
Reviewed-on: https://webrtc-review.googlesource.com/102860
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24906}
2018-10-01 08:49:51 +00:00
17f4878419 Remove deprecated field_trial_default and metrics_default.
This CL removes some deprecated build targets (and their headers)
from system_wrappers:
- field_trial_api
- field_trial_default
- metrics_api
- metrics_default

It also refreshes all the dependencies on field_trial.h and metrics.h.

A nice side effect is that it is finally possible to remove 'nogncheck'
from the following files (when it was used with field_trial_default
and metrics_default):
- sdk/objc/api/peerconnection/RTCMetricsSampleInfo+Private.h
- sdk/android/src/jni/pc/peerconnectionfactory.cc
- sdk/objc/api/peerconnection/RTCFieldTrials.mm

Bug: webrtc:9631
Change-Id: Ib621f41ef8ad0aba4fe1c1d7e749c044afc956c3
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/100524
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24878}
2018-09-28 07:21:07 +00:00
e0c01b9802 Fix global_constructors, exit_time_destructors in audio device pulse.
Bug: webrtc:9693
Change-Id: I05498473be8a86756d65d0b9000d626c966d4ed3
Reviewed-on: https://webrtc-review.googlesource.com/100422
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24865}
2018-09-27 13:19:11 +00:00
bfb72ad4f4 Fix no_{global_constructors,exit_time_destructors} in audio device alsa.
Bug: webrtc:9693
Change-Id: Id37ef7e8c33830b494165202323ea65286052aae
Reviewed-on: https://webrtc-review.googlesource.com/100103
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24725}
2018-09-13 13:47:06 +00:00
96ede16a4e Enable -Wexit-time-destructors and -Wglobal-constructors.
This CL enables -Wexit-time-destructors and -Wglobal-constructors on
rtc_static_library and rtc_source_set build targets.

It also adds the possibility to suppress these warnings because
they trigger in a few places.

The long term goal is to avoid regressions on this and remove all the
suppressions.

Bug: webrtc:9693
Change-Id: I4c1ecc137ef9e87ec5e66981ce95d96fb082727c
Reviewed-on: https://webrtc-review.googlesource.com/98380
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24604}
2018-09-06 12:43:20 +00:00
944ba82905 Remove check_includes=false from audio_device_impl.
Bug: webrtc:8850, 824831
Change-Id: I89f089e09214ef189fca97c3f1062a0cd8476687
Reviewed-on: https://webrtc-review.googlesource.com/97622
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24548}
2018-09-04 10:09:42 +00:00
7bca8ca4e2 Obj-C SDK Cleanup
This CL separates the files under sdk/objc into logical directories, replacing
the previous file layout under Framework/.

A long term goal is to have some system set up to generate the files under
sdk/objc/api (the PeerConnection API wrappers) from the C++ code. In the shorter
term the goal is to abstract out shared concepts from these classes in order to
make them as uniform as possible.

The separation into base/, components/, and helpers/ are to differentiate between
the base layer's common protocols, various utilities and the actual platform
specific components.

The old directory layout that resembled a framework's internal layout is not
necessary, since it is generated by the framework target when building it.

Bug: webrtc:9627
Change-Id: Ib084fd83f050ae980649ca99e841f4fb0580bd8f
Reviewed-on: https://webrtc-review.googlesource.com/94142
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24493}
2018-08-30 10:42:41 +00:00