The goal of this CL is to separate Obj-C/Obj-C++ code from targets which have
also C++ code (see https://bugs.chromium.org/p/webrtc/issues/detail?id=7743
for more information).
To achieve this we have created 2 targets (audio_device_ios_objc and
audio_device_generic) and audio_device will act as a proxy between these targets
(this way we can avoid a circular dependency between audio_device_generic and
audio_device_ios_objc).
BUG=webrtc:7743
Review-Url: https://codereview.webrtc.org/2991343002
Cr-Commit-Position: refs/heads/master@{#19795}
Fixes some issues related to calling WebRtcAudioManager.setStereoOutput(true)
and WebRtcAudioManager.setStereoInput(true) and ensures that the ADM reports
correct values related to stereo support given these settings.
Also makes it more clear that the OpenSLES audio implementation does not support
stereo (we now fail in Init()).
To summarize: this change ensures that the user can ask for stereo input
and/or stereo output audio on Android in combination with the Java based
audio layer. By default (if no WebRtcAudioManager.setStereoXXX() APIs are called), mono will be used.
BUG=webrtc:7962
Review-Url: https://codereview.webrtc.org/3009193002
Cr-Commit-Position: refs/heads/master@{#19763}
Split out webrtc-specific #defines from typedefs.h, into rtc_base/annotations.h and rtc_base/arch.h.
Also removes the curiously named WEBRTC_CPU_DETECTION #define.
BUG=webrtc:6854
Review-Url: https://codereview.webrtc.org/3007253002
Cr-Commit-Position: refs/heads/master@{#19752}
other macros (e.g. GUARDED_BY) rename postpone to followup CL
since it touches codebase wider
BUG=webrtc:8198
Review-Url: https://codereview.webrtc.org/3004393002
Cr-Commit-Position: refs/heads/master@{#19701}
We use Optional in our public API, so its header should be in
webrtc/api/.
BUG=webrtc:8205
Review-Url: https://codereview.webrtc.org/3011943002
Cr-Commit-Position: refs/heads/master@{#19693}
We use ArrayView in our public API, so its header should be in
webrtc/api/.
BUG=none
Review-Url: https://codereview.webrtc.org/3007763002
Cr-Commit-Position: refs/heads/master@{#19658}
directives in our DEPS files are not needed anymore.
Includes from webrtc/rtc_base are also whitelisted in webrtc/DEPS
so we don't have to whitelist it in all the others DEPS files.
BUG=webrtc:7634
NOTRY=True
Review-Url: https://codereview.webrtc.org/3006583002
Cr-Commit-Position: refs/heads/master@{#19601}
Will remove default implementations as well once landed and removed
in Chrome as well.
These two AudioDeviceModule APIs are removed:
int32_t SetWaveOutVolume(uint16_t volumeLeft, uint16_t volumeRight)
int32_t WaveOutVolume(uint16_t* volumeLeft, uint16_t* volumeRight) const
BUG=webrtc:7306
Review-Url: https://codereview.webrtc.org/3006793002
Cr-Commit-Position: refs/heads/master@{#19581}
Cleanup CL. Start using new AudioRecord.Builder class for creating
AudioRecord Java instances. Exists from API 23.
BUG=webrtc:7962
Review-Url: https://codereview.webrtc.org/3007673002
Cr-Commit-Position: refs/heads/master@{#19571}
These tests are very old and come from a time when we tested each method in the
ADM as if the ADM should function as a standalone component.
Several tests are already disabled and we test combinations of APIs that are no
longer valid (since the ADM is now used in a more fixed way in VoE).
The tests does not verify media (we have other tests under
voice_engine/test/auto_test) which starts media and verifies that it works OK.
There are also a a more extensive set of ADM tests for Android and iOS.
You could also say that these tests tests the most "hardware related parts of
the ADM", but not those that we expose via the VoEHardware API.
Hence, not much value to maintain them imo.
NOTRY=TRUE
BUG=webrtc:7250
Review-Url: https://codereview.webrtc.org/2726433003
Cr-Commit-Position: refs/heads/master@{#19522}
Before this change we could crash in Debug when WebRTC audio was first
interrupted and then resumed again. The reason was that the new audio
stream stems from a new native I/O thread and that triggered thread
checkers. With this change, failing thread checkers are detached when
audio is interrupted to ensure that they don't fail when audio is restarted.
NOTRY=TRUE
Bug: webrtc:8126
Change-Id: Ib36ff6bc942477730aba60066f049ed0c43d3901
Reviewed-on: https://chromium-review.googlesource.com/628716
Commit-Queue: Henrik Andreasson <henrika@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19465}
No longer active with WebRTC, last commit 2014-10-10
BUG=None
NOTRY=True
Review-Url: https://codereview.webrtc.org/2999183002
Cr-Commit-Position: refs/heads/master@{#19403}
Example of new stop sequence:
PID TID
5155 5189 I WebRtcAudioTrack: stopPlayout
5155 5189 I WebRtcAudioTrack: underrun count: 0
5155 5189 I WebRtcAudioTrack: stopThread
5155 5189 I WebRtcAudioTrack: Stopping the AudioTrackThread...
5155 5236 I WebRtcAudioTrack: Stopping and flushing the audio track...
5155 5236 I WebRtcAudioTrack: The audio track has now been stopped.
5155 5189 I WebRtcAudioTrack: AudioTrackThread has now been stopped.
5155 5189 I WebRtcAudioTrack: releaseAudioResources
BUG=b/64692432
Review-Url: https://codereview.webrtc.org/3001703002
Cr-Commit-Position: refs/heads/master@{#19370}
We're encountering a bug where audioRecord.read() can hang for long
enough that stopRecording() fails to join the recording thread (in two
seconds) and returns. In that case, JNI methods get unregistered and
when the recording thread calls nativeDataIsRecorded, it crashes when
it can't find the native method to call.
This version still isn't 100% safe, as the threading sequence still
technically allows for an ordering where (for some reason) the thread
fails to join after the final keepAlive check and long enough for all
the JNI methods to get unregistered, but that seems very unlikely.
BUG=b/64174142
Change-Id: Ie7432a70d0e53bace0885edf35e24bd3f6585399
Reviewed-on: https://chromium-review.googlesource.com/613501
Reviewed-by: Henrik Andreasson <henrika@webrtc.org>
Commit-Queue: Noah Richards <noahric@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19358}
Given the current state of OpenSLES (disabled in many places), making
this a debug line makes more sense than an error.
BUG=none
Change-Id: I16d46d3f8234ebeffe820d92e7a6d7ed3eae11cd
Reviewed-on: https://chromium-review.googlesource.com/611491
Commit-Queue: Henrik Andreasson <henrika@webrtc.org>
Reviewed-by: Henrik Andreasson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19340}
That way, the debug printout will tell us which of x and y that was false.
BUG=none
Review-Url: https://codereview.webrtc.org/2988153003
Cr-Commit-Position: refs/heads/master@{#19297}
All downstream code have been updated to the new location.
In PRESUBMIT.py:
* Remove webrtc/rtc_base from CPP_BLACKLIST
* Add webrtc/rtc_base to LEGACY_API_DIRS
Fix some duplicated paths in
webrtc/modules/audio_processing/test/conversational_speech/BUILD.gn
BUG=webrtc:7634
TBR=kwiberg@webrtc.org
Review-Url: https://codereview.webrtc.org/2976293002
Cr-Commit-Position: refs/heads/master@{#19094}
Patch set 1:
Run a script to replace occurrences of WEBRTC_TRACE logging with the new style, on webrtc/modules/audio_device/linux/audio_device_alsa_linux.cc.
Patch set 2:
- Manually fix log lines not handled by the script
- Adjust local macros that use WEBRTC_TRACE
- Adjust some lines to conform with code style
- Update the included headers
- Remove the now unused object ID variables
BUG=webrtc:5118
Review-Url: https://codereview.webrtc.org/2985443002
Cr-Commit-Position: refs/heads/master@{#19088}
Run a script to replace occurrences of WEBRTC_TRACE logging with the new
style, on webrtc/modules/audio_device/linux/audio_device_alsa_linux.cc.
Patch set 2:
- Manually fix log lines not handled by the script
- Adjust some lines, to conform with code style
- Update the included headers
- Remove the now unused object ID variables
- - This explains why there's so many files edited
BUG=webrtc:5118
TBR=henrika@webrtc.org
Review-Url: https://codereview.webrtc.org/2978083002
Cr-Commit-Position: refs/heads/master@{#19071}
Run a script to replace occurrences of WEBRTC_TRACE logging with the new
style, on webrtc/modules/audio_device/linux/audio_device_alsa_linux.cc.
Patch set 2:
Manually fix log lines not handled by the script, remove unused header
and variable.
I would like to do this will the following files, too:
webrtc/modules/audio_device/..
.../linux/audio_device_alsa_linux.cc
.../linux/audio_device_pulse_linux.cc
.../linux/audio_mixer_manager_alsa_linux.cc
.../linux/audio_mixer_manager_pulse_linux.cc
.../linux/latebindingsymboltable_linux.cc
.../mac/audio_device_mac.cc
.../mac/audio_mixer_manager_mac.cc
.../win/audio_device_core_win.cc
BUG=webrtc:5118
Review-Url: https://codereview.webrtc.org/2978953003
Cr-Commit-Position: refs/heads/master@{#19019}
All downstream code have been updated to the new location.
In PRESUBMIT.py:
* Remove webrtc/rtc_base from CPP_BLACKLIST
* Add webrtc/rtc_base to LEGACY_API_DIRS
Fix some duplicated paths in
webrtc/modules/audio_processing/test/conversational_speech/BUILD.gn
BUG=webrtc:7634
TBR=kwiberg@webrtc.org
Review-Url: https://codereview.webrtc.org/2973183002
Cr-Commit-Position: refs/heads/master@{#18948}
First patch set uses a script attached in an issue comment:
https://bugs.chromium.org/p/webrtc/issues/detail?id=5118#c24
This discards the boilerplate prefix of WEBRTC_TRACE log strings, but it appears to be discarded anyway by all users.
Second patch set removes the header and makes small fixes to four of the log messages.
BUG=webrtc:5118
Review-Url: https://codereview.webrtc.org/2958273002
Cr-Commit-Position: refs/heads/master@{#18941}
I used a command like this to update the paths:
perl -pi -e "s/webrtc\/base/webrtc\/rtc_base/g" `find webrtc/rtc_base -name "*.cc" -o -name "*.h"`
The only manual edit is to add an include of webrtc/rtc_base/checks.h in
webrtc/modules/audio_device/android/opensles_common.h, which likely
was needed due to changed include paths due to 'git cl format'.
BUG=webrtc:7634
NOTRY=True
NOPRESUBMIT=True
Review-Url: https://codereview.webrtc.org/2969653002
Cr-Commit-Position: refs/heads/master@{#18871}
Reland the base->rtc_base without adding stub headers (will be
done in follow-up CL). This preserves git blame history of all files.
BUG=webrtc:7634
NOTRY=True
TBR=kwiberg@webrtc.org
Change-Id: Iea3bb6f3f67b8374c96337b63e8f5aa3e6181012
Reviewed-on: https://chromium-review.googlesource.com/554611
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18821}
This refactoring takes a careful approach to avoid rushing the change:
* stub headers are left in all the old locations of webrtc/base
* existing GN targets are kept and now just forward to the moved ones
using public_deps.
The only exception to the above is the base_java target and its .java files,
which were moved to webrtc/rtc_base right away since it's not possible
to use public_deps for android_library.
To avoid breaking builds, a temporary Dummy.java file was added to
the new intermediate target in webrtc/rtc_base:base_java as well to avoid
hitting a GN assert in the android_library template.
The above approach should make the transition smooth without breaking
downstream.
A helper script was created (https://codereview.webrtc.org/2879203002/)
and was run like this:
stub-headers.py -s webrtc/base -d webrtc/rtc_base -i 7634
stub-headers.py -s webrtc/base/numerics -d webrtc/rtc_base/numerics -i 7634
Fixed invalid header guards in the following files:
webrtc/base/base64.h
webrtc/base/cryptstring.h
webrtc/base/event.h
webrtc/base/flags.h
webrtc/base/httpbase.h
webrtc/base/httpcommon-inl.h
webrtc/base/httpcommon.h
webrtc/base/httpserver.h
webrtc/base/logsinks.h
webrtc/base/macutils.h
webrtc/base/nattypes.h
webrtc/base/openssladapter.h
webrtc/base/opensslstreamadapter.h
webrtc/base/pathutils.h
webrtc/base/physicalsocketserver.h
webrtc/base/proxyinfo.h
webrtc/base/sigslot.h
webrtc/base/sigslotrepeater.h
webrtc/base/socket.h
webrtc/base/socketaddresspair.h
webrtc/base/socketfactory.h
webrtc/base/stringutils.h
webrtc/base/testbase64.h
webrtc/base/testutils.h
webrtc/base/transformadapter.h
webrtc/base/win32filesystem.h
Added new header guards to:
sslroots.h
testbase64.h
BUG=webrtc:7634
NOTRY=True
NOPRESUBMIT=True
R=kwiberg@webrtc.org
Review-Url: https://codereview.webrtc.org/2877023002 .
Cr-Commit-Position: refs/heads/master@{#18816}