774 Commits

Author SHA1 Message Date
solenberg
4bac9c53da Change SetOutputScaling to set a single level, not left/right levels.
BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#10234}
2015-10-09 09:32:58 +00:00
solenberg
0b67546d8c Remove default receive channel from WVoE; baby step 1.
Rx AGC config bits copied from https://codereview.webrtc.org/1315903004.

BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#10233}
2015-10-09 08:37:17 +00:00
torbjorng
eefbc3bbd7 Revert of Remove AudioTrackRenderer (patchset #3 id:40001 of https://codereview.webrtc.org/1399553003/ )
Reason for revert:
Breaks Chrome since its build files were not updated prior to file removal.

Original issue's description:
> - Remove AudioTrackRenderer.
> - Remove AddChannel/RemoveChannel from AudioRenderer interface.
>
> BUG=webrtc:4690
>
> Committed: https://crrev.com/1c0bb386b67835feb5934f503dddfe0912bce3ac
> Cr-Commit-Position: refs/heads/master@{#10226}

TBR=tommi@webrtc.org,solenberg@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#10228}
2015-10-08 20:10:40 +00:00
solenberg
1c0bb386b6 - Remove AudioTrackRenderer.
- Remove AddChannel/RemoveChannel from AudioRenderer interface.

BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#10226}
2015-10-08 19:49:53 +00:00
Peter Boström
0c4e06b4c6 Use suffixed {uint,int}{8,16,32,64}_t types.
Removes the use of uint8, etc. in favor of uint8_t.

BUG=webrtc:5024
R=henrik.lundin@webrtc.org, henrikg@webrtc.org, perkj@webrtc.org, solenberg@webrtc.org, stefan@webrtc.org, tina.legrand@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10196}
2015-10-07 10:23:32 +00:00
solenberg
d97ec30ce4 Remove default receive channel from WVoE; baby step 0.
Cleanup + add thread checker DCHECKs to various method in WebRtcVoiceEngine/MediaChannel.

BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#10194}
2015-10-07 08:40:38 +00:00
stefan
1d8a506405 Add a PacketOptions struct to webrtc::Transport.
This allows us to pass packet meta data, such as transport sequence
number, to libjingle and further down to the socket implementation. A
similar struct already exist in libjingle, see rtc::PacketOptions in asyncpacketsocket.h.

BUG=4173

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

Cr-Commit-Position: refs/heads/master@{#10144}
2015-10-02 10:39:40 +00:00
pbos
da903eaabb Unify newapi::RtcpMode and RTCPMethod.
BUG=webrtc:1695
R=solenberg@webrtc.org, stefan@webrtc.org
TBR=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10143}
2015-10-02 09:37:18 +00:00
peah
5aaa9b4fe4 Removed unused API functions in AudioProcessing and AudioProcessingModule
BUG=

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

Cr-Commit-Position: refs/heads/master@{#10138}
2015-10-02 06:58:21 +00:00
solenberg
5b14b42e93 Remove unused SignalMediaError and infrastructure.
BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#10133}
2015-10-01 11:10:40 +00:00
magjed
b09b660c53 Remove cricket::VideoFrame::Set/GetElapsedTime()
This CL is a baby step towards consolidating the timestamps in cricket::VideoFrame and webrtc::VideoFrame, so that we can unify the frame classes in the future.

The elapsed time functionality is not really used. If a video sink wants to know the elapsed time since the first frame they can store the first timestamp themselves and calculate the time delta to later frames. This is already done in all video sinks that need the elapsed time. Having redundant timestamps in the frame classes is confusing and error prone.

TBR=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10131}
2015-10-01 10:03:05 +00:00
solenberg
dfc8f4ff87 Change 'mute' parameter of MediaChannel::SetAudioSend()/SetVideoSend() to 'enable'.
BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#10130}
2015-10-01 09:32:41 +00:00
solenberg
63b345441a Simplify handling of options in WebRtcVoiceMediaEngine.
Also removes unnecessary typedef ChannelList.

BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#10107}
2015-09-29 13:06:36 +00:00
pbos
2d566686a2 Unify Transport and newapi::Transport interfaces.
BUG=webrtc:1695
R=stefan@webrtc.org
TBR=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10096}
2015-09-28 16:59:36 +00:00
Peter Boström
34fbfff068 Remove VideoMediaChannel::SetRender().
Was a no-op in current implementation.

BUG=
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10059}
2015-09-24 17:20:36 +00:00
solenberg
4a3ccad29e Remove SetAudioDelayOffset() and friends.
BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#10047}
2015-09-24 10:53:14 +00:00
solenberg
61e933eac7 Remove ChannelManager::GetCapabilities()
BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#10045}
2015-09-24 08:45:41 +00:00
deadbeef
cbecd358e0 Reland of TransportController refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/1358413003/ )
Reason for revert:
This CL just landed: https://codereview.chromium.org/1323243006/

Which fixes the FYI bots for the original CL, and breaks them for this revert.

Original issue's description:
> Revert of TransportController refactoring. (patchset #6 id:100001 of https://codereview.webrtc.org/1350523003/ )
>
> Reason for revert:
> This CL causes problems with the WebRTC-in-Chromium FYI bots. Presumably it needs to be done in several steps, where removed files are emptied instead of removed in the first step.
>
> Original issue's description:
> > TransportController refactoring.
> >
> > Getting rid of TransportProxy, and in its place adding a
> > TransportController class which will facilitate access to and manage
> > the lifetimes of Transports. These Transports will now be accessed
> > solely from the worker thread, simplifying their implementation.
> >
> > This refactoring also pulls Transport-related code out of BaseSession.
> > Which means that BaseChannels will now rely on the TransportController
> > interface to create channels, rather than BaseSession.
> >
> > Committed: https://crrev.com/47ee2f3b9f33e8938948c482c921d4e13a3acd83
> > Cr-Commit-Position: refs/heads/master@{#10022}
>
> TBR=pthatcher@webrtc.org,deadbeef@webrtc.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://crrev.com/a81a42f584baa0d93a4b93da9632415e8922450c
> Cr-Commit-Position: refs/heads/master@{#10024}

TBR=pthatcher@webrtc.org,torbjorng@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#10036}
2015-09-23 18:50:31 +00:00
Fredrik Solenberg
d0b5b091e4 Add myself as OWNER of webrtc/voice_engine and talk/media/webrtc.
BUG=webrtc:4690
R=mflodman@webrtc.org, tina.legrand@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10035}
2015-09-23 15:15:29 +00:00
henrika
c14f5ff60f Improving support for Android Audio Effects in WebRTC.
Now also supports AGC and NS effects and adds the possibility
to override default settings.

R=magjed@webrtc.org, pbos@webrtc.org, sophiechang@chromium.org
TBR=perkj
BUG=NONE

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

Cr-Commit-Position: refs/heads/master@{#10030}
2015-09-23 12:09:40 +00:00
Peter Boström
d5c75b1a0b Reduce LS_INFO spam from voice_engine/.
Removes ShouldIgnoreTrace from WebRtcVoiceEngine and removes the spammy
log instances instead. Also removes trace-style logging from getters
(::GetLocalSSRC() for instance would print what SSRC it got, spamming
the log).

BUG=
R=henrika@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10028}
2015-09-23 11:24:43 +00:00
Fredrik Solenberg
7d173362d0 Remove the [Un]RegisterVoiceProcessor() API.
BUG=webrtc:4690
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10027}
2015-09-23 10:23:31 +00:00
Fredrik Solenberg
09677342ae Remove VoEFile from VoeWrapper and the remaining places in libjingle where it was being used.
BUG=webrtc:4690
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10026}
2015-09-23 10:05:47 +00:00
torbjorng
a81a42f584 Revert of TransportController refactoring. (patchset #6 id:100001 of https://codereview.webrtc.org/1350523003/ )
Reason for revert:
This CL causes problems with the WebRTC-in-Chromium FYI bots. Presumably it needs to be done in several steps, where removed files are emptied instead of removed in the first step.

Original issue's description:
> TransportController refactoring.
>
> Getting rid of TransportProxy, and in its place adding a
> TransportController class which will facilitate access to and manage
> the lifetimes of Transports. These Transports will now be accessed
> solely from the worker thread, simplifying their implementation.
>
> This refactoring also pulls Transport-related code out of BaseSession.
> Which means that BaseChannels will now rely on the TransportController
> interface to create channels, rather than BaseSession.
>
> Committed: https://crrev.com/47ee2f3b9f33e8938948c482c921d4e13a3acd83
> Cr-Commit-Position: refs/heads/master@{#10022}

TBR=pthatcher@webrtc.org,deadbeef@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#10024}
2015-09-23 09:24:27 +00:00
deadbeef
47ee2f3b9f TransportController refactoring.
Getting rid of TransportProxy, and in its place adding a
TransportController class which will facilitate access to and manage
the lifetimes of Transports. These Transports will now be accessed
solely from the worker thread, simplifying their implementation.

This refactoring also pulls Transport-related code out of BaseSession.
Which means that BaseChannels will now rely on the TransportController
interface to create channels, rather than BaseSession.

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

Cr-Commit-Position: refs/heads/master@{#10022}
2015-09-22 22:08:31 +00:00
solenberg
c1a1b353ec Remove the SetLocalMonitor() API.
BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#10020}
2015-09-22 20:31:28 +00:00
torbjorng
07d09364b0 Purge nss files and dependencies.
This replaces https://codereview.webrtc.org/1313233005
which was reverted after triggering Chromium issues.
The only difference is that we're cleaned up dependencies
on use_openssl from the gyp file.

Since https://codereview.chromium.org/1358913003 landed,
this CL should cause no Chromium issues.

BUG=webrtc:4497

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

Cr-Commit-Position: refs/heads/master@{#10019}
2015-09-22 18:58:13 +00:00
solenberg
22011c1b54 Remove Channel::SetRingbackTone() and Channel::PlayRingbackTone(), and the code beneath it (within libjingle).
BUG=webrtc:4690
TBR=juberti

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

Cr-Commit-Position: refs/heads/master@{#10011}
2015-09-22 10:12:49 +00:00
Guo-wei Shieh
8902433a43 Revert "TransportController refactoring."
This reverts commit 9af63f473e1d0d6c47a741a046c41642dfc1c178.

Cr-Commit-Position: refs/heads/master@{#9994}
2015-09-18 20:50:31 +00:00
deadbeef
9af63f473e TransportController refactoring.
Getting rid of TransportProxy, and in its place adding a
TransportController class which will facilitate access to and manage
the lifetimes of Transports. These Transports will now be accessed
solely from the worker thread, simplifying their implementation.

This refactoring also pulls Transport-related code out of BaseSession.
Which means that BaseChannels will now rely on the TransportController
interface to create channels, rather than BaseSession.

This CL also adds some unit tests, and does some renaming.
For example, from "CandidateReady" to "CandidateGathered".

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

Cr-Commit-Position: refs/heads/master@{#9993}
2015-09-18 19:56:02 +00:00
Stefan Holmer
586b19bdb6 Enable probing with repeated payload packets by default.
To make this possible padding only packets will have the same timestamp
as the previously sent media packet, as long as RTX is not enabled. This
has the side effect that if we send only padding for a long time without
sending media, a receive-side jitter buffer could potentially overflow.

In practice this shouldn't be an issue, partly because RTX is recommended and
used by default, but also because padding typically is terminated before being
received by a client. It is also not an issue for bandwidth estimation as long
as abs-send-time is used instead of toffset.

BUG=chromium:425925
R=mflodman@webrtc.org, sprang@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9984}
2015-09-18 09:14:42 +00:00
henrikg
71df77bba0 Remove overridden basictypes.h.
* Use (u)intxx_t for (u)intxx typedefs for all platforms.
* Always include stdint.h.
* Add RTC_ prefix to ARCH_XXX macros.

Chromium did the (u)intxx_t change in
https://codereview.chromium.org/117323010 and
https://codereview.chromium.org/639293007

BUG=chromium:468375
TBR=perkj@webrtc.org (for trivial talk/* changes)
NOTRY=true
NOPRESUBMIT=true

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

Cr-Commit-Position: refs/heads/master@{#9983}
2015-09-18 08:48:39 +00:00
Peter Boström
ac547a6538 Remove channel ids from various interfaces.
Starts by removing channel/engine id from ViEChannel which propagates
down to the RTP/RTCP module as well as the transport class.

IncomingVideoStream::RenderFrame() is untouched for now but receives a
fake id instead of the previous channel id. Added a TODO to remove it
later but the RenderFrame call is implemented in a lot of
platform-dependent files and should probably remove the "manager" aspect
of renderers, so preferring to do it separately

BUG=webrtc:1695
R=henrika@webrtc.org, mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9978}
2015-09-17 21:06:02 +00:00
Fredrik Solenberg
b071a19019 Full use of NnChannel::SetSendParameters and NnChannel::SetRecvParameters.
SetOptions(), SetMaxBandwidth(), Set[Send|Recv]RtpHeaderExtensions(), Set[Send|Recv]Codecs() are now private.

BUG=webrtc:4690
R=pbos@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9973}
2015-09-17 14:43:06 +00:00
Peter Boström
f2bfc2b8ef Remove some dead code.
WebRtcPassthroughRender has been dead since webrtcvideoengine.cc was
removed, FakeExternalTransport has probably been unused for a long time.

BUG=webrtc:1695
R=henrika@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9968}
2015-09-17 11:04:21 +00:00
henrikg
91d6edef35 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}
2015-09-17 07:24:51 +00:00
henrikg
384194369b Consolidate constructormagic macros with Chromium version and remove Chromium override.
Part of work removing dependency on Chromium's base.

Only adds "= delete". From https://codereview.chromium.org/1151443003 :
"This will guarantee the error to be at compile time, and not rely on the call visibility (private)."

In consequence of that change, fixed an illegal copy and removed a bunch of unused variables.

Depends on https://codereview.webrtc.org/1345433002/

BUG=chromium:468375
(in particular comment #37)
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#9954}
2015-09-16 13:33:25 +00:00
henrikg
3c089d751e Add RTC_ prefix to contructormagic 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.

* DISALLOW_ASSIGN -> RTC_DISALLOW_ASSIGN
* DISALLOW_COPY_AND_ASSIGN -> RTC_DISALLOW_COPY_AND_ASSIGN
* DISALLOW_IMPLICIT_CONSTRUCTORS -> RTC_DISALLOW_IMPLICIT_CONSTRUCTORS

Related CL: https://codereview.webrtc.org/1335923002/

BUG=chromium:468375
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#9953}
2015-09-16 12:37:52 +00:00
Fredrik Solenberg
709ed67c38 Move instantiation of webrtc::Call into a MediaController class so that it can be used for both audio and video media channels.
I'm not super happy with the GetVoE() function added on MediaEngineInterface, but this will eventually be gone, once webrtc::Call owns the shared VoE state (or initially, maps ADM* to an implicitly created VoE).

BUG=webrtc:4690
R=pbos@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9939}
2015-09-15 10:26:45 +00:00
pbos
1cb121dea4 Reset frame timestamp epoch for new capturers.
Incoming frames usually have an epoch of time since the capturer was
created or similar, not any fixed-time epoch. As such, setting a new
capturer resulted in delivering frames with older timestamps which
caused these frames to be dropped before encoding.

BUG=webrtc:4994
R=stefan@webrtc.org
TBR=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9934}
2015-09-14 18:38:43 +00:00
solenberg
1dd98f3219 - Rename VoiceChannel::MuteStream() -> SetAudioSend() (incl. media channel)
- Rename VideoChannel::MuteStream() -> SetVideoSend() (incl. media channel)
- Collapse NnChannel::SetChannelOptions() into the above.
- Collapse VoiceChannel::SetLocalRenderer into SetAudioSend().

BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#9915}
2015-09-10 08:57:20 +00:00
Magnus Jedvert
f6901b06b8 Remove NullVideoFrame
This class is not used.

R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9910}
2015-09-09 16:57:48 +00:00
Peter Boström
2feafdb742 Enable automatic resizing for RTX-enabled senders.
These were accidentally disabled due to checking ssrcs_.size() (which
includes RTX SSRCs) instead of rtp.ssrcs.size() to determine whether a
stream is simulcast or not.

BUG=webrtc:4965
R=asapersson@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9907}
2015-09-09 12:32:30 +00:00
solenberg
66f43392a3 Remove [Voice|Video]MediaChannel::GetOptions().
BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#9904}
2015-09-09 08:36:31 +00:00
ivoc
b04965ccf8 Hooked up RtcEventLog. It lives in Voice Engine and pointers are propagated to ACM and Call.
An option was added to voe_cmd_test to make a RtcEventLog dump.

BUG=webrtc:4741

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

Cr-Commit-Position: refs/heads/master@{#9901}
2015-09-09 07:09:49 +00:00
stefan
68786d2040 Wire up PacketTime to ReceiveStreams.
BUG=webrtc:4758

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

Cr-Commit-Position: refs/heads/master@{#9892}
2015-09-08 12:36:23 +00:00
solenberg
e526974759 Make LoadObserver settable per video send stream. Gives client flexibility and makes the implementation slightly simpler. See discussion in: https://codereview.webrtc.org/1269863005/
BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#9891}
2015-09-08 12:13:25 +00:00
Åsa Persson
1c7d48d431 Let max default bitrate depend on resolution when configuring one video stream (was previously always 2Mbps).
Is now set to:
<= 320x240: 600kbps
<= 640x480: 1.7Mbps
<= 960x540: 2Mbps
>  960x540: 2.5Mbps

For QVGA and VGA, the qp was around 10 at the selected thresholds when running some tests. The change in qp declined above the selected bitrates.

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

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

Cr-Commit-Position: refs/heads/master@{#9878}
2015-09-08 07:21:55 +00:00
henrika
86d907cffd 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}
2015-09-07 14:10:10 +00:00
solenberg
bb741b3afa Remove GetOutputScaling from VoiceMediaChannel.
BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#9870}
2015-09-07 10:56:45 +00:00