21 Commits

Author SHA1 Message Date
Max Morin
84cab205f5 UMA log for audio_device Init and Start(Playout|Recording). Make Init return a more specific error code, if possible.
BUG=webrtc:5761
R=asapersson@webrtc.org, henrika@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13361}
2016-07-01 11:35:31 +00:00
kwiberg
f01633e667 Replace scoped_ptr with unique_ptr in webrtc/modules/audio_device/
BUG=webrtc:5520

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

Cr-Commit-Position: refs/heads/master@{#11740}
2016-02-24 13:00:45 +00:00
andrew
2bc63a1dd3 clang-format audio_device/mac.
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#11212}
2016-01-11 23:59:25 +00:00
andrew
ec80f03b3c Check the mic volume only periodically on Mac.
Ask the OS for the mic volume every 1 second rather than with every 10
ms chunk. The previous behavior was consuming ~2% of the CPU load of
a voice engine call, and is now negligible.

This is consistent with the webrtc Windows Core Audio implementation,
as well as the Chromium Mac implementation:
https://code.google.com/p/chromium/codesearch#chromium/src/media/audio/agc_audio_stream.h

TEST=voe_cmd_test with AGC continues to work well on Mac.

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

Cr-Commit-Position: refs/heads/master@{#11182}
2016-01-08 09:16:25 +00:00
Peter Boström
8c38e8b9b9 Clean up PlatformThread.
* Move PlatformThread to rtc::.
* Remove ::CreateThread factory method.
* Make non-scoped_ptr from a lot of invocations.
* Make Start/Stop void.
* Remove rtc::Thread priorities, which were unused and would collide.
* Add ::IsRunning() to PlatformThread.

BUG=
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10812}
2015-11-26 16:45:57 +00:00
pbos
12411ef40e Move ThreadWrapper to ProcessThread in base.
Also removes all virtual methods. Permits using a thread from
rtc_base_approved (namely event tracing).

BUG=webrtc:5158
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10760}
2015-11-23 22:48:01 +00:00
Henrik Kjellander
98f53510b2 system_wrappers: rename interface -> include
BUG=webrtc:5095
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10438}
2015-10-28 17:17:50 +00:00
braveyao@webrtc.org
346a64b9b5 Mac would force bluetooth playout working with 8kHz/1ch if capturing/rendering shares the same device, e.g. changing from 44.1kHz/2ch as default.
So in the HandleStreamFormatChange() callback, we need to re-initiate the playout as same as what we do in InitPlayout(). Here we merely copy those codes out from InitPlayout() into a new SetDesiredPlayoutFormat() function for the invoking from the two places.
Previously, HandleStreamFormatChange only re-creates the AudioConverter, which is not enough. We also need to reset the buffer size and refresh the latency.

BUG=4240
TEST=Manual Test
R=andrew@webrtc.org, henrika@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8815}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8815 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-21 01:06:14 +00:00
pbos@webrtc.org
86639737b8 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
2015-03-13 00:07:45 +00:00
braveyao@webrtc.org
5c72922c75 Remove unused member functions in audio_device_mac.h, which would cause compiling warning with clang -Wthread-safety-anaysis. Reported and fixed by mozilla. Imported here(We don't have any problem since we suppressed those warning in r7961).
BUG=4362
TEST=AutoTest
R=henrika@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8681}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8681 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-11 11:10:44 +00:00
tommi@webrtc.org
d43bdf50c5 Rewrite ThreadPosix.
This is the same change as already made for Windows:
https://webrtc-codereview.appspot.com/37069004/

* Remove "dead" and "alive" variables.
* Remove critical section
* Remove implementation of SetNotAlive()
* Always set thread name
* Add thread checks for correct usage.

* Changed AudioDeviceMac to create/start/stop/delete thread objects for playout and recording, inside the respective start and stop method.  The reason for this is because the AudioDeviceMac instance is currently being created on one thread and the above Start/Stop methods are being called on a different thread.  So, my change makes creation, start/stop, deletion of the thread objects always happen on the same thread.

I'm making CurrentThreadId() in rtc_base_approved more visible so that it can be used  from there instead of inside webrtc. Down the line we will have more thread concepts in rtc_base_approved, so I put a TODO for myself to move this functionality to there once we do.

R=henrika@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8235}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8235 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-03 16:30:21 +00:00
kjellander@webrtc.org
556caffb36 GN: Fix build for Mac
BUG=4105
R=henrika@webrtc.org, pbos@webrtc.org, perkj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7961 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-19 13:28:37 +00:00
andrew@webrtc.org
c7c432aa9b Remove AudioDevice::{Microphone,Speaker}IsAvailable.
This was only used for logging, except on Mac, where the methods are
now private.

BUG=3132
R=henrika@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5831 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-02 16:49:26 +00:00
niklas.enbom@webrtc.org
cc9238e385 Fix OSX keydown detection. I noticed that the OSX implementation differs from Linux and Windows, and it will trigger continuously for a key that is pressed down. It would totally make sense to change this to a callback driven model, but that's a bigger change.
I need to test this before committing...

R=tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4550 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-15 14:19:12 +00:00
pbos@webrtc.org
811269df40 Include files from webrtc/.. paths in audio_device/.
BUG=1662
R=xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4330 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-11 13:24:38 +00:00
pbos@webrtc.org
d900e8bea8 Proper spacing for end-of-namespace comments.
BUG=
R=mflodman@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4293 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-03 15:12:26 +00:00
andrew@webrtc.org
569fdef732 Revert some variables to uint32_t to fix compile errors on Mac gcc.
TBR=xians

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4199 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-08 00:43:25 +00:00
andrew@webrtc.org
6f69eb78dd Allow audio devices with up to 64 channels on Mac.
Does not increase memory requirements. Adds an additional check to ensure
configurations requiring more memory per IO block than the input ring buffer
contains are rejected.

BUG=1904
TESTED=Using Soundflower (64 channels) at 48 kHz as input gives good quality.
Selecting a higher sample rate (96 kHz), which would otherwise give choppy
audio, instead results in an error.

R=henrika@webrtc.org, xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4198 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-07 17:56:50 +00:00
niklas.enbom@webrtc.org
3be565b502 Refactoring for typing detection
R=henrika@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3976 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-07 21:04:24 +00:00
pbos@webrtc.org
2550988baa WebRtc_Word32 -> int32_t in audio_device/
BUG=314

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3793 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-09 10:30:35 +00:00
andrew@webrtc.org
14b43beb7c Move src/ -> webrtc/
TBR=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2963 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-22 18:19:23 +00:00