History log of /external/webrtc/webrtc/modules/audio_device/ios/audio_device_ios.mm
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
30166cb1a8d7ca2d67981927d056e60aa58cb1ae 07-Jan-2016 henrika <henrika@webrtc.org> iOS stability improvement for device switching, including BT devices

BUG=webrtc:5058

Review URL: https://codereview.webrtc.org/1554163002

Cr-Commit-Position: refs/heads/master@{#11168}
/external/webrtc/webrtc/modules/audio_device/ios/audio_device_ios.mm
46ad5426b025eddac8e9232014d347e73d27180e 07-Dec-2015 pbos <pbos@webrtc.org> Revert of "Create rtc::AtomicInt POD struct." (patchset #3 id:40001 of https://codereview.webrtc.org/1498953002/ )

Reason for revert:
Broke downstream compile step, possibly relandable when using a MSVC version that has constexpr, other than that I'm out of ideas.

.../webrtc/base/atomicops.h:71:8: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const rtc::AtomicInt&'

Original issue's description:
> Reland of "Create rtc::AtomicInt POD struct."
>
> Relands https://codereview.webrtc.org/1420043008/ with brace initializers
> instead of constructors hoping that they won't introduce static
> initializers.
>
> BUG=
> R=tommi@webrtc.org
>
> Committed: https://crrev.com/84f0970d100e67a1dc4fe9a1b16b7d293302044e
> Cr-Commit-Position: refs/heads/master@{#10920}

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

Review URL: https://codereview.webrtc.org/1505053002

Cr-Commit-Position: refs/heads/master@{#10922}
/external/webrtc/webrtc/modules/audio_device/ios/audio_device_ios.mm
84f0970d100e67a1dc4fe9a1b16b7d293302044e 07-Dec-2015 Peter Boström <pbos@webrtc.org> Reland of "Create rtc::AtomicInt POD struct."

Relands https://codereview.webrtc.org/1420043008/ with brace initializers
instead of constructors hoping that they won't introduce static
initializers.

BUG=
R=tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1498953002 .

Cr-Commit-Position: refs/heads/master@{#10920}
/external/webrtc/webrtc/modules/audio_device/ios/audio_device_ios.mm
c729032b1b31e9064a37d3f862bcf60e3651bdff 02-Dec-2015 henrika <henrika@webrtc.org> Resolves issue with multiple calls to audio unit initialization

BUG=webrtc:5166
R=tkchin@webrtc.org

Review URL: https://codereview.webrtc.org/1472833002 .

Cr-Commit-Position: refs/heads/master@{#10865}
/external/webrtc/webrtc/modules/audio_device/ios/audio_device_ios.mm
34911ad55c4c4c549fe60e1b4cc127420b15666b 20-Nov-2015 henrika <henrika@webrtc.org> Improved error handling in iOS ADM to avoid race during init

BUG=webrtc:5166
R=pbos@webrtc.org, tkchin@webrtc.org

Review URL: https://codereview.webrtc.org/1435293003 .

Cr-Commit-Position: refs/heads/master@{#10728}
/external/webrtc/webrtc/modules/audio_device/ios/audio_device_ios.mm
5a71f03f8bb0bd1691729717ab7ef22b1c3f94a0 17-Nov-2015 henrika <henrika@webrtc.org> Deactivate the audio session after a call ends using the AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation constant
since it is recommended for VoIP apps.

BUG=b/23356406
R=tkchin@webrtc.org

Review URL: https://codereview.webrtc.org/1418483004 .

Cr-Commit-Position: refs/heads/master@{#10673}
/external/webrtc/webrtc/modules/audio_device/ios/audio_device_ios.mm
3c12f4dadb969afb97468aeb1548777bf860085a 17-Nov-2015 pbos <pbos@webrtc.org> Revert of Create rtc::AtomicInt POD struct. (patchset #12 id:220001 of https://codereview.webrtc.org/1420043008/ )

Reason for revert:
Caused static initializers.

BUG=chromium:556866
TBR=tommi@webrtc.org

Original issue's description:
> Create rtc::AtomicInt POD struct.
>
> Prevents accidental non-atomic reads, increments and stores since
> "volatile int" doesn't enforce atomic usage.
>
> BUG=
> R=kwiberg@webrtc.org, tommi@webrtc.org
>
> Committed: https://crrev.com/b27f590ece487819c3d1fda400315e582fb975b6
> Cr-Commit-Position: refs/heads/master@{#10657}

TBR=kwiberg@webrtc.org,tommi@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

Review URL: https://codereview.webrtc.org/1453093002

Cr-Commit-Position: refs/heads/master@{#10669}
/external/webrtc/webrtc/modules/audio_device/ios/audio_device_ios.mm
b27f590ece487819c3d1fda400315e582fb975b6 16-Nov-2015 pbos <pbos@webrtc.org> Create rtc::AtomicInt POD struct.

Prevents accidental non-atomic reads, increments and stores since
"volatile int" doesn't enforce atomic usage.

BUG=
R=kwiberg@webrtc.org, tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1420043008

Cr-Commit-Position: refs/heads/master@{#10657}
/external/webrtc/webrtc/modules/audio_device/ios/audio_device_ios.mm
96839648a0eb09476f07791fdf3ff2facffa9a8a 12-Nov-2015 henrika <henrika@webrtc.org> Trivial initialization fix in AudioDeviceIOS

NOTRY=TRUE
TBR=tkchin
BUG=webrtc:5058

Review URL: https://codereview.webrtc.org/1435003002

Cr-Commit-Position: refs/heads/master@{#10616}
/external/webrtc/webrtc/modules/audio_device/ios/audio_device_ios.mm
ff761fba8274d93bd73e76c8b8a1f2d0776dd840 04-Nov-2015 Henrik Kjellander <kjellander@webrtc.org> modules: more interface -> include renames

This changes the following module directories:
* webrtc/modules/audio_conference_mixer/interface
* webrtc/modules/interface
* webrtc/modules/media_file/interface
* webrtc/modules/rtp_rtcp/interface
* webrtc/modules/utility/interface

To avoid breaking downstream, I followed this recipe:
1. Copy the interface dir to a new sibling directory: include
2. Update the header guards in the include directory to match the style guide.
3. Update the header guards in the interface directory to match the ones in include. This is required to avoid getting redefinitions in the not-yet-updated downstream code.
4. Add a pragma warning in the header files in the interface dir. Example:
#pragma message("WARNING: webrtc/modules/interface is DEPRECATED; "
"use webrtc/modules/include")
5. Search for all source references to webrtc/modules/interface and update them to webrtc/modules/include (*.c*,*.h,*.mm,*.S)
6. Update all GYP+GN files. This required manual inspection since many subdirectories of webrtc/modules referenced the interface dir using ../interface etc(*.gyp*,*.gn*)

BUG=5095
TESTED=Passing compile-trybots with --clobber flag:
git cl try --clobber --bot=win_compile_rel --bot=linux_compile_rel --bot=android_compile_rel --bot=mac_compile_rel --bot=ios_rel -m tryserver.webrtc

R=stefan@webrtc.org, tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1417683006 .

Cr-Commit-Position: refs/heads/master@{#10500}
/external/webrtc/webrtc/modules/audio_device/ios/audio_device_ios.mm
45c136b579c04c6cbf5f3ea77e7f8171d48a5890 21-Oct-2015 henrika <henrika@webrtc.org> Adds support for Bluetooth headsets to the iOS audio layer.

This patch also also ensures that audio is restored after an incoming
GSM call.

BUG=webrtc:5058, webrtc:5012
TEST=Manual tests using modified AppRTCDemo and three different BT headsets

Review URL: https://codereview.webrtc.org/1401963002

Cr-Commit-Position: refs/heads/master@{#10354}
/external/webrtc/webrtc/modules/audio_device/ios/audio_device_ios.mm
8c471e7bdfc3bd420d19af118b2bdf8fd716288e 01-Oct-2015 henrika <henrika@webrtc.org> Objective-C++ style guide changes for iOS ADM

BUG=NONE

Review URL: https://codereview.webrtc.org/1379583002

Cr-Commit-Position: refs/heads/master@{#10135}
/external/webrtc/webrtc/modules/audio_device/ios/audio_device_ios.mm
91d6edef35e7275879c30ce16ecb8b6dc73c6e4a 17-Sep-2015 henrikg <henrikg@webrtc.org> Add RTC_ prefix to (D)CHECKs and related macros.

We must remove dependency on Chromium, i.e. we can't use Chromium's base/logging.h. That means we need to define these macros in WebRTC also when doing Chromium builds. And this causes redefinition.

Alternative solutions:
* Check if we already have defined e.g. CHECK, and don't define them in that case. This makes us depend on include order in Chromium, which is not acceptable.
* Don't allow using the macros in WebRTC headers. Error prone since if someone adds it there by mistake it may compile fine, but later break if a header in added or order is changed in Chromium. That will be confusing and hard to enforce.
* Ensure that headers that are included by an embedder don't include our macros. This would require some heavy refactoring to be maintainable and enforcable.
* Changes in Chromium for this is obviously not an option.

BUG=chromium:468375
NOTRY=true

Review URL: https://codereview.webrtc.org/1335923002

Cr-Commit-Position: refs/heads/master@{#9964}
/external/webrtc/webrtc/modules/audio_device/ios/audio_device_ios.mm
86d907cffda803ee34ee68f9833c1980d1b9f7a6 07-Sep-2015 henrika <henrika@webrtc.org> Refactor the AudioDevice for iOS and improve the performance and stability

This CL contains major modifications of the audio output parts for WebRTC on iOS:
- general code cleanup
- improves thread handling (added thread checks, remove critical section, atomic ops etc.)
- reduces loopback latency of iPhone 6 from ~90ms to ~60ms ;-)
- improves selection of audio parameters on iOS
- reduces complexity by removing complex and redundant delay estimates
- now instead uses fixed delay estimates if for some reason the SW EAC must be used
- adds AudioFineBuffer to compensate for differences in native output buffer size and
the 10ms size used by WebRTC. Same class as is used today on Android and we have unit tests for
this class (the old code was buggy and we have several issue reports of crashes related to it)

Similar improvements will be done for the recording sid as well in a separate CL.
I will also add support for 48kHz in an upcoming CL since that will improve Opus performance.

BUG=webrtc:4796,webrtc:4817,webrtc:4954, webrtc:4212
TEST=AppRTC demo and iOS modules_unittests using --gtest_filter=AudioDevice*
R=pbos@webrtc.org, tkchin@webrtc.org

Review URL: https://codereview.webrtc.org/1254883002 .

Cr-Commit-Position: refs/heads/master@{#9875}
/external/webrtc/webrtc/modules/audio_device/ios/audio_device_ios.mm
1380e266ff48be9718ce0867cfd65058cb09c5fc 29-Aug-2015 Peter Kasting <pkasting@google.com> Convert some more things to size_t.

These changes stem from requests by Andrew on https://codereview.webrtc.org/1228823002/ to eliminate some "return -1"s and change to using asserts plus returning size_ts. I then also converted the relevant connected bits.

This also cleans up a bunch of style issues, e.g. no spaces around operators.

BUG=chromium:81439
TEST=none
R=andrew@webrtc.org, henrik.lundin@webrtc.org, niklas.enbom@webrtc.org

Review URL: https://codereview.webrtc.org/1305983003 .

Cr-Commit-Position: refs/heads/master@{#9813}
/external/webrtc/webrtc/modules/audio_device/ios/audio_device_ios.mm
4de6622bccb0e8ba3dff9de26ca69e3adf7a4eba 10-Aug-2015 Jiawei Ou <jiawei.ou@gmail.com> Fix a bug in computing audio delay on ios device. Converts seconds to
milliseconds by multiplying 1000 instead of dividing 1000.

BUG=
R=tkchin@webrtc.org

Review URL: https://codereview.webrtc.org/1265823003 .

Patch from Jiawei Ou <jiawei.ou@gmail.com>.

Cr-Commit-Position: refs/heads/master@{#9693}
/external/webrtc/webrtc/modules/audio_device/ios/audio_device_ios.mm
324d9c9a86e2fa331234eb0fa227845fde9f0317 20-Jul-2015 henrika <henrika@webrtc.org> Avoids error message about unknown selected data source for Port iPhone Microphone

TBR=tkchin
BUG=webrtc:4845
TEST=modules_unittests

Review URL: https://codereview.webrtc.org/1237233003 .

Cr-Commit-Position: refs/heads/master@{#9602}
/external/webrtc/webrtc/modules/audio_device/ios/audio_device_ios.mm
ba35d05a4918b3efa7ab88674781aadb48017ff8 14-Jul-2015 henrika <henrika@webrtc.org> Cleanup of iOS AudioDevice implementation

TBR=tkchin
BUG=webrtc:4789
TEST=modules_unittests --gtest_filter=AudioDeviceTest* and AppRTCDemo

Review URL: https://codereview.webrtc.org/1206783002 .

Cr-Commit-Position: refs/heads/master@{#9578}
/external/webrtc/webrtc/modules/audio_device/ios/audio_device_ios.mm
9303eaf512dde59d97298f74afdd250f4bc0c347 27-May-2015 Noah Richards <noahric@chromium.org> Don't unnecessarily set mode/category on AVAudioSession.

Doing so clears transient properties on the session back to defaults.

BUG=
R=tkchin@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/52589004

Cr-Commit-Position: refs/heads/master@{#9297}
/external/webrtc/webrtc/modules/audio_device/ios/audio_device_ios.mm
38492c5b6fbb615159fa32b9cc24cd887295573b 22-Mar-2015 tommi@webrtc.org <tommi@webrtc.org> Re-land 8810 "- Add a SetPriority method to ThreadWr..."

> Revert 8810 "- Add a SetPriority method to ThreadWrapper"
> Seeing if this is causing roll issues.
>
> > - Add a SetPriority method to ThreadWrapper
> > - Remove 'priority' from CreateThread and related member variables from implementations
> > - Make supplying a name for threads, non-optional
> >
> > BUG=
> > R=magjed@webrtc.org
> >
> > Review URL: https://webrtc-codereview.appspot.com/44729004
>
> TBR=tommi@webrtc.org
>
> Review URL: https://webrtc-codereview.appspot.com/48609004

TBR=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/50459005

Cr-Commit-Position: refs/heads/master@{#8819}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8819 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/modules/audio_device/ios/audio_device_ios.mm
90a1cb463092c5189b1a69837731a3395d79f61c 22-Mar-2015 tommi@webrtc.org <tommi@webrtc.org> Revert 8810 "- Add a SetPriority method to ThreadWrapper"
Seeing if this is causing roll issues.

> - Add a SetPriority method to ThreadWrapper
> - Remove 'priority' from CreateThread and related member variables from implementations
> - Make supplying a name for threads, non-optional
>
> BUG=
> R=magjed@webrtc.org
>
> Review URL: https://webrtc-codereview.appspot.com/44729004

TBR=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/48609004

Cr-Commit-Position: refs/heads/master@{#8818}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8818 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/modules/audio_device/ios/audio_device_ios.mm
b6817d793fa647ec77aaaaf74df82a94e46632bb 20-Mar-2015 tommi@webrtc.org <tommi@webrtc.org> - Add a SetPriority method to ThreadWrapper
- Remove 'priority' from CreateThread and related member variables from implementations
- Make supplying a name for threads, non-optional

BUG=
R=magjed@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/44729004

Cr-Commit-Position: refs/heads/master@{#8810}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8810 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/modules/audio_device/ios/audio_device_ios.mm
361981faa86668cd9b20a2837d0b166fc024cd9b 19-Mar-2015 tommi@webrtc.org <tommi@webrtc.org> Use scoped_ptr for ThreadWrapper::CreateThread.

BUG=
R=henrika@webrtc.org, pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/45799004

Cr-Commit-Position: refs/heads/master@{#8794}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8794 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/modules/audio_device/ios/audio_device_ios.mm
86639737b83d8877abc4810100e30a8af863189d 13-Mar-2015 pbos@webrtc.org <pbos@webrtc.org> Remove thread id from ThreadWrapper::Start().

Removes ThreadPosix::InitParams and a corresponding wait for an event.
This unblocks ThreadPosix::Start which had to wait for thread scheduling
for an event to trigger on the spawned thread, giving faster Start()
calls.

BUG=4413
R=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/43699004

Cr-Commit-Position: refs/heads/master@{#8709}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8709 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/modules/audio_device/ios/audio_device_ios.mm
122caa51b145f0d28f7b260cdb044631df395eee 15-Jul-2014 tkchin@webrtc.org <tkchin@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> After an audio interruption the audio unit no longer invokes its render callback, which results in a loss of audio. Restarting the audio unit post interruption fixes the issue.

CL also replaces deprecated AudioSession calls with equivalent AVAudioSession ones.

BUG=3487
R=glaznev@webrtc.org, noahric@chromium.org

Review URL: https://webrtc-codereview.appspot.com/21769004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6697 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/modules/audio_device/ios/audio_device_ios.mm