78 Commits

Author SHA1 Message Date
henrika
e26456a4ed Removes usage of AGC APIs in the ADM.
Bug: webrtc:8598
Change-Id: I5ebc2e3549eba039797e40d2f8aea48341f3fe46
Reviewed-on: https://webrtc-review.googlesource.com/31520
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21254}
2017-12-13 16:32:21 +00:00
henrika
6c255cfe8c Clears direct_buffer_address_ when init recording fails on Android.
Avoids hitting a DCHECK in AudioRecordJni::OnCacheDirectBufferAddress()
when first init attempt has failed and we try again.

Bug: b/69434512
Change-Id: I4396ba22981d9258d6d72188bad66104255f19cf
Reviewed-on: https://webrtc-review.googlesource.com/31842
Reviewed-by: Alex Glaznev <glaznev@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21218}
2017-12-12 08:25:57 +00:00
Edward Lemur
1b7f988144 Roll Chromium + Fix Android lint suppressions
* Roll chromium_revision 5bd5874cbf..840e0f7269 (519731:520123)
* Suppress NewApi lint warnings from Chromium.
* Suppress NewApi lint warnings for WebRTCAudio{Track,Utils}.java
* Suppress deprecation warnings for
  FLAG_SHOW_WHEN_LOCKED and FLAG_TURN_SCREEN_ON in LayoutParams
  in examples/androidapp/src/org/appspot/apprtc/CallActivity.java

Change log: 5bd5874cbf..840e0f7269
Full diff: 5bd5874cbf..840e0f7269

Changed dependencies:
* src/base: fc034c4143..5dfdb70192
* src/build: f0766940d5..b1a63aeccd
* src/ios: 49bd74cee7..597d6a0451
* src/testing: 373652d16f..119295dad5
* src/third_party: 34c5bb433a..38215cc4ef
* src/third_party/android_tools: https://chromium.googlesource.com/android_tools.git/+log/9914c57047..a2e9bc7c1b
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/230a61040f..b0b1ce2c6e
* src/third_party/depot_tools: 1b30125fbc..9e51906ffb
* src/third_party/ffmpeg: 9cb03e5705..18c815f814
* src/tools: 8d915c324e..d5795c8019
DEPS diff: 5bd5874cbf..840e0f7269/DEPS

No update to Clang.

Bug: webrtc:8580
Change-Id: I6b78fd2d10c1f790a7606c19982f00c6a3dde968
Reviewed-on: https://webrtc-review.googlesource.com/26640
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Henrik Grunell <henrikg@webrtc.org>
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20958}
2017-11-30 16:59:50 +00:00
henrika
2db1778d38 Adds extended audio state logs to Android audio.
NOTRY=TRUE

Bug: webrtc:8583
Change-Id: I2e9cb9354cc77c597a308b1f6c519c015a263842
Reviewed-on: https://webrtc-review.googlesource.com/25826
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20934}
2017-11-29 13:33:09 +00:00
henrika
f68d15cba3 Removes check of RECORD_AUDIO in native audio layer on Android.
This type of check should instead be performed by the application/client.
If the app does not have mic permissions, construction of the AudioRecord
object will fail and the user will receive an error callback anyhow.

Bug: b/69434512
Change-Id: If1d7eff488f7c693697e048a567c17ed0c51f040
Reviewed-on: https://webrtc-review.googlesource.com/25261
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20839}
2017-11-22 18:01:27 +00:00
henrika
0ce0988503 Expose audio record source setting in WebRtcAudioRecord.
Landing https://webrtc-review.googlesource.com/c/src/+/23881 on behalf
of stevengatto@

TBR=glaznev

Bug: webrtc:8545
Change-Id: I4358b93d2f4d934c497c4d3ee7e86e1fbc7a5fae
Reviewed-on: https://webrtc-review.googlesource.com/24460
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20788}
2017-11-20 13:06:21 +00:00
henrika
32026c3078 Removes Set/GetLoudspeakerStatus APIs from the ADM.
int32_t SetLoudspeakerStatus(bool enable)
int32_t GetLoudspeakerStatus(bool* enabled) const

These APIs are only implemented on iOS and they do not belong in the
native audio layer since the client can achieve the same functionality
by using the shared audio session in sdk/objc/Framework/Headers/WebRTC/RTCAudioSession.h.
It also gives the client a better flexibility in how the audio routing is done.

Bug: webrtc:7306
Change-Id: I853e2f57e0f5ae0a0f9fc4729ce961d81f92588b
Reviewed-on: https://webrtc-review.googlesource.com/23740
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20721}
2017-11-16 19:44:24 +00:00
henrika
1a0e896ba8 Restores state of WebRtcAudioRecord to 2017-05-26
Bug: b/32742417
Change-Id: I06e198b8ce1c3f05bc05436a160bff25d5d9fa59
Reviewed-on: https://webrtc-review.googlesource.com/23241
Reviewed-by: Alex Glaznev <glaznev@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20704}
2017-11-16 09:00:58 +00:00
henrika
c97cf03ede Removes unused sample-rate APIs from the ADM.
The following four methods are removed:

SetRecordingSampleRate(const uint32_t samplesPerSec)
RecordingSampleRate(uint32_t* samplesPerSec) const
SetPlayoutSampleRate(const uint32_t samplesPerSec)
PlayoutSampleRate(uint32_t* samplesPerSec) const

Bug: webrtc:7306
Change-Id: I2c3c2e7bd3fb1264da197699fd5de15ab6c35c1b
Reviewed-on: https://webrtc-review.googlesource.com/22001
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20703}
2017-11-16 08:59:53 +00:00
henrika
34029e209d Removes usage of AudioRecord.Builder on Android
NOTRY=TRUE

Bug: b/32742417
Change-Id: Ib56e3d9da45b3d3fbe8b1658aaf6d97a99ea1886
Reviewed-on: https://webrtc-review.googlesource.com/18461
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Alex Glaznev <glaznev@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20621}
2017-11-09 13:18:02 +00:00
Mirko Bonadei
675513b96a Stop using LOG macros in favor of RTC_ prefixed macros.
This CL has been generated with the following script:

for m in PLOG \
  LOG_TAG \
  LOG_GLEM \
  LOG_GLE_EX \
  LOG_GLE \
  LAST_SYSTEM_ERROR \
  LOG_ERRNO_EX \
  LOG_ERRNO \
  LOG_ERR_EX \
  LOG_ERR \
  LOG_V \
  LOG_F \
  LOG_T_F \
  LOG_E \
  LOG_T \
  LOG_CHECK_LEVEL_V \
  LOG_CHECK_LEVEL \
  LOG
do
  git grep -l $m | xargs sed -i "s,\b$m\b,RTC_$m,g"
done
git checkout rtc_base/logging.h
git cl format

Bug: webrtc:8452
Change-Id: I1a53ef3e0a5ef6e244e62b2e012b864914784600
Reviewed-on: https://webrtc-review.googlesource.com/21325
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20617}
2017-11-09 11:56:32 +00:00
Mirko Bonadei
72c4250cab Formatting some files with LOG macros usage.
In order to create a clean CL to switch to RTC_ prefixed LOG macros
this CL runs `git cl format --full` on the files with LOG macros in
the following directories:
- modules/audio_device
- modules/media_file
- modules/video_capture

This CL has been automatically generated with:

for m in PLOG \
  LOG_TAG \
  LOG_GLEM \
  LOG_GLE_EX \
  LOG_GLE \
  LAST_SYSTEM_ERROR \
  LOG_ERRNO_EX \
  LOG_ERRNO \
  LOG_ERR_EX \
  LOG_ERR \
  LOG_V \
  LOG_F \
  LOG_T_F \
  LOG_E \
  LOG_T \
  LOG_CHECK_LEVEL_V \
  LOG_CHECK_LEVEL \
  LOG
do
  for d in media_file video_capture audio_device; do
    cd modules/$d
    git grep -l $m | grep -E "\.(cc|h|m|mm)$" | xargs sed -i "1 s/$/ /"
    cd ../..
  done
done
git cl format --full

Bug: webrtc:8452
Change-Id: I2858b6928e6bd79957f2e5e0b07028eb68a304b2
Reviewed-on: https://webrtc-review.googlesource.com/21322
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20613}
2017-11-09 09:49:12 +00:00
Mirko Bonadei
12251b6386 Adding @SuppressWarnings(NoSynchronizedMethodCheck).
In https://chromium-review.googlesource.com/c/chromium/src/+/750645
Chromium started to use an ErrorProne plugin to discourage synchronized
public methods (an encourage the usage of synchronized blocks).

In order to unblock the Chromium Roll we can suppress these warnings
and decide if we want to align with Chromium on this check or ask
them to make it optional.

More details in the bug.

TBR=magjed@webrtc.org

Bug: webrtc:8491
Change-Id: Ie77a324e54aab44a4f59853959549f1d21f884a0
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/20060
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20569}
2017-11-06 17:48:38 +00:00
henrika
ae3981a998 Removes experimental sleep in ADM initialization for Android
Bug: b/63010674
Change-Id: I744fa9be1031784431685a90f5c36d4a37e6a989
Reviewed-on: https://webrtc-review.googlesource.com/17441
Reviewed-by: Alex Glaznev <glaznev@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20518}
2017-11-01 08:09:56 +00:00
Sami Kalliomäki
bde473e4fa Fix/suppress new warnings introduced in Chromium roll.
TBR=henrika@webrtc.org

Bug: webrtc:6597
Change-Id: Id26945a7be05250673b58de8220f78bc62886688
Reviewed-on: https://webrtc-review.googlesource.com/16860
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20477}
2017-10-30 16:10:29 +00:00
henrika
b0576ecc71 Reland of Improves native Android audio implementations
Second attempt to land https://webrtc-review.googlesource.com/c/src/+/15481.
This time with an extra (dummy) interface to ensure that we don't
break downstream clients.

Improves native Android audio implementations.

Bug: webrtc:8453
Change-Id: I659a3013ae523a2588e4c41ca44b7d0d2d65efb7
Reviewed-on: https://webrtc-review.googlesource.com/16425
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20462}
2017-10-27 10:53:20 +00:00
Zhi Huang
0af34ad3fa The onWebRtcAudioTrackStartError is changed in this CL which breaks the internal projects.
Revert "Improves native Android audio implementations."

This reverts commit 92b1ffd0f655e88532cb7313707f300fec911b46.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Improves native Android audio implementations.
> 
> Summary:
> 
> Adds AudioTrackStartErrorCode to separate different types of error
> codes in combination with StartPlayout.
> 
> Harmonizes WebRtcAudioRecord and WebRtcAudioTrack implementations
> to ensure that init/start/stop is performed identically.
> 
> Adds thread checking in WebRtcAudio track.
> 
> Bug: webrtc:8453
> Change-Id: Ic913e888ff9493c9cc748a7b4dae43eb6b37fa85
> Reviewed-on: https://webrtc-review.googlesource.com/15481
> Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
> Reviewed-by: Alex Glaznev <glaznev@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20448}

TBR=henrika@webrtc.org,glaznev@webrtc.org

Change-Id: If1d1d9717387a4a8f6d9d6acf7e86ded4c655b5e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8453
Reviewed-on: https://webrtc-review.googlesource.com/16321
Reviewed-by: Zhi Huang <zhihuang@webrtc.org>
Commit-Queue: Zhi Huang <zhihuang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20452}
2017-10-26 21:58:39 +00:00
henrika
92b1ffd0f6 Improves native Android audio implementations.
Summary:

Adds AudioTrackStartErrorCode to separate different types of error
codes in combination with StartPlayout.

Harmonizes WebRtcAudioRecord and WebRtcAudioTrack implementations
to ensure that init/start/stop is performed identically.

Adds thread checking in WebRtcAudio track.

Bug: webrtc:8453
Change-Id: Ic913e888ff9493c9cc748a7b4dae43eb6b37fa85
Reviewed-on: https://webrtc-review.googlesource.com/15481
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Alex Glaznev <glaznev@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20448}
2017-10-26 13:45:36 +00:00
henrika
36636a2d6c Removes StaticAccessedFromInstance warning in Android audio track.
Fixes the warning below:

WebRtcAudioTrack.java:364: warning: [StaticAccessedFromInstance] Static method getMaxVolume
should not be accessed from an object instance; instead use AudioTrack.getMaxVolume
+ "max gain: " + audioTrack.getMaxVolume());

Bug: NONE
Change-Id: I6247584b65ac972a6a3739fba718387873964f9f
Reviewed-on: https://webrtc-review.googlesource.com/14180
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20371}
2017-10-20 11:02:03 +00:00
henrika
6592f2cfd2 Removes more unused ADM APIs:
- RecordingDelay()
- LastError()

Bug: webrtc:7306
Change-Id: I3bb9cd243a1464f0ba612787c854eeb6602c7e38
Reviewed-on: https://webrtc-review.googlesource.com/12060
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20326}
2017-10-17 14:23:50 +00:00
Sami Kalliomäki
602dc431b0 Fix some lint warnings on Android.
Bug: webrtc:6597
Change-Id: I215b319b3129949d12b74b11e6ec35eb123a1e5a
Reviewed-on: https://webrtc-review.googlesource.com/6781
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20182}
2017-10-06 11:20:14 +00:00
henrika
3def74b1b8 Disables AudioDeviceTest.RunPlayoutAndRecordingInFullDuplex on Android
TBR=henrik.lundin

Bug: webrtc:7744
Change-Id: I0ebfd3016d9d6b815d5b1801e8481363da11af54
Reviewed-on: https://webrtc-review.googlesource.com/7200
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20179}
2017-10-06 10:19:44 +00:00
Fredrik Solenberg
a32dd018eb Reland "Remove AudioDeviceObserver and make ADM not inherit from the Module interface."
This is a reland of 34cdd2d402b08aee4e17a6fd38c87e0e5cd7aa30
Original change's description:
> Remove AudioDeviceObserver and make ADM not inherit from the Module interface.
> 
> (Re-upload of https://codereview.webrtc.org/3020493002/)
> 
> Bug: webrtc:4690, webrtc:7306
> Change-Id: I67fb9ebca1296aabc08eae8a292a5c69832dc35e
> Reviewed-on: https://webrtc-review.googlesource.com/5360
> Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
> Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20083}

Bug: webrtc:4690, webrtc:7306
Change-Id: Ib019439fe6ab0e6b759819e1e9bd320ba1d983bd
Reviewed-on: https://webrtc-review.googlesource.com/6300
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20137}
2017-10-04 11:31:18 +00:00
Fredrik Solenberg
d4404c232d Revert "Remove AudioDeviceObserver and make ADM not inherit from the Module interface."
This reverts commit 34cdd2d402b08aee4e17a6fd38c87e0e5cd7aa30.

Reason for revert: Breaks Chromium

Original change's description:
> Remove AudioDeviceObserver and make ADM not inherit from the Module interface.
> 
> (Re-upload of https://codereview.webrtc.org/3020493002/)
> 
> Bug: webrtc:4690, webrtc:7306
> Change-Id: I67fb9ebca1296aabc08eae8a292a5c69832dc35e
> Reviewed-on: https://webrtc-review.googlesource.com/5360
> Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
> Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20083}

TBR=solenberg@webrtc.org,henrika@webrtc.org

Change-Id: Iad03cafb7865f5a22394c3d4d1d3ff3e0fccd4ff
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:4690, webrtc:7306
Reviewed-on: https://webrtc-review.googlesource.com/5402
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20085}
2017-10-02 15:10:04 +00:00
Fredrik Solenberg
34cdd2d402 Remove AudioDeviceObserver and make ADM not inherit from the Module interface.
(Re-upload of https://codereview.webrtc.org/3020493002/)

Bug: webrtc:4690, webrtc:7306
Change-Id: I67fb9ebca1296aabc08eae8a292a5c69832dc35e
Reviewed-on: https://webrtc-review.googlesource.com/5360
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20083}
2017-10-02 15:01:20 +00:00
henrika
c3d0da097c Avoids crash in AudioTrack when audio starts in background mode
TBR=noahric

Bug: NONE
Change-Id: Ie528b36cc03d53b15fbfd56a386309a8c3adce73
Reviewed-on: https://webrtc-review.googlesource.com/2681
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19927}
2017-09-22 11:43:51 +00:00
Mirko Bonadei
92ea95e34a Fixing WebRTC after moving from src/webrtc to src/
In https://webrtc-review.googlesource.com/c/src/+/1560 we moved WebRTC
from src/webrtc to src/ (in order to preserve an healthy git history).
This CL takes care of fixing header guards, #include paths, etc...

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


Bug: chromium:611808
Change-Id: Iea91618212bee0af16aa3f05071eab8f93706578
Reviewed-on: https://webrtc-review.googlesource.com/1561
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19846}
2017-09-15 05:02:56 +00:00
Mirko Bonadei
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