Commit Graph

116 Commits

Author SHA1 Message Date
d420903185 Add missing audio_device .h files.
Bug: webrtc:7650
Change-Id: Ifbfcac49da9f761f666c6ff22b934e3a3ab783fd
Reviewed-on: https://webrtc-review.googlesource.com/37003
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21482}
2018-01-03 13:59:06 +00:00
75f18fca8e Make building with X11 libraries optional.
Desktop capturing on Linux will be disabled in this case, but everything
can be built without any X11 development libraries installed.

BUG=webrtc:5716,webrtc:8319

Change-Id: I01bd6a4b02816b407be19476e22ff073d264b496
Reviewed-on: https://webrtc-review.googlesource.com/32360
Reviewed-by: Henrik Andreassson (OOO until Jan 2) <henrika@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Joachim Bauch <jbauch@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21462}
2017-12-31 14:31:08 +00:00
5d2bb36b95 Fix linker error when building without internal audio device.
Bug: webrtc:8678
Change-Id: I30f0d1aa7bec6931edb9e5ba00a6813dea1536ff
Reviewed-on: https://webrtc-review.googlesource.com/35480
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21408}
2017-12-21 09:50:00 +00:00
2a8779763a Remove voe::TransmitMixer
TransmitMixer's functionality is moved into the AudioTransportProxy
owned by AudioState. This removes the need for an AudioTransport
implementation in VoEBaseImpl, which means that the proxy is no longer
a proxy, hence AudioTransportProxy is renamed to AudioTransportImpl.

In the short term, AudioState needs to know which AudioDeviceModule is
used, so it is added in AudioState::Config. AudioTransportImpl needs
to know which AudioSendStream:s are currently enabled to send, so
AudioState maintains a map of them, which is reduced into a simple
vector for AudioTransportImpl.

To encode and transmit audio,
AudioSendStream::OnAudioData(std::unique_ptr<AudioFrame> audio_frame)
is introduced, which is used in both the Chromium and standalone use
cases. This removes the need for two different instances of
voe::Channel::ProcessAndEncodeAudio(), so there is now only one,
taking an AudioFrame as argument. Callers need to allocate their own
AudioFrame:s, which is wasteful but not a regression since this was
already happening in the voe::Channel functions.

Most of the logic changed resides in
AudioTransportImpl::RecordedDataIsAvailable(), where two strange
things were found:

  1. The clock drift parameter was ineffective since
     apm->echo_cancellation()->enable_drift_compensation(false) is
     called during initialization.

  2. The output parameter 'new_mic_volume' was never set - instead it
     was returned as a result, causing the ADM to never update the
     analog mic gain
     (https://cs.chromium.org/chromium/src/third_party/webrtc/voice_engine/voe_base_impl.cc?q=voe_base_impl.cc&dr&l=100).

Besides this, tests are updated, and some dead code is removed which
was found in the process.

Bug: webrtc:4690, webrtc:8591
Change-Id: I789d5296bf5efb7299a5ee05a4f3ce6abf9124b2
Reviewed-on: https://webrtc-review.googlesource.com/26681
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21301}
2017-12-15 16:48:57 +00:00
3e113438b1 Fix circular dependencies in webrtc_common.
One reason for the circular deps is that common_types.h is a
historical dumping ground for various structs and defines that
are believed to be generally useful. I tried moving things out
that did not appear to be used downstream (StreamCounters,
RtpCounters etc) and moved the things that seemed used
(RtpHeader + supporting structs) to a new file api/rtp_headers.h.
This makes their place in the api more clear while moving out
the things that don't belong in the API in the first place.

I had to extract out typedefs.h from webrtc_common to resolve
another circular dependency. I believe checks includes typedefs,
but common depends on checks.

Bug: webrtc:7745
Change-Id: I725d49616b1ec0cdc8b74be7c078f7a4d46f084b
Reviewed-on: https://webrtc-review.googlesource.com/33001
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21295}
2017-12-15 14:33:26 +00:00
a8005cfd8b Fix circular dependencies between optional, array_view, and rtc_base.
This splits things out of rtc_base and makes dependencies explicit.

Bug: webrtc:6828
Change-Id: Id521896c3c43595349021c857bec216e429a0c8d
Reviewed-on: https://webrtc-review.googlesource.com/32780
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21264}
2017-12-14 06:49:11 +00:00
d37709b659 Revert "Fix circular dependencies between optional, array_view, and rtc_base."
This reverts commit a9e0924fa7688c4e4558e179c6608ce1093e15f8.

Reason for revert: Breaks because of RTC_LAST_SYSTEM_ERROR

Original change's description:
> Fix circular dependencies between optional, array_view, and rtc_base.
> 
> This splits things out of rtc_base and makes dependencies explicit.
> 
> Bug: webrtc:6828
> Change-Id: Ib813c7bd9e4de7ab015acb917bc09ee7204ba7bd
> Reviewed-on: https://webrtc-review.googlesource.com/31940
> Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21245}

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

Change-Id: I1a5dcf2223f00ae7c46f9f2a12b990ab3a84397d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:6828
Reviewed-on: https://webrtc-review.googlesource.com/32760
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21251}
2017-12-13 14:56:33 +00:00
a9e0924fa7 Fix circular dependencies between optional, array_view, and rtc_base.
This splits things out of rtc_base and makes dependencies explicit.

Bug: webrtc:6828
Change-Id: Ib813c7bd9e4de7ab015acb917bc09ee7204ba7bd
Reviewed-on: https://webrtc-review.googlesource.com/31940
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21245}
2017-12-13 13:44:21 +00:00
a498ae83ac Stop using public_deps in system_wrappers.
TBR=phoglund@webrtc.org

Bug: webrtc:8603
Change-Id: I5e515f0e4dc955a01460d69ba4e21bdfdf152d20
Reviewed-on: https://webrtc-review.googlesource.com/29104
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Edward Lemur <ehmaldonado@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21112}
2017-12-06 08:56:52 +00:00
61a7b141eb Removing conditional visibility.
Conditional visibility is complex to maintain and it is not well
supported by other build systems.

This CL removes it and falls back on the more relaxed visibility value
("*" in this case).
It is not a problem because the targets that are using conditional
visibility are all marked as "testonly" and this is probably enough to
keep the build graph clean.

Bug: None
Change-Id: I2d2b5ac9a02d08c2863950116db455976ee1459c
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/14902
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20658}
2017-11-13 15:39:11 +00:00
fbb3b7d004 Reland: "Make javac warnings errors for WebRTC targets."
This reverts commit 2bad72a27329ff30ceb9479253f5eb3d21888d25.

Reason for revert: Fixing downstream projects (take 2).

Original change's description:
> Reland "Revert "Make javac warnings errors for WebRTC targets.""
> 
> This is a reland of 098d24c3c18f4b1fd043d7ba716d7601f0ce2b74
> Original change's description:
> > Revert "Make javac warnings errors for WebRTC targets."
> > 
> > This reverts commit 19b761403c3522902d69d61179f4d184e3632f79.
> > 
> > Reason for revert: Breaking internal builds
> > 
> > Original change's description:
> > > Make javac warnings errors for WebRTC targets.
> > > 
> > > Adds new rtc_* templates for Android targets to allow specifying
> > > default values that affect WebRTC targets.
> > > 
> > > Bug: webrtc:6597
> > > Change-Id: Ie529bfc8500d1e785b8a59dba7078b5f88ccfcd1
> > > Reviewed-on: https://webrtc-review.googlesource.com/15103
> > > Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> > > Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#20567}
> > 
> TBR=phoglund@webrtc.org,sakal@webrtc.org
> > 
> > Change-Id: I6d3ff5604b3d4307765d3a65adb783f89fcc974c
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: webrtc:6597
> > Reviewed-on: https://webrtc-review.googlesource.com/20740
> > Reviewed-by: Lu Liu <lliuu@webrtc.org>
> > Commit-Queue: Lu Liu <lliuu@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#20571}
> 
> Bug: webrtc:6597
> Change-Id: Icfb5ded46ce76b674bae67bfa02054b4ec52bb0f
> Reviewed-on: https://webrtc-review.googlesource.com/20800
> Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
> Reviewed-by: Edward Lemur <ehmaldonado@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20577}

TBR=phoglund@webrtc.org,ehmaldonado@webrtc.org,mbonadei@webrtc.org,sakal@webrtc.org,lliuu@webrtc.org

Change-Id: Id3713c1885318741711987ae642a269a9ca5bb85
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:6597
Reviewed-on: https://webrtc-review.googlesource.com/18441
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20588}
2017-11-07 15:36:46 +00:00
2bad72a273 Reland "Revert "Make javac warnings errors for WebRTC targets.""
This is a reland of 098d24c3c18f4b1fd043d7ba716d7601f0ce2b74
Original change's description:
> Revert "Make javac warnings errors for WebRTC targets."
> 
> This reverts commit 19b761403c3522902d69d61179f4d184e3632f79.
> 
> Reason for revert: Breaking internal builds
> 
> Original change's description:
> > Make javac warnings errors for WebRTC targets.
> > 
> > Adds new rtc_* templates for Android targets to allow specifying
> > default values that affect WebRTC targets.
> > 
> > Bug: webrtc:6597
> > Change-Id: Ie529bfc8500d1e785b8a59dba7078b5f88ccfcd1
> > Reviewed-on: https://webrtc-review.googlesource.com/15103
> > Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> > Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#20567}
> 
TBR=phoglund@webrtc.org,sakal@webrtc.org
> 
> Change-Id: I6d3ff5604b3d4307765d3a65adb783f89fcc974c
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:6597
> Reviewed-on: https://webrtc-review.googlesource.com/20740
> Reviewed-by: Lu Liu <lliuu@webrtc.org>
> Commit-Queue: Lu Liu <lliuu@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20571}

Bug: webrtc:6597
Change-Id: Icfb5ded46ce76b674bae67bfa02054b4ec52bb0f
Reviewed-on: https://webrtc-review.googlesource.com/20800
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Reviewed-by: Edward Lemur <ehmaldonado@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20577}
2017-11-07 01:31:45 +00:00
a1a475a5b6 Revert "Revert "Make javac warnings errors for WebRTC targets.""
This reverts commit 098d24c3c18f4b1fd043d7ba716d7601f0ce2b74.

Reason for revert: Fixing downstream projects.

Original change's description:
> Revert "Make javac warnings errors for WebRTC targets."
> 
> This reverts commit 19b761403c3522902d69d61179f4d184e3632f79.
> 
> Reason for revert: Breaking internal builds
> 
> Original change's description:
> > Make javac warnings errors for WebRTC targets.
> > 
> > Adds new rtc_* templates for Android targets to allow specifying
> > default values that affect WebRTC targets.
> > 
> > Bug: webrtc:6597
> > Change-Id: Ie529bfc8500d1e785b8a59dba7078b5f88ccfcd1
> > Reviewed-on: https://webrtc-review.googlesource.com/15103
> > Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> > Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#20567}
> 
> TBR=phoglund@webrtc.org,sakal@webrtc.org
> 
> Change-Id: I6d3ff5604b3d4307765d3a65adb783f89fcc974c
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:6597
> Reviewed-on: https://webrtc-review.googlesource.com/20740
> Reviewed-by: Lu Liu <lliuu@webrtc.org>
> Commit-Queue: Lu Liu <lliuu@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20571}

TBR=phoglund@webrtc.org,sakal@webrtc.org,lliuu@webrtc.org

Change-Id: I3f0289c6ddc1930b1c92f653a61eff3f6a2bba30
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:6597
Reviewed-on: https://webrtc-review.googlesource.com/20741
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20572}
2017-11-06 20:30:58 +00:00
098d24c3c1 Revert "Make javac warnings errors for WebRTC targets."
This reverts commit 19b761403c3522902d69d61179f4d184e3632f79.

Reason for revert: Breaking internal builds

Original change's description:
> Make javac warnings errors for WebRTC targets.
> 
> Adds new rtc_* templates for Android targets to allow specifying
> default values that affect WebRTC targets.
> 
> Bug: webrtc:6597
> Change-Id: Ie529bfc8500d1e785b8a59dba7078b5f88ccfcd1
> Reviewed-on: https://webrtc-review.googlesource.com/15103
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20567}

TBR=phoglund@webrtc.org,sakal@webrtc.org

Change-Id: I6d3ff5604b3d4307765d3a65adb783f89fcc974c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:6597
Reviewed-on: https://webrtc-review.googlesource.com/20740
Reviewed-by: Lu Liu <lliuu@webrtc.org>
Commit-Queue: Lu Liu <lliuu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20571}
2017-11-06 19:58:38 +00:00
19b761403c Make javac warnings errors for WebRTC targets.
Adds new rtc_* templates for Android targets to allow specifying
default values that affect WebRTC targets.

Bug: webrtc:6597
Change-Id: Ie529bfc8500d1e785b8a59dba7078b5f88ccfcd1
Reviewed-on: https://webrtc-review.googlesource.com/15103
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20567}
2017-11-06 15:59:06 +00:00
bb547203bf Moving src/webrtc into src/.
In order to eliminate the WebRTC Subtree mirror in Chromium, 
WebRTC is moving the content of the src/webrtc directory up
to the src/ directory.

NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
TBR=tommi@webrtc.org

Bug: chromium:611808
Change-Id: Iac59c5b51b950f174119565bac87955a7994bc38
Reviewed-on: https://webrtc-review.googlesource.com/1560
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19845}
2017-09-15 04:25:06 +00:00