123 Commits

Author SHA1 Message Date
minyue
78b4d56535 Relanding "Pass time constant to bwe smoothing filter."
An earlier attempt to land this was in https://codereview.webrtc.org/2518923003/

It was failed because it removed an API. This CL fixes this.

BUG=webrtc:6443, webrtc:6303

Review-Url: https://codereview.webrtc.org/2536753002
Cr-Commit-Position: refs/heads/master@{#15325}
2016-11-30 12:47:47 +00:00
nisse
0245da0fa0 Move ownership of PacketRouter from CongestionController to Call.
And delete the method CongestionController::packet_router.

BUG=None

Review-Url: https://codereview.webrtc.org/2516983004
Cr-Commit-Position: refs/heads/master@{#15323}
2016-11-30 11:35:28 +00:00
aleloi
939e08f5f4 Added webrtc/audio/utility directory and empty GN target.
This Cl is the first step of a 3-step process to trick the build system of a
webrtc dependency into not failing.

The second step will be to register this folder in the dependency
build system. It cannot be done first, because there must be a GN
dependency from some existing target to a target in the new folder.

The third step is to land https://codereview.webrtc.org/2424173003, in
which the webrtc/audio/utility is used.

When a new folder with a publicly visible header is added, the build
files of said build system must be manually updated to register the
new folder.

BUG=webrtc:6548

Review-Url: https://codereview.webrtc.org/2532403003
Cr-Commit-Position: refs/heads/master@{#15299}
2016-11-29 15:32:15 +00:00
kwiberg
352444fcac RTC_[D]CHECK_op: Remove superfluous casts
There's no longer any need to make the two arguments have the same
signedness, so we can remove a bunch of superfluous (and sometimes
dangerous) casts.

It turned out I also had to fix the safe_cmp functions to properly handle
enums that are implicitly convertible to integers.

NOPRESUBMIT=true
BUG=webrtc:6645

Review-Url: https://codereview.webrtc.org/2534683002
Cr-Commit-Position: refs/heads/master@{#15281}
2016-11-28 23:59:03 +00:00
kwiberg
af476c737f RTC_[D]CHECK_op: Remove "u" suffix on integer constants
There's no longer any need to make the two arguments have the same
signedness, so we can drop the "u" suffix on literal integer
arguments.

NOPRESUBMIT=true
BUG=webrtc:6645

Review-Url: https://codereview.webrtc.org/2535593002
Cr-Commit-Position: refs/heads/master@{#15280}
2016-11-28 23:21:51 +00:00
ossu
6287e82b9b Revert of Pass time constant to bwe smoothing filter. (patchset #8 id:140001 of https://codereview.webrtc.org/2518923003/ )
Reason for revert:
Unfortunately, this change breaks internal projects. Specifically the change to the CongestionController interface means anything implementing it will be forced to change in lock-step.

Original issue's description:
> Pass time constanct to bwe smoothing filter.
>
> BUG=webrtc:6443, webrtc:6303
>
> Committed: https://crrev.com/9abbf5ae4ec7d688a9b4aa03a405f3faadb74b90
> Cr-Commit-Position: refs/heads/master@{#15266}

TBR=minyue@webrtc.org,stefan@webrtc.org,solenberg@webrtc.org,michaelt@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6443, webrtc:6303

Review-Url: https://codereview.webrtc.org/2532993002
Cr-Commit-Position: refs/heads/master@{#15272}
2016-11-28 16:05:23 +00:00
michaelt
9abbf5ae4e Pass time constanct to bwe smoothing filter.
BUG=webrtc:6443, webrtc:6303

Review-Url: https://codereview.webrtc.org/2518923003
Cr-Commit-Position: refs/heads/master@{#15266}
2016-11-28 15:00:24 +00:00
aleloi
04c0722cf1 Replace AudioConferenceMixer with AudioMixer.
This CL re-routes audio through AudioMixer instead of AudioConferenceMixer.
This is done without any modifications to VoiceEngine.

Previously, output audio was polled by an AudioDevice through an AudioTransport
pointer, which was an instance of VoEBaseImpl. VoiceEngineImpl sent the
request for data on to OutputMixer and further to AudioConferenceMixer.

This CL changes the audio flow to an AudioDevice. We reconfigure the AudioDevice
to have another AudioTransport pointer, which points to an AudioTransportProxy.
The AudioTransportProxy is responsible for feeding mixed data to the
AudioProcessing component for echo cancellation, and to resample the audio data
after AudioProcessing and before it is sent to the AudioDevice.

The set up of the audio path was previously done during VoiceEngine
initialization. Now it is changed in the AudioState constructor.

This list shows where audio-path-related VoiceEngine functionality has been
moved:

OutputMixer --> AudioTransportProxy
VoiceEngineImpl --> AudioState, AudioTransportProxy
SharedData --> AudioState
Channel --> AudioReceiveStream, ChannelProxy, Channel

AudioState owns the new mixer and connects it to AudioTransport and
AudioDevice on initialization.

The audio input source is AudioReceiveStream, which  registers itself with the
mixer (which it gets from AudioState) on Start and Stop.

# Since the AudioTransport interface contains non-const references.
NOPRESUBMIT=True
BUG=webrtc:6346

Review-Url: https://codereview.webrtc.org/2436033002
Cr-Commit-Position: refs/heads/master@{#15193}
2016-11-22 14:42:59 +00:00
hbos
1acfbd22cc Expose RtpCodecParameters to VoiceMediaInfo stats.
Payload type -> RtpCodecParameters maps added for sender and receiver.
This is a follow-up to https://codereview.webrtc.org/2484193002/ which
did the same thing for VideoMediaInfo. This information will be used to
produce RTCCodecStats[1].

Voice[Sender/Receiver]Info is updated with current codec payload type
for every stream which can be used to look up the codec in
VoiceMediaInfo.

[1] https://w3c.github.io/webrtc-stats/#codec-dict*

BUG=chromium:659117

Review-Url: https://codereview.webrtc.org/2503383002
Cr-Commit-Position: refs/heads/master@{#15144}
2016-11-18 07:43:39 +00:00
aleloi
10111bc495 Passed AudioMixer to AudioState::Config.
This is a refactoring change in preparation for enabling AudioMixer
with the goal to have a small CL as possible for passing audio through
the new audio mixer in WebRTC. The dependent CL https://codereview.webrtc.org/2436033002/
enables the mixer.

An object of class AudioState is shared across different webrtc audio
connections. It is created in tests and in
WebRTCVoiceEngine. AudioState is constructed by passing a Config
struct, where one argument is scoped_refptr<AudioMixer>.

Populating this field has now been mandatory. Tests and
WebRTCVoiceEngine create and pass either a AudioMixerImpl.
WebRTCVoiceEngine passes a real AudioMixer, which is
currently unused.

An alternative would have tests pass a mocked audio mixer. We
chose not to do that, because we believe that tests should use
the real thing unless there are reasons against it. Construction
time is not an issue, because the real mixer is relatively
lightweight.

We couldn't find a way to test any mixer-related changes in AudioState
before the mixes is connected. The next dependent CL
https://codereview.webrtc.org/2436033002/ contains unit tests for
mixer usage.

BUG=webrtc:6346

Review-Url: https://codereview.webrtc.org/2469743002
Cr-Commit-Position: refs/heads/master@{#15134}
2016-11-17 14:48:56 +00:00
aleloi
dd31071e19 Added an empty AudioTransportProxy to AudioState.
All audio in calls is now routed through AudioTransportProxy. The
AudioTransport implemented by VoEBaseImpl is disconnected from
AudioDevice and replaced by an empty proxy layer that forwards calls
to the old Transport. This is a refactoring CL in preparation for
landing https://codereview.webrtc.org/2436033002/, which will connect
the new AudioMixer.

In the planned configuration, the currently empty AudioTransportProxy
will query the new mixer for audio instead of polling data from the
old Transport. Mixed audio will be passed to an AudioProcessing
interface. AudioTransportProxy is initialized with an AudioProcessing*,
which is currently unused.

No presubmit since we implement an interface with non-const references.
NOPRESUBMIT=True
BUG=webrtc:6346

Review-Url: https://codereview.webrtc.org/2454373002
Cr-Commit-Position: refs/heads/master@{#15133}
2016-11-17 14:29:05 +00:00
solenberg
d4adce4672 Remove Absolute Send Time from list of supported header extensions for audio streams.
Follow-up to https://codereview.webrtc.org/2473663002/.

BUG=b/32591921

Review-Url: https://codereview.webrtc.org/2501503004
Cr-Commit-Position: refs/heads/master@{#15132}
2016-11-17 14:26:59 +00:00
solenberg
ffbbcac4c6 Support multiple timestamp rates for sending DTMF.
We support multiple payload types, and one which matches the audio codec the closest, is picked (or the one with lowest clock rate, if no perfect match is found).

The exact clock rate is then ignored and DTMF packets are time stamped with the rate of the current audio codec. This is exactly the way the code has worked up to this point, but until now we have been under the impression that we were in fact sending 8k DTMF.

In other words, this is an improvement over the current situation, since we will most likely find a payload type which matches the codec clock rate.

This CL also does a little cleaning of the DTMFQueue and RTPSenderAudio classes.
BUG=webrtc:2795

Review-Url: https://codereview.webrtc.org/2392883002
Cr-Commit-Position: refs/heads/master@{#15129}
2016-11-17 13:25:45 +00:00
Henrik Kjellander
b4af3d673a Remove all references to GYP
Remove all .gyp and .gypi files.
Remove entries from OWNERS files for *.isolate, *.gyp, *.gypi
Remove unused scripts in webrtc/build.

BUG=webrtc:6323
R=henrika@webrtc.org, phoglund@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#15107}
2016-11-16 19:11:38 +00:00
solenberg
7602aabdc0 Remove usage of VoEBase::AssociateSendChannel() from WVoMC.
- Functionality now implemented in AudioReceiveStream and Call.
- Added some missing function to MockChannelProxy.

BUG=webrtc:4690

Review-Url: https://codereview.webrtc.org/2461523002
Cr-Commit-Position: refs/heads/master@{#15072}
2016-11-14 19:30:16 +00:00
ivoc
7aba0297e6 Make use of new APM statistics interface.
Updates GetStats() function in AudioSendStream to use the new GetStatistics function in APM instead of the corresponding VoE functions.

BUG=webrtc:6525

Review-Url: https://codereview.webrtc.org/2463813002
Cr-Commit-Position: refs/heads/master@{#15065}
2016-11-14 12:52:11 +00:00
minyue
6f0b9fda53 Allowing resetting of AudioNetworkAdaptor in AudioSendStream.
BUG=webrtc:6681

Review-Url: https://codereview.webrtc.org/2495833002
Cr-Commit-Position: refs/heads/master@{#15058}
2016-11-14 08:51:54 +00:00
michaelt
79e05888e8 Set actual transport overhead in rtp_rtcp
BUG=webrtc:6557

Review-Url: https://codereview.webrtc.org/2437503004
Cr-Commit-Position: refs/heads/master@{#14968}
2016-11-08 10:50:16 +00:00
minyue
10cbb4648f Fixing config for Audio BWE.
The unit was kbps but the one default use of it is in bps. The inconsistency should be fixed.

BUG=webrtc:6670

Review-Url: https://codereview.webrtc.org/2247213005
Cr-Commit-Position: refs/heads/master@{#14955}
2016-11-07 17:29:27 +00:00
stefan
572ae1212b Fix crash when registering abs-send-time to AudioSend/ReceiveStream.
Introduced with r14870.

BUG=b/32591921

Review-Url: https://codereview.webrtc.org/2473663002
Cr-Commit-Position: refs/heads/master@{#14883}
2016-11-02 10:10:12 +00:00
stefan
b521aa704f Clean up abs-send-time for audio.
BUG=None

Review-Url: https://codereview.webrtc.org/2455013003
Cr-Commit-Position: refs/heads/master@{#14870}
2016-11-01 10:17:18 +00:00
minyue
6b825df37e Using AudioOption to enable audio network adaptor.
BUG=webrtc:6303

Review-Url: https://codereview.webrtc.org/2397573006
Cr-Commit-Position: refs/heads/master@{#14845}
2016-10-31 11:08:37 +00:00
aleloi
051f678808 Add a NeededFrequency() method to the AudioMixer::Source interface.
This change will allow for a audio source to report its sampling rate
to the audio mixer. It is needed in order to mix at a lower sampling
rate. Mixing at a lower sampling rate can in many cases lead to big
efficiency improvements, as reported by experiments.

The code affected is all implementations of the Source interface:
AudioReceiveStream and a mock class. The AudioReceiveStream now
queries its underlying voe::Channel object for the needed frequency.

Note that the changes to the mixing algorithm are done in a later CL.

BUG=webrtc:6346
NOTRY=True
TBR=solenberg@webrtc.org

Review-Url: https://codereview.webrtc.org/2448113009
Cr-Commit-Position: refs/heads/master@{#14839}
2016-10-31 10:26:48 +00:00
solenberg
940b6d648f Clean up logging in AudioSendStream::SetupSendCodec().
As a side effect:
- Moved the AudioSendStream::Config::SendCodecSpec methods into the .cc.
- Which exposed an issue with event_visualizer_utils not having a dependency on api:call_api set up.
- Which further exposed clang warnings about large inlined default methods in webrtc/config.h.

BUG=webrtc:4690

Committed: https://crrev.com/1836fd6257a692959b3b49ba99ef587ad9995871
Review-Url: https://codereview.webrtc.org/2446963003
Cr-Original-Commit-Position: refs/heads/master@{#14771}
Cr-Commit-Position: refs/heads/master@{#14780}
2016-10-25 18:19:11 +00:00
terelius
189f9b1b65 Revert of Clean up logging in AudioSendStream::SetupSendCodec(). (patchset #3 id:40001 of https://codereview.webrtc.org/2446963003/ )
Reason for revert:
Breaks downstream project

Original issue's description:
> Clean up logging in AudioSendStream::SetupSendCodec().
>
> As a side effect:
> - Moved the AudioSendStream::Config::SendCodecSpec methods into the .cc.
> - Which exposed an issue with event_visualizer_utils not having a dependency on api:call_api set up.
> - Which further exposed clang warnings about large inlined default methods in webrtc/config.h.
>
> BUG=webrtc:4690
>
> Committed: https://crrev.com/1836fd6257a692959b3b49ba99ef587ad9995871
> Cr-Commit-Position: refs/heads/master@{#14771}

TBR=kwiberg@webrtc.org,solenberg@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4690

Review-Url: https://codereview.webrtc.org/2452643002
Cr-Commit-Position: refs/heads/master@{#14774}
2016-10-25 14:56:42 +00:00
terelius
2d81eb33f5 Fix BWE simulations so that it uses the delay based BWE.
Rename kFullSendSideEstimator -> kSendSideEstimator and add new class SendSideBweSender (controlled by kSendSideEstimator) that actually uses the send side BWE.

Move the mock to logging/rtc_event_log/mock.
Allow congestion_controller, remote_bitrate_estimator and audio to depend on loggging/rtc_event_log

BUG=webrtc:6526
NOPRESUBMIT=True

Review-Url: https://codereview.webrtc.org/2431093003
Cr-Commit-Position: refs/heads/master@{#14772}
2016-10-25 14:04:44 +00:00
solenberg
1836fd6257 Clean up logging in AudioSendStream::SetupSendCodec().
As a side effect:
- Moved the AudioSendStream::Config::SendCodecSpec methods into the .cc.
- Which exposed an issue with event_visualizer_utils not having a dependency on api:call_api set up.
- Which further exposed clang warnings about large inlined default methods in webrtc/config.h.

BUG=webrtc:4690

Review-Url: https://codereview.webrtc.org/2446963003
Cr-Commit-Position: refs/heads/master@{#14771}
2016-10-25 13:44:49 +00:00
ivoc
8c63a82bf5 Add a placeholder stat for logging the estimated residual echo likelihood.
The stat is currently always set to zero until the residual echo detector has landed.

BUG=webrtc:6525

Review-Url: https://codereview.webrtc.org/2431443003
Cr-Commit-Position: refs/heads/master@{#14721}
2016-10-21 11:10:08 +00:00
aleloi
6c278491ad Move audio frame memory handling inside AudioMixer.
Simplify the AudioMixer::Source interface and update the mixer
implementation to the new interface.

Instead of asking a mixer source to provide a pointer to an AudioFrame
during each mixing iteration, a mixer should supply a pointer to its
own AudioFrame.

This simplifies lifetime issues as sources do not give away an
internal pointer.

Implementation: when an audio source is added, the mixer allocates a
new AudioFrame. The audio frame is kept together in the internal class
SourceStatus together with the audio source pointer until the source
is removed.

NOTRY=True
BUG=webrtc:6346

Review-Url: https://codereview.webrtc.org/2420913002
Cr-Commit-Position: refs/heads/master@{#14713}
2016-10-20 21:24:46 +00:00
aleloi
aed581a4f3 Made AudioReceiveStream a mixer participant.
Methods to facilitate this are added to ChannelProxy and voe::Channel.

BUG=webrtc:6346

Review-Url: https://codereview.webrtc.org/2378143004
Cr-Commit-Position: refs/heads/master@{#14707}
2016-10-20 13:32:47 +00:00
minyue
7a973447eb Moving WebRtcVoiceMediaChannel::SendSetCodec to AudioSendStream.
BUG=webrtc:5806, webrtc:4690

Review-Url: https://codereview.webrtc.org/2405183002
Cr-Commit-Position: refs/heads/master@{#14700}
2016-10-20 10:27:21 +00:00
kjellander
e40a7ee007 GN: Exclude suppressions of Chromium Clang warnings for Chromium builds.
These suppressions are causing GN errors when Chromium targets are depending
directly on WebRTC targets (needed for https://codereview.chromium.org/2413103004)

BUG=webrtc:4256
NOTRY=True

Review-Url: https://codereview.webrtc.org/2408133008
Cr-Commit-Position: refs/heads/master@{#14644}
2016-10-17 06:56:20 +00:00
sprang
982bf89444 Revert of Add RtcpRttStats to AudioStream (patchset #1 id:1 of https://codereview.webrtc.org/2402333002/ )
Reason for revert:
Speculative revert.
Intermittent memory access errors suspected to be caused by this cl.

See for instance https://build.chromium.org/p/client.webrtc/builders/Win%20DrMemory%20Light/builds/8018

UNADDRESSABLE ACCESS of freed memory: reading 0x0331d330-0x0331d334 4 byte(s)
# 0 webrtc::voe::RtcpRttStatsProxy::LastProcessedRtt
# 1 webrtc::ModuleRtpRtcpImpl::Process

Original issue's description:
> Add RtcpRttStats to AudioStream
>
> BUG=webrtc:6508
>
> Committed: https://crrev.com/e0729c56d35acfaf9738fdb32c6508cd78eaf089
> Cr-Commit-Position: refs/heads/master@{#14595}

TBR=stefan@webrtc.org,minyue@webrtc.org,solenberg@webrtc.org,michaelt@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:6508

Review-Url: https://codereview.webrtc.org/2415943002
Cr-Commit-Position: refs/heads/master@{#14631}
2016-10-13 13:23:18 +00:00
michaelt
e0729c56d3 Add RtcpRttStats to AudioStream
BUG=webrtc:6508

Review-Url: https://codereview.webrtc.org/2402333002
Cr-Commit-Position: refs/heads/master@{#14595}
2016-10-11 07:29:34 +00:00
aleloi
18e0b67815 Restarting channel when swapping AudioReceiveStreams in WebrtcVoE.
BUG=webrtc:6346

Review-Url: https://codereview.webrtc.org/2383143002
Cr-Commit-Position: refs/heads/master@{#14493}
2016-10-04 09:45:54 +00:00
skvlad
cc91d284e4 Moved RtcEventLog files from call/ to logging/
The RtcEventLog headers need to be accessible from any place which needs
logging, and the implementation needs access to data structures that are
logged.

After a discussion in the code review, we all agreed to move the RtcEventLog implementation into its own top level directory - which I called "logging/" in expectation that other types of logging may have similar requirements. The directory contains two main build targets - "rtc_event_log_api", which is just rtc_event_log.h, that has no external dependencies and can be used from anywhere, and "rtc_event_log_impl" which contains the rest of the implementation and has many dependencies (more in the future).

The "api" target can be referenced from anywhere, while the "impl" target is only needed at the place of instantiation (currently Call, soon to be moved to PeerConnection by https://codereview.webrtc.org/2353033005/).

This change allows using RtcEventLog in the p2p/ directory, so that we
can log STUN pings and ICE state transitions.

BUG=webrtc:6393
R=kjellander@webrtc.org, kwiberg@webrtc.org, solenberg@webrtc.org, stefan@webrtc.org, terelius@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#14485}
2016-10-04 01:31:32 +00:00
kwiberg
ac9f876bc0 Sort #includes that got unsorted when gmock.h and gtest.h moved to webrtc/test/
gmock.h and gtest.h were moved (or rather, got wrappers so that we
could put some icky compatibility hacks in one place instead of 500)
in this CL: https://codereview.webrtc.org/2358993004/

NOPRESUBMIT=true
BUG=webrtc:6398

Review-Url: https://codereview.webrtc.org/2381013002
Cr-Commit-Position: refs/heads/master@{#14464}
2016-10-01 05:29:53 +00:00
kwiberg
77eab70470 Enable the -Wundef warning for clang
NOPRESUBMIT=true
BUG=webrtc:6398

Review-Url: https://codereview.webrtc.org/2358993004
Cr-Commit-Position: refs/heads/master@{#14425}
2016-09-29 00:42:08 +00:00
kjellander
b62dbbe985 GN: Change rtc_source_set targets --> rtc_static_library
This changes most non-test related rtc_source_set targets to be
rtc_static_library instead. Targets without any .cc files are excluded.
This should bring back the build behavior we used to have with GYP
(i.e. same symbols exported in the libjingle_peerconnection.a file, which
are used by some downstream projects).

After doing an Android build with these changes:
$ nm --defined-only -g -C out/Release/lib.unstripped/libjingle_peerconnection_so.so | grep -i createpeerconnectionf
00077c51 T Java_org_webrtc_PeerConnectionFactory_nativeCreatePeerConnectionFactory
$ nm --defined-only -g -C out/Release/obj/webrtc/api/libjingle_peerconnection.a | grep -i createpeerconnectionf
00000001 T webrtc::CreatePeerConnectionFactory(rtc::Thread*, rtc::Thread*, rtc::Thread*, webrtc::AudioDeviceModule*, cricket::WebRtcVideoEncoderFactory*, cricket::WebRtcVideoDecoderFactory*)
00000001 T webrtc::CreatePeerConnectionFactory()

See https://chromium.googlesource.com/chromium/src/+/master/tools/gn/docs/cookbook.md#Note-on-static-libraries
for more details on this.

NOTICE: This should be further cleaned up in the future, to reduce
binary bloat and unnecessary linking time. Right now it's more
important to restore the desired build output though.

BUG=webrtc:6410, chromium:630755

Review-Url: https://codereview.webrtc.org/2361623004
Cr-Commit-Position: refs/heads/master@{#14364}
2016-09-23 07:38:58 +00:00
terelius
e035e2d26f Set the event log in Channel from AudioSendStream. This will re-enable logging of outgoing audio packets.
BUG=webrtc:6195

Review-Url: https://codereview.webrtc.org/2226823003
Cr-Commit-Position: refs/heads/master@{#14331}
2016-09-21 13:51:52 +00:00
henrik.lundin
63489787a0 Add new decoding statistics for muted output
This change adds a new statistic for logging how many calls to
NetEq::GetAudio resulted in a "muted output". A muted output happens
if the packet stream has been dead for some time (and the last decoded
packet was not comfort noise).

BUG=webrtc:5606
BUG=b/31256483

Review-Url: https://codereview.webrtc.org/2341293002
Cr-Commit-Position: refs/heads/master@{#14302}
2016-09-20 08:47:19 +00:00
Henrik Kjellander
a41c13e6a2 OWNERS: Make everyone able to change *.gn,*.gni files.
Project-wide change to make it possible for all team members
to do changes to GN files.

NOTRY=True
R=kwiberg@webrtc.org
TBR=henrika@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#14163}
2016-09-09 12:51:48 +00:00
ehmaldonado
e9cc686293 GN Templates: Move common_inherited_config to the template.
Remove common_inherited_config from the targets and add it to the
template instead.

BUG=webrtc:6187
NOTRY=True

Review-Url: https://codereview.webrtc.org/2311843002
Cr-Commit-Position: refs/heads/master@{#14069}
2016-09-05 13:10:23 +00:00
ehmaldonado
7a2ce0b738 GN Templates: Move common_config to the template.
Remove common_config from the targets' config and add
it to the template instead.

BUG=webrtc:6187
NOTRY=True

Review-Url: https://codereview.webrtc.org/2300413002
Cr-Commit-Position: refs/heads/master@{#14063}
2016-09-05 08:35:48 +00:00
ehmaldonado
38a2132b02 GN: Introduce templates.
Defines the rtc_executable, rtc_source_set, rtc_test and
rtc_static_library templates.

These templates provide no functionality yet, but will enable common
configuration to be introduced, avoiding repetition in every target

Changes summary:
- Prepend rtc_ to test, source_set, executable and static_library targets
- Change "configs -= [" to "suppressed_configs += ["
- Include webrtc/build/webrtc.gni where it wasn't included yet
- Delete import("//testing/test.gni"), since rtc_test makes it unnecessary.

BUG=webrtc:6187
TBR=henrik.lundin@webrtc.org,tommi@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2301053002
Cr-Commit-Position: refs/heads/master@{#14043}
2016-09-02 11:10:41 +00:00
perkj
26091b1118 This reverts commit 8eb37a39e79fe1098d3503dcb8c8c2d196203fed. Chrome now have its own implementation of TaskQueues that is based on Chrome threads.
cl was originally reviewed here:
https://codereview.webrtc.org/2060403002/

- Add task queue to Call with the intent of replacing the use of one of the process threads.

- Split VideoSendStream in two. VideoSendStreamInternal is created and used on the new task queue.

- BitrateAllocator is now created on libjingle's worker thread but always used on the new task queue instead of both encoder threads and the process thread.

- VideoEncoderConfig and VideoSendStream::Config support move semantics.

- The encoder thread is moved from VideoSendStream to ViEEncoder. Frames are forwarded directly to ViEEncoder which is responsible for timestamping ? and encoding the frames.

TBR=mflodman@webrtc.org
BUG=webrtc:5687

Review-Url: https://codereview.webrtc.org/2250123002
Cr-Commit-Position: refs/heads/master@{#14014}
2016-09-01 08:17:43 +00:00
kjellander
a69d973267 Move webrtc/audio_*.h to webrtc/api/call
BUG=webrtc:5878
NOTRY=True

Review-Url: https://codereview.webrtc.org/2059703002
Cr-Commit-Position: refs/heads/master@{#13996}
2016-08-31 14:33:14 +00:00
perkj
8eb37a39e7 Revert of Add task queue to Call. (patchset #42 id:840001 of https://codereview.webrtc.org/2060403002/ )
Reason for revert:
Failed on Win 10 Chrome FYI.

https://build.chromium.org/p/chromium.webrtc.fyi/builders/Win10%20Tester/builds/3847/steps/content_browsertests/logs/stdio

#
# Fatal error in e:\b\c\b\win_builder\src\third_party\webrtc\base\task_queue_win.cc, line 138
# last system error: 87
# Check failed: ((DWORD)0xFFFFFFFF) != result (4294967295 vs. 4294967295)
#

WebRtcBrowserTest

#

Original issue's description:
> - Add task queue to Call with the intent of replacing the use of one of the process threads.
>
> - Split VideoSendStream in two. VideoSendStreamInternal is created and used on the new task queue.
>
> - BitrateAllocator is now created on libjingle's worker thread but always used on the new task queue instead of both encoder threads and the process thread.
>
> - VideoEncoderConfig and VideoSendStream::Config support move semantics.
>
> - The encoder thread is moved from VideoSendStream to ViEEncoder. Frames are forwarded directly to ViEEncoder which is responsible for timestamping ? and encoding the frames.
>
> BUG=webrtc:5687
>
> Committed: https://crrev.com/cc168360f41322332860cb075edeb1cde21aa473
> Cr-Commit-Position: refs/heads/master@{#13767}

TBR=tommi@webrtc.org,mflodman@webrtc.org,stefan@webrtc.org,sprang@webrtc.org,pbos@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5687

Review-Url: https://codereview.webrtc.org/2248713003
Cr-Commit-Position: refs/heads/master@{#13774}
2016-08-16 09:40:59 +00:00
perkj
cc168360f4 - Add task queue to Call with the intent of replacing the use of one of the process threads.
- Split VideoSendStream in two. VideoSendStreamInternal is created and used on the new task queue.

- BitrateAllocator is now created on libjingle's worker thread but always used on the new task queue instead of both encoder threads and the process thread.

- VideoEncoderConfig and VideoSendStream::Config support move semantics.

- The encoder thread is moved from VideoSendStream to ViEEncoder. Frames are forwarded directly to ViEEncoder which is responsible for timestamping ? and encoding the frames.

BUG=webrtc:5687

Review-Url: https://codereview.webrtc.org/2060403002
Cr-Commit-Position: refs/heads/master@{#13767}
2016-08-16 07:38:51 +00:00
aleloi
84ef615a5d Removed calls to VoE::SetPlayout() from WebRTCVoiceEngine.
This is part of rewriting the ConferenceMixer and OutputMixer.

Calls are instead routed through AudioReceiveStream::Start/Stop.

NOTRY=True

Review-Url: https://codereview.webrtc.org/2206223002
Cr-Commit-Position: refs/heads/master@{#13636}
2016-08-04 12:28:28 +00:00