Commit Graph

3752 Commits

Author SHA1 Message Date
2c9c83d7ec Remove non-functional asynchronous resampling mode.
A few other cleanups, most notably using a sane parameter to specify the
number of channels.

BUG=chromium:469814
R=tina.legrand@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8894}
2015-03-30 17:08:28 +00:00
45c6449114 Introduce CodecManager and move code from AudioCodingModuleImpl
This change essentially divides AudioCodingModuleImpl into two parts:
one is the code related to managing codecs, now moved into CodecManager,
and the other is what remains in AudioCodingModuleImpl.

This change also removes AudioCodingModuleImpl::InitializeSender. The
function was essentially no-op, since it was always called immediately
after construction.

COAUTHOR=kwiberg@webrtc.org
BUG=4228
R=minyue@webrtc.org, tina.legrand@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8893}
2015-03-30 17:00:54 +00:00
f7b9cf54a6 Suppress "EndToEndTest::ReceivedFecPacketsNotNacked" on Asan, Tsan
BUG=4328
R=kjellander@webrtc.org, pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8892}
2015-03-30 15:26:45 +00:00
842a4a6b50 Add locks to Start(), Stop() methods in ProcessThread.
This is necessary unfortunately since there are a few places where DeRegisterModule does not reliably occur on the same thread.

BUG=4473
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8891}
2015-03-30 14:16:25 +00:00
22e209d4f8 Introduce AudioCodingModuleImpl::current_encoder_
This replaces direct reference into the codecs_ array in many places.
The variables current_send_codec_idx_ and send_codec_registered_ are
replaced.

COAUTHOR=kwiberg@webrtc.org
BUG=4228
R=minyue@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8890}
2015-03-30 13:28:19 +00:00
582f80e95c Clamp decoder sample rate to 32000 in iSAC
We want to crate the illusion that iSAC supports 48000 Hz decoding,
while in fact it outputs 32000 Hz. This is the iSAC fullband mode.

Currently this is (also) handled by higher layers, but in future
changes this will not be the case.

R=tina.legrand@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8889}
2015-03-30 13:01:47 +00:00
451b61469b Fix gyp path for bwe simulator include.
TBR=pbos@webrtc.org

BUG=4479

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

Cr-Commit-Position: refs/heads/master@{#8887}
2015-03-30 07:40:58 +00:00
8e9c67e6a9 Suppress data races in libjingle_peerconnection_unittest
TBR=pbos@webrtc.org
BUG=4488
TESTED=Passing builds with:
out/Release/libjingle_peerconnection_unittest --gtest_filter=PeerConnectionInterfaceTest* --gtest_repeat=100 --gtest_break_on_failure
(reproduces without these suppressions)

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

Cr-Commit-Position: refs/heads/master@{#8886}
2015-03-30 07:39:38 +00:00
6b3ccfc6a6 GN: Cleanup no longer needed libvpx config.
The includes this config provided are now
present just by depending on libvpx.

R=tfarina@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#8884}
2015-03-28 17:28:50 +00:00
819011c35c Additional suppression for TSan deadlock detection
Turns out the one in https://webrtc-codereview.appspot.com/44899004
was not enough to suppress this error.

TBR=pbos@webrtc.org
BUG=4456
TESTED=Passing local TSan run of rtc_unittests

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

Cr-Commit-Position: refs/heads/master@{#8883}
2015-03-27 20:42:19 +00:00
53eda3dbd0 Add tests for r8811.
All these tests crashed before r8811. These tests should've been with
that change but r8811 was pushed in before to make bots green.

BUG=1788, 1667
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8881}
2015-03-27 14:53:30 +00:00
1d36003181 Suppress TSan errors triggered when deadlock detection is enabled.
These are problematic when running with the default TSan
settings which has deadlock detection enabled.
Our bots still run with it disabled but we want to be
able to turn it back on, thus this is needed.

BUG=3911,4456
TESTED=
Successfully executed:
GYP_DEFINES="tsan=1 release_extra_cflags=-g use_allocator=none" webrtc/build/gyp_webrtc
ninja -C out/Release rtc_unittests
out/Release/rtc_unittests

R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8879}
2015-03-27 12:46:47 +00:00
9ff73f5dbf Final minor fix in WebRtcAudioManager
TBR=perkj
BUG=NONE

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

Cr-Commit-Position: refs/heads/master@{#8878}
2015-03-27 10:37:06 +00:00
424694ce79 audio_processing/agc: Put entire method set_output_will_be_muted() under lock
Setting the member value output_will_be_muted_ in set_output_will_be_muted() was done before the lock.
This caused a data race.

BUG=4477
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8877}
2015-03-27 10:30:54 +00:00
8324b525dc Adding playout volume control to WebRtcAudioTrack.java.
Also adds a framework for an AudioManager to be used by both sides (playout and recording).
This initial implementation only does very simple tasks like setting up the correct audio
mode (needed for correct volume behavior). Note that this CL is mainly about modifying
the volume. The added AudioManager is only a place holder for future work. I could have
done the same parts in the WebRtcAudioTrack class but feel that it is better to move these
parts to an AudioManager already at this stage.

The AudioManager supports Init() where actual audio changes are done (set audio mode etc.)
but it can also be used a simple "construct-and-store-audio-parameters" unit, which is the
case here. Hence, the AM now serves as the center for getting audio parameters and then inject
these into playout and recording sides. Previously, both sides acquired their own parameters
and that is more error prone.

BUG=NONE
TEST=AudioDeviceTest
R=perkj@webrtc.org, phoglund@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8875}
2015-03-27 09:56:35 +00:00
bef8d2d020 Add a lock to NSSContext to fix data race
BUG=crbug/466784
R=juberti@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8871}
2015-03-26 21:38:53 +00:00
b8cfa68323 Update speed setting in VP9.
TBR=stefan@webrtc.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#8870}
2015-03-26 20:20:40 +00:00
a990784da3 AcmReceiver: index decoders by payload type instead of ACM codec ID
Change internal indexing of registered decoders. It makes sense because payload type is unique, while ACM codec ID may not be. This is a step towards allowing for addition of external decoders.

R=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8867}
2015-03-26 13:01:37 +00:00
9b5f96e6a2 Add some sanity CHECKs to webrtc::Call.
These checks would help catching double-deletes, forgetting to destroy
streams and also catch if VideoEngine has held on to any stale
references.

BUG=1788
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8866}
2015-03-26 10:26:00 +00:00
c79f7edd4e Fix build error introduced by r8864.
BUG=4323
TBR=pbos@webrtc.org
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8865}
2015-03-26 10:18:49 +00:00
e590416722 Moving the pacer and the pacer thread to ChannelGroup.
This means all channels within the same group will share the same pacing queue and scheduler. It also means padding will be computed and sent by a single pacer. To accomplish this I also introduce a PacketRouter which finds the RTP module which owns the packet to be paced out.

BUG=4323
R=mflodman@webrtc.org, pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8864}
2015-03-26 10:11:22 +00:00
dfa36058c9 Reparent Nonlinear beamformer under beamforming interface.
R=aluebs@webrtc.org, andrew@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8862}
2015-03-25 23:37:33 +00:00
bf395c1fc0 Add WebRTC Media Constraint to force using Delay Agnostic AEC on Android
If built-in Echo Cancellation is available on a device it is automatically enabled. The reason is that it in most cases performs better than the WebRTC software echo control for mobile. The drawback is that we can not develop, test and rollout the delay agnostic AEC (DA-AEC) on Android as for desktops.

This CL includes
- adding a media constraint to enable/disable DA-AEC.
- automatically turning on echo cancellation if DA-AEC is enabled.
- a fix in the AEC that enables delay estimation when DA-AEC is enabled, but delay metrics is disabled.
- sets the Config struct ReportedDelay, which controls DA-AEC internally in the AEC.

The test code to verify that it works in AppRTCDemo can be found here:
https://webrtc-codereview.appspot.com/50479004/

BUG=4472
TESTED=locally on N7, N6, Android One
R=glaznev@webrtc.org, perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8861}
2015-03-25 21:46:10 +00:00
190c3ca7a9 Register sample rate of Audio RED in RTPPayloadRegistry.
Sample rate of RED payload type was not registered. And therefore VoE can fail when it receives RED packets. This is a fix to this problem.

BUG=3619
R=henrik.lundin@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8859}
2015-03-25 15:11:34 +00:00
79064e568e Fix crash on decode found by fuzz tester.
BUG=crbug:468963
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8858}
2015-03-25 14:20:45 +00:00
3fbf99c44a Refactor common_audio/vad: Removed usage of WEBRTC_SPL_MUL_16_16_RSFT
The macro is defined as
#define WEBRTC_SPL_MUL_16_16_RSFT(a, b, c) \
(WEBRTC_SPL_MUL_16_16(a, b) >> (c))

where the latter macro is in C defined as
#define WEBRTC_SPL_MUL_16_16(a, b) \
((int32_t) (((int16_t)(a)) * ((int16_t)(b))))
(For definitions on ARMv7 and MIPS, see common_audio/signal_processing/include/spl_inl_{armv7,mips}.h)

The replacement consists of
- avoiding casts to int16_t if inputs already are int16_t
- adding explicit cast to <type> if result is assigned to <type> (other than int or int32_t)
- minor cleanups like remove of unnecessary parentheses and style changes

BUG=3347, 3348, 3353
TESTED=locally on Linux for both fixed and floating point and trybots
R=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8857}
2015-03-25 13:37:37 +00:00
Per
855acf72d0 Remove video from WebRTC Android example.
This is in preparation to remove the use of the old Video Api and the use of the old video capture module on Android in particular.

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

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

Cr-Commit-Position: refs/heads/master@{#8856}
2015-03-25 13:32:30 +00:00
1ccd8b4281 Refactor common_audio/signal_processing: Removed usage of WEBRTC_SPL_MUL_16_16_RSFT
The macro is defined as
#define WEBRTC_SPL_MUL_16_16_RSFT(a, b, c) \
(WEBRTC_SPL_MUL_16_16(a, b) >> (c))

where the latter macro is in C defined as
#define WEBRTC_SPL_MUL_16_16(a, b) \
((int32_t) (((int16_t)(a)) * ((int16_t)(b))))
(For definitions on ARMv7 and MIPS, see common_audio/signal_processing/include/spl_inl_{armv7,mips}.h)

The replacement consists of
- avoiding casts to int16_t if inputs already are int16_t
- adding explicit cast to <type> if result is assigned to <type> (other than int or int32_t)
- minor cleanups like remove of unnecessary parentheses and style changes

BUG=3348, 3353
TESTED=locally on Linux for both fixed and floating point and trybots
R=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8853}
2015-03-25 12:30:01 +00:00
245989b22a Address comments from cr 43769004.
- Remove unnecessary hop to worker from OnChannelRequestSignaling_s.
- Remove now-not-needed component param.
- Update documentation.

R=juberti@webrtc.org
BUG=4444

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

Cr-Commit-Position: refs/heads/master@{#8852}
2015-03-24 16:56:34 +00:00
0e209b03bf Update bundle behavior to match BundlePolicy spec in http://rtcweb-wg.github.io/jsep/.
BUG=1574
R=juberti@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8851}
2015-03-24 16:30:02 +00:00
4d14592c67 rtc::Buffer: Restore length method for backwards compatibility
TBR=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8845}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8845 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-24 12:52:14 +00:00
deafa7b3c9 Remove I420VideoFrame::SwapFrame
The few remaining uses of this function are replaced with I420VideoFrame assignment, similar to scoped_refptr assignment.

BUG=1128
R=mflodman@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8844}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8844 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-24 12:43:40 +00:00
2d2a30c2e2 Remove I420VideoFrame::CloneFrame
This function is not needed anymore.

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

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

Cr-Commit-Position: refs/heads/master@{#8843}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8843 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-24 12:39:58 +00:00
0b52cebd28 Improve logging and add DCHECKs in codec database.
BUG=
R=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8842}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8842 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-24 11:21:18 +00:00
eebcab5ce9 rtc::Buffer: Rename length to size, for conformance with the STL
And add a constructor for creating an uninitialized Buffer of a
specified size.

(I intend to follow up with more Buffer changes, but since it's rather
widely used, the rename is quite noisy and works better as a separate
CL.)

R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8841}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8841 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-24 09:20:19 +00:00
a3ffc56cee Allow setting thread priorities in Chromium on all but linux platforms.
The previous check was overly broad, so narrowing it down to linux only.

R=pbos@webrtc.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#8837}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8837 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-23 20:11:45 +00:00
9509fbfc30 Split EventWrapper in twain.
I'm splitting the timer functions in EventWrapper into a separate interface.
- Users of the timer functions have different needs than users of a generic event
- Providing a default implementation for EventWrapper that simply uses rtc::Event.

This means that clients of WebRTC that don't use the relatively few classes, typically rendering classes, that depend on the event timer functionality, also don't pull in dependencies on multimedia timers.

R=mflodman@webrtc.org, mflodman
BUG=

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

Cr-Commit-Position: refs/heads/master@{#8833}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8833 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-23 16:25:46 +00:00
2b4ce3a501 Convert webrtc/video/ abort/assert to CHECK/DCHECK.
Also replaces NULL with nullptr. This gives nicer error messages and
keeps style consistent.

BUG=1756
R=magjed@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8831}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8831 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-23 13:13:15 +00:00
41d2befe9f Limit RED audio payload to narrow band.
In SDP, RED audio codec has its own sample rate. Currently, we offer RED/8000 (8 kHz). But the actual send codec can violate this sample rate. The way to solve it is to introduce more RED payload types, e.g., RED/16000, RED/32000.

As a first step towards that, we, in this CL, limit the current RED (RED/8000) to work only with 8 kHz codecs.

BUG=3619
R=henrik.lundin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8830}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8830 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-23 12:58:17 +00:00
1596a4f88b Temporarily disable SetPriority when building with Chromium.
This is due to errors we were hitting with Chromium's sandbox policy for pthread_setschedparam.

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

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

Cr-Commit-Position: refs/heads/master@{#8829}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8829 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-23 12:39:38 +00:00
d4e7d49628 Scaler: Recycle allocations using buffer pool.
BUG=1128
R=stefan@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8828}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8828 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-23 12:28:14 +00:00
09b6ff9460 Disable PLC for iSAC
A codec's packet-loss concealer is called once from NetEq before
decoding the first packet after a packet loss. The purpose is not to
use the PLC output, but to prepare the state of the decoder such that
it may recover faster after the loss. However, this effect is not
achieved by calling iSAC's PLC. Also, there are some problems with the
fixed-point implementation of the PLC (see the associated bug).

BUG=4423
R=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8827}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8827 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-23 12:24:14 +00:00
ee0c5af314 Remove unused version.py script.
This should have been removed back in
https://webrtc-codereview.appspot.com/4899004

TBR=andrew@webrtc.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#8826}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8826 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-23 12:20:18 +00:00
aa0bbab8ec Fix build failure
There was a build failure due to including checks.h. Removed the include.
TBR=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8825}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8825 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-23 11:43:14 +00:00
a4bef3e6c0 AcmReceiver: use std::map instead of an array to keep the list of decoders
R=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8824}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8824 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-23 11:20:31 +00:00
3335a4ffc8 Prevent asserting on unset start bitrate.
Quick fix for crash in WebRtcBrowserTest.NegotiateOfferWithBLine.
Follow-up CL from stefan@ that changes this path is under review.

BUG=1788,1667
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8823}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8823 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-23 09:49:12 +00:00
38492c5b6f 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
2015-03-22 14:42:46 +00:00
90a1cb4630 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
2015-03-22 14:34:46 +00:00
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
4553941d32 Document the 'int' return value of Resampler methods.
Remove an obsolete TODO comment.

R=andrew@webrtc.org
BUG=none

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

Cr-Commit-Position: refs/heads/master@{#8814}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8814 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-20 23:28:39 +00:00