14414 Commits

Author SHA1 Message Date
henrik.lundin
875862ca86 Let Opus increase complexity for low bitrates
This change adds code that lets Opus increase the complexity setting
at low bitrates (only relevant for mobile where the default complexity
is not already maximum). The feature is default off.

Also adding a performance test to make sure the complexity adaptation
has desired effect.

BUG=webrtc:6708

Review-Url: https://codereview.webrtc.org/2503443002
Cr-Commit-Position: refs/heads/master@{#15182}
2016-11-22 10:08:01 +00:00
sakal
b1e6d5efa6 Set surface view surface size to minimum of the layout size and frame size.
This improves the performance of SurfaceViewRenderer. This feature is added
behind a flag for now because it can be buggy on some devices.

BUG=webrtc:6470

Review-Url: https://codereview.webrtc.org/2510413002
Cr-Commit-Position: refs/heads/master@{#15181}
2016-11-22 09:54:47 +00:00
magjed
f6acc2a710 Move VideoDecoderSoftwareFallbackWrapper from webrtc/video_decoder.h to webrtc/media/engine/
The class VideoDecoderSoftwareFallbackWrapper is an implementation
detail of webrtc/media/engine/webrtcvideoengine2.cc and should not be
directly under webrtc/video_decoder.h. The main purpose is to improve
the dependency graph in WebRTC so that VideoDecoderSoftwareFallbackWrapper
can depend on cricket::VideoCodec.

The test for VideoDecoderSoftwareFallbackWrapper is also moved from
webrtc/video/video_decoder_unittest.cc to
webrtc/media/engine/videodecodersoftwarefallbackwrapper_unittest.cc.

BUG=webrtc:6743
TBR=stefan@webrtc.org

Review-Url: https://codereview.webrtc.org/2518263003
Cr-Commit-Position: refs/heads/master@{#15180}
2016-11-22 09:43:06 +00:00
sakal
0ce6aafc32 Move androidvideotracksource from api under api/android/jni.
This file fits there more naturally since it has dependencies to jni.

BUG=None

Review-Url: https://codereview.webrtc.org/2514383002
Cr-Commit-Position: refs/heads/master@{#15179}
2016-11-22 09:26:22 +00:00
sakal
f72331205d Add an empty libjingle_peerconnection_metrics_default_jni target.
This allows downstream dependencies can add it as a dependency.

BUG=webrtc:6499

Review-Url: https://codereview.webrtc.org/2521183002
Cr-Commit-Position: refs/heads/master@{#15178}
2016-11-22 09:25:16 +00:00
brandtr
9688e384e6 Add support for FEC-FR semantics in StreamParams.
This allows us to associate a FlexFEC SSRC with a
media SSRC in the SDP.

BUG=webrtc:5654
R=magjed@webrtc.org
CC=stefan@webrtc.org, perkj@webrtc.org

Review-Url: https://codereview.webrtc.org/2503403004
Cr-Commit-Position: refs/heads/master@{#15177}
2016-11-22 08:59:53 +00:00
brandtr
96385e0432 iOS: Add FlexFEC-03 field trial.
NOTRY=true
BUG=webrtc:5654
R=tkchin@webrtc.org
CC=magjed@webrtc.org

Review-Url: https://codereview.webrtc.org/2517123002
Cr-Commit-Position: refs/heads/master@{#15176}
2016-11-22 07:43:27 +00:00
tkchin
fb94cd610b build_ios_libs.sh: Add command line bitcode option.
BUG=webrtc:5085
NOTRY=True

Review-Url: https://codereview.webrtc.org/2523623002
Cr-Commit-Position: refs/heads/master@{#15175}
2016-11-22 07:31:03 +00:00
deadbeef
7a07f133c4 Fix TimeCallback used by BoringSSL.
Wasn't setting microseconds properly in timeval structure.

TBR=pthatcher@webrtc.org
BUG=webrtc:6737

Review-Url: https://codereview.webrtc.org/2523533003
Cr-Commit-Position: refs/heads/master@{#15174}
2016-11-21 22:34:02 +00:00
zijiehe
1b0e3aa440 Remove deprecated CroppingWindowCapturer::Create
BUG=webrtc:6513

Review-Url: https://codereview.webrtc.org/2513103003
Cr-Commit-Position: refs/heads/master@{#15173}
2016-11-21 21:54:30 +00:00
hbos
28747969cd RTCStats operator== bugfix
a == b would return true if a.member is defined even if b.member is
undefined if their values were equal. We would say that b does not have
a value in that case but its value_ member would still be initialized to
something that is being compared to. Bugfix makes sure not to do value
comparison in this case if b is undefined.

BUG=chromium:627816

Review-Url: https://codereview.webrtc.org/2517163002
Cr-Commit-Position: refs/heads/master@{#15172}
2016-11-21 17:17:51 +00:00
philipel
f570a2804e Revert of Allow custom metrics implementations on Android. (patchset #11 id:260001 of https://codereview.webrtc.org/2403463002/ )
Reason for revert:
Break downstream tests.

Original issue's description:
> Allow custom metrics implementations on Android.
>
> BUG=webrtc:6499
>
> Committed: https://crrev.com/de609b26c5fc77fd3388eae5594ee8a634edf8da
> Cr-Commit-Position: refs/heads/master@{#15169}

TBR=kjellander@webrtc.org,magjed@webrtc.org,sakal@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6499

Review-Url: https://codereview.webrtc.org/2516403002
Cr-Commit-Position: refs/heads/master@{#15171}
2016-11-21 16:30:05 +00:00
ehmaldonado
ab102f1632 Update gtest-parallel and introduce gtest-parallel-wrapper.
Now gtest-parallel is the same as in the github repo.
A wrapper script was created to handle the environment variables.

TBR=pbos@webrtc.org
BUG=chromium:497757
NOTRY=True

Review-Url: https://codereview.webrtc.org/2513073002
Cr-Commit-Position: refs/heads/master@{#15170}
2016-11-21 16:01:14 +00:00
sakal
de609b26c5 Allow custom metrics implementations on Android.
BUG=webrtc:6499

Review-Url: https://codereview.webrtc.org/2403463002
Cr-Commit-Position: refs/heads/master@{#15169}
2016-11-21 15:41:09 +00:00
magjed
e718606d00 Make magjed@ owner of webrtc/api/android/
Make magjed@ owner of whole webrtc/api/android/ and remove him as owner of subfolders.

BUG=None
NOTRY=True

Review-Url: https://codereview.webrtc.org/2516973004
Cr-Commit-Position: refs/heads/master@{#15168}
2016-11-21 14:49:08 +00:00
peah
64d6ff77ff In VoiceEngine, the settings for APM are applied in such a way that
the previously specified setting is changed if it is specified to be changed,
and otherwise the previously specified setting is kept as it is.

This CL replicates this functionality for the way that the new APM
parameter scheme is used.

BUG=webrtc::6220, webrtc::6296, webrtc::6297, webrtc::6181, webrtc::5298

Review-Url: https://codereview.webrtc.org/2489343002
Cr-Commit-Position: refs/heads/master@{#15167}
2016-11-21 14:28:23 +00:00
sprang
40217c3718 Initial rate allocation should not use fps = 0
A recent cl (https://codereview.webrtc.org/2510583002) introduced an
issue where the initial rate allocation (call to VideoBitrateAllocator
and any associated temporal layers) uses framerate = 0 fps. This may
cause issues, including having the rate control in ScreenshareLayers
ramp up too slowly.

This CL make the initial call use VideoCodec.maxFramerate as framerate.
Also expanded unit tests.

BUG=webrtc:6301

Review-Url: https://codereview.webrtc.org/2513383002
Cr-Commit-Position: refs/heads/master@{#15166}
2016-11-21 13:42:04 +00:00
kwiberg
57c1ad3b16 Don't declare function arguments of array type
They just decay to pointers anyway, so it's more honest to declare
them as pointers.

BUG=webrtc:5805

Review-Url: https://codereview.webrtc.org/2515163002
Cr-Commit-Position: refs/heads/master@{#15165}
2016-11-21 12:59:59 +00:00
kjellander
cc7bf8844e Revert of Roll chromium_revision 5e821a778b..80ff2be807 (432715:433495) (patchset #1 id:1 of https://codereview.webrtc.org/2517933002/ )
Reason for revert:
Breaks our perf bots on Android:
https://build.chromium.org/p/client.webrtc.perf/builders/Android32%20Tests%20%28L%20Nexus5%29/builds/468
https://build.chromium.org/p/client.webrtc.perf/builders/Android64%20Tests%20%28L%20Nexus9%29/builds/465

Original issue's description:
> Roll chromium_revision 5e821a778b..80ff2be807 (432715:433495)
>
> Change log: 5e821a778b..80ff2be807
> Full diff: 5e821a778b..80ff2be807
>
> Changed dependencies:
> * src/buildtools: 1f985091a5..991f459071
> * src/third_party/ffmpeg: 3c7a098821..92f86a5172
> * src/third_party/openmax_dl: 57d33bee78..7acede9c03
> DEPS diff: 5e821a778b..80ff2be807/DEPS
>
> No update to Clang.
>
> TBR=
> BUG=None
>
> Committed: https://crrev.com/fe09560ade421c86db50a832a3953508068af8c9
> Cr-Commit-Position: refs/heads/master@{#15161}

TBR=buildbot@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=None

Review-Url: https://codereview.webrtc.org/2515243002
Cr-Commit-Position: refs/heads/master@{#15164}
2016-11-21 10:46:53 +00:00
sakal
6280960998 Correctly pass drawn frame size when layout aspect ratio is used in EglRenderer.
Previously, layout matrix was not correctly taken into account when calculating
the drawn size of the frame.

BUG=webrtc:6470

Review-Url: https://codereview.webrtc.org/2514793002
Cr-Commit-Position: refs/heads/master@{#15163}
2016-11-21 10:24:53 +00:00
danilchap
96c1587551 RtpPacket::payload() return rtc::ArrayView instead of raw pointer
BUG=webrtc:5261

Review-Url: https://codereview.webrtc.org/2506373004
Cr-Commit-Position: refs/heads/master@{#15162}
2016-11-21 09:35:33 +00:00
buildbot
fe09560ade Roll chromium_revision 5e821a778b..80ff2be807 (432715:433495)
Change log: 5e821a778b..80ff2be807
Full diff: 5e821a778b..80ff2be807

Changed dependencies:
* src/buildtools: 1f985091a5..991f459071
* src/third_party/ffmpeg: 3c7a098821..92f86a5172
* src/third_party/openmax_dl: 57d33bee78..7acede9c03
DEPS diff: 5e821a778b..80ff2be807/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2517933002
Cr-Commit-Position: refs/heads/master@{#15161}
2016-11-21 09:33:00 +00:00
kjellander
f880285af2 iOS: Cleanup buildbot JSON files + bump iOS version to 10.0
After https://chromium-review.googlesource.com/c/412190/
we can remove all the GYP variables. The GN args are also not used
during runhooks (only GYP_DEFINES had any effect), so they're also
removed to avoid confusion. Only use_goma=True was left since
the ios recipe module uses it to decide if Goma shall be started
on the bots.

Delete unused GN/GYP-specific JSON files for bots that are now removed.

Finally, bump iOS version 10.0 and change simulator phones to
iPhone 6s to match what Chromium uses (may help solving bugs.webrtc.org/4752)

BUG=webrtc:4752, webrtc:6323
NOTRY=True

Review-Url: https://codereview.webrtc.org/2507063008
Cr-Commit-Position: refs/heads/master@{#15160}
2016-11-21 08:41:35 +00:00
solenberg
3898944d32 Remove unused files linux.cc/.h and linuxfdwalk.c/.h.
BUG=none

Review-Url: https://codereview.webrtc.org/2508803011
Cr-Commit-Position: refs/heads/master@{#15159}
2016-11-19 10:00:52 +00:00
zijiehe
2184155782 Add more logging in ScreenCapturerIntegrationTest
ScreenCapturerIntegrationTest is flaky on Windows systems due to some unknown
reason. But it's do easily impacted by the environment, so this change adds more
logging (entire screenshot) to help debugging.
Meanwhile, this change also includes a nice-to-have change in ScreenDrawerWin to
always bring the window to front in each WaitForPendingDraws() function call. I
cannot quite tell whether this change can help to resolve the issue, but it is
worth trying.

BUG=webrtc:6666

Review-Url: https://codereview.webrtc.org/2492723002
Cr-Commit-Position: refs/heads/master@{#15158}
2016-11-19 04:31:10 +00:00
honghaiz
ed9dccf9e9 Revert of Remove unused HttpClient class. (patchset #1 id:1 of https://codereview.webrtc.org/2511883005/ )
Reason for revert:
This class is used by downstream applications.

Original issue's description:
> Remove unused HttpClient class.
>
> BUG=none
>
> Committed: https://crrev.com/4a698f611a4bed4e074a26556ca9262b182955ee
> Cr-Commit-Position: refs/heads/master@{#15156}

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

Review-Url: https://codereview.webrtc.org/2518723002
Cr-Commit-Position: refs/heads/master@{#15157}
2016-11-18 23:27:08 +00:00
solenberg
4a698f611a Remove unused HttpClient class.
BUG=none

Review-Url: https://codereview.webrtc.org/2511883005
Cr-Commit-Position: refs/heads/master@{#15156}
2016-11-18 22:58:01 +00:00
solenberg
01af3a352c Remove unused dbus.cc/.h and related things.
BUG=none

Review-Url: https://codereview.webrtc.org/2520533002
Cr-Commit-Position: refs/heads/master@{#15155}
2016-11-18 22:52:23 +00:00
nisse
90c024fc1c Move FirewallSocketServer to test code.
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2515443003
Cr-Commit-Position: refs/heads/master@{#15154}
2016-11-18 15:10:51 +00:00
ehmaldonado
00f2ee04d7 Changed the way we find the ProjectRootPath.
This was blocking swarming for memcheck.

BUG=chromium:497757, webrtc:6727

Review-Url: https://codereview.webrtc.org/2511393002
Cr-Commit-Position: refs/heads/master@{#15153}
2016-11-18 15:06:47 +00:00
ehmaldonado
dedaf1ced7 Modify audio_processing_unittest to use ResourcePath instead of ProjectRootPath.
Move the resources to //resources and upload them to Google Storage.

BUG=webrtc:6727

Review-Url: https://codereview.webrtc.org/2508943004
Cr-Commit-Position: refs/heads/master@{#15152}
2016-11-18 12:52:31 +00:00
nisse
bbc747c116 Delete WindowPicker class and subclasses.
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2511103002
Cr-Commit-Position: refs/heads/master@{#15151}
2016-11-18 10:46:24 +00:00
aleloi
76b3049e7c Changed the interface AudioMixer::RemoveSource to have a void return type.
In the AudioMixerImpl implementation, removing a source never fails
and the return value is always true (see audio_mixer/audio_mixer_impl.cc).

A return value of |false| signaled that removing a source failed for
some reason. We have come to the conclusion that
   * we don't know how to handle a return value of |false|
   * we can't think of why an alternative implementation would need to
     signal failure when removing a stream.

To avoid having a status code that is never read, never acted upon and
probably never set to anything but |true|, we change ::RemoveSource to
not have a return value.

NOTRY=True
BUG=webrtc:6346

Review-Url: https://codereview.webrtc.org/2506173003
Cr-Commit-Position: refs/heads/master@{#15150}
2016-11-18 10:03:08 +00:00
danilchap
a28780e994 Introduce ArrayView::subview function
to return portion of the original view

BUG=None

Review-Url: https://codereview.webrtc.org/2502383004
Cr-Commit-Position: refs/heads/master@{#15149}
2016-11-18 09:46:30 +00:00
magjed
509e4fe8e6 Reland of Stop using hardcoded payload types for video codecs (patchset #1 id:1 of https://codereview.webrtc.org/2513633002/ )
Reason for revert:
The WebRtcBrowserTest.NegotiateUnsupportedVideoCodec test has been fixed in Chromium with the following change:
   function removeVideoCodec(offerSdp) {
-    offerSdp = offerSdp.replace('a=rtpmap:100 VP8/90000\r\n',
-                                'a=rtpmap:100 XVP8/90000\r\n');
+    offerSdp = offerSdp.replace(/a=rtpmap:(\d+)\ VP8\/90000\r\n/,
+                                'a=rtpmap:$1 XVP8/90000\r\n');
     return offerSdp;
   }

Original issue's description:
> Revert of Stop using hardcoded payload types for video codecs (patchset #6 id:210001 of https://codereview.webrtc.org/2493133002/ )
>
> Reason for revert:
> Breaks chromium.fyi test:
> WebRtcBrowserTest.NegotiateUnsupportedVideoCodec
>
> Original issue's description:
> > Stop using hardcoded payload types for video codecs
> >
> > This CL stops using hardcoded payload types for different video codecs
> > and will dynamically assign them payload types incrementally from 96 to
> > 127 instead.
> >
> > This CL:
> >  * Replaces 'std::vector<VideoCodec> DefaultVideoCodecList()' in
> >    webrtcvideoengine2.cc with an explicit WebRtcVideoEncoderFactory for
> >    internally supported software codecs instead. The purpose is to
> >    streamline the payload type assignment in webrtcvideoengine2.cc which
> >    will now have two encoder factories of the same
> >    WebRtcVideoEncoderFactory type; one internal and one external.
> >  * Removes webrtc::VideoEncoder::EncoderType and use cricket::VideoCodec
> >    instead.
> >  * Removes 'static VideoEncoder* Create(EncoderType codec_type)' and
> >    moves the create function to the internal encoder factory instead.
> >  * Removes video_encoder.cc. webrtc::VideoEncoder is now just an
> >    interface without any static functions.
> >  * The function GetSupportedCodecs in webrtcvideoengine2.cc unifies
> >    the internal and external codecs and assigns them payload types
> >    incrementally from 96 to 127.
> >  * Updates webrtcvideoengine2_unittest.cc and removes assumptions about
> >    what payload types will be used.
> >
> > BUG=webrtc:6677,webrtc:6705
> > R=hta@webrtc.org, ossu@webrtc.org, stefan@webrtc.org
> >
> > Committed: https://crrev.com/42043b95872b51321f508bf255d804ce3dff366b
> > Cr-Commit-Position: refs/heads/master@{#15135}
>
> TBR=hta@webrtc.org,stefan@webrtc.org,ossu@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6677,webrtc:6705
>
> Committed: https://crrev.com/eacbaea920797ff751ca83050d140821f5055591
> Cr-Commit-Position: refs/heads/master@{#15140}

TBR=hta@webrtc.org,stefan@webrtc.org,ossu@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6677,webrtc:6705

Review-Url: https://codereview.webrtc.org/2511933002
Cr-Commit-Position: refs/heads/master@{#15148}
2016-11-18 09:34:14 +00:00
magjed
d7ac0a9bcc Revert of Move smoothing filter to common audio. (patchset #3 id:60001 of https://codereview.webrtc.org/2484153002/ )
Reason for revert:
Breaks downstream projects:
error: undefined reference to 'rtc::ExpFilter::kValueUndefined'
error: undefined reference to 'rtc::ExpFilter::Apply(float, float)'
error: undefined reference to 'rtc::ExpFilter::Reset(float)'
rror: undefined reference to 'rtc::ExpFilter::UpdateBase(float)'

Original issue's description:
> Move smoothing filter to common audio.
>
> This will make the smoothing filter a basic tool that is going to be used by both voice engine and ANA.
>
> BUG=webrtc:6443
>
> Committed: https://crrev.com/a82395bf7cd15b7396456df06fe952ede8db0c39
> Cr-Commit-Position: refs/heads/master@{#15146}

TBR=minyue@webrtc.org,solenberg@webrtc.org,perkj@webrtc.org,tommi@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

Review-Url: https://codereview.webrtc.org/2510373002
Cr-Commit-Position: refs/heads/master@{#15147}
2016-11-18 09:31:19 +00:00
michaelt
a82395bf7c Move smoothing filter to common audio.
This will make the smoothing filter a basic tool that is going to be used by both voice engine and ANA.

BUG=webrtc:6443

Review-Url: https://codereview.webrtc.org/2484153002
Cr-Commit-Position: refs/heads/master@{#15146}
2016-11-18 08:23:22 +00:00
hekra01
610c454cf9 Add Datachannel support to Android AppRTCMobile
BUG=webrtc:6647

Review-Url: https://codereview.webrtc.org/2464243002
Cr-Commit-Position: refs/heads/master@{#15145}
2016-11-18 08:11:04 +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
sergeyu
7b9feeeaad Fix PayloadRouter::OnEncodedImage() to handle errors properly.
PayloadRouter::OnEncodedImage() was casing boolean result from
SendOutgoingData() to int, and then not handling it correctly, which
results in all errors in SendOutgoingData() being ignored. This issue
was introduced in
https://chromium.googlesource.com/external/webrtc/+/ad34dbe934

This bug masked another issue with VP9 codec (see
crbug.com/webrtc/6723 ) and that increased number of dropped frames.

BUG=634816

Review-Url: https://codereview.webrtc.org/2512543002
Cr-Commit-Position: refs/heads/master@{#15143}
2016-11-18 00:16:22 +00:00
zhihuang
81c3a03004 Added a callback function OnAddTrack to PeerConnectionObserver
Added the callback in native c++ API.
The callback function is called when a track is added and a new RtpReceiver is created.
The application can tell when tracks are added to the streams by listening to this callback.

BUG=webrtc:6112

Review-Url: https://codereview.webrtc.org/2505173002
Cr-Commit-Position: refs/heads/master@{#15142}
2016-11-17 20:06:37 +00:00
tkchin
5b93db2a53 iOS: Add AudioSendSideBwe field trial.
NOTRY=True

BUG=webrtc:6722

Review-Url: https://codereview.webrtc.org/2510923002
Cr-Commit-Position: refs/heads/master@{#15141}
2016-11-17 18:29:50 +00:00
magjed
eacbaea920 Revert of Stop using hardcoded payload types for video codecs (patchset #6 id:210001 of https://codereview.webrtc.org/2493133002/ )
Reason for revert:
Breaks chromium.fyi test:
WebRtcBrowserTest.NegotiateUnsupportedVideoCodec

Original issue's description:
> Stop using hardcoded payload types for video codecs
>
> This CL stops using hardcoded payload types for different video codecs
> and will dynamically assign them payload types incrementally from 96 to
> 127 instead.
>
> This CL:
>  * Replaces 'std::vector<VideoCodec> DefaultVideoCodecList()' in
>    webrtcvideoengine2.cc with an explicit WebRtcVideoEncoderFactory for
>    internally supported software codecs instead. The purpose is to
>    streamline the payload type assignment in webrtcvideoengine2.cc which
>    will now have two encoder factories of the same
>    WebRtcVideoEncoderFactory type; one internal and one external.
>  * Removes webrtc::VideoEncoder::EncoderType and use cricket::VideoCodec
>    instead.
>  * Removes 'static VideoEncoder* Create(EncoderType codec_type)' and
>    moves the create function to the internal encoder factory instead.
>  * Removes video_encoder.cc. webrtc::VideoEncoder is now just an
>    interface without any static functions.
>  * The function GetSupportedCodecs in webrtcvideoengine2.cc unifies
>    the internal and external codecs and assigns them payload types
>    incrementally from 96 to 127.
>  * Updates webrtcvideoengine2_unittest.cc and removes assumptions about
>    what payload types will be used.
>
> BUG=webrtc:6677,webrtc:6705
> R=hta@webrtc.org, ossu@webrtc.org, stefan@webrtc.org
>
> Committed: https://crrev.com/42043b95872b51321f508bf255d804ce3dff366b
> Cr-Commit-Position: refs/heads/master@{#15135}

TBR=hta@webrtc.org,stefan@webrtc.org,ossu@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6677,webrtc:6705

Review-Url: https://codereview.webrtc.org/2513633002
Cr-Commit-Position: refs/heads/master@{#15140}
2016-11-17 16:52:06 +00:00
magjed
0d0d7531b5 Revert of Split out target rtc_media_base from rtc_media (patchset #3 id:40001 of https://codereview.webrtc.org/2471573003/ )
Reason for revert:
Breaks downstream import.

Original issue's description:
> Split out target rtc_media_base from rtc_media
>
> The purpose with this CL is to be able to depend on
> cricket::VideoCodec (webrtc/media/base/codec.h) from other targets
> without getting cyclic dependencies.
>
> BUG=webrtc:6402,webrtc:6337
>
> NOTRY=True
>
> Committed: https://crrev.com/aae7e7cf35a5bb43ebbaf75396aa7ccc544e920a
> Cr-Commit-Position: refs/heads/master@{#15137}

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

Review-Url: https://codereview.webrtc.org/2508163002
Cr-Commit-Position: refs/heads/master@{#15139}
2016-11-17 15:51:35 +00:00
kjellander
de4980311c MB: Add new perf desktop bots and remove DCHECK from Android perf
Add new perf desktop bots.
Remove dcheck_always_on=true for all perf bots.
Cleanup some more GYP traces.
Remove gn_ prefix for all mixins for readability.

BUG=chromium:665874
NOTRY=True

Review-Url: https://codereview.webrtc.org/2505183003
Cr-Commit-Position: refs/heads/master@{#15138}
2016-11-17 15:47:17 +00:00
magjed
aae7e7cf35 Split out target rtc_media_base from rtc_media
The purpose with this CL is to be able to depend on
cricket::VideoCodec (webrtc/media/base/codec.h) from other targets
without getting cyclic dependencies.

BUG=webrtc:6402,webrtc:6337

NOTRY=True

Review-Url: https://codereview.webrtc.org/2471573003
Cr-Commit-Position: refs/heads/master@{#15137}
2016-11-17 15:29:37 +00:00
ivoc
765edc3425 Update the alpha value in the echo detector.
BUG=webrtc:6525

Review-Url: https://codereview.webrtc.org/2506643002
Cr-Commit-Position: refs/heads/master@{#15136}
2016-11-17 15:10:23 +00:00
Magnus Jedvert
42043b9587 Stop using hardcoded payload types for video codecs
This CL stops using hardcoded payload types for different video codecs
and will dynamically assign them payload types incrementally from 96 to
127 instead.

This CL:
 * Replaces 'std::vector<VideoCodec> DefaultVideoCodecList()' in
   webrtcvideoengine2.cc with an explicit WebRtcVideoEncoderFactory for
   internally supported software codecs instead. The purpose is to
   streamline the payload type assignment in webrtcvideoengine2.cc which
   will now have two encoder factories of the same
   WebRtcVideoEncoderFactory type; one internal and one external.
 * Removes webrtc::VideoEncoder::EncoderType and use cricket::VideoCodec
   instead.
 * Removes 'static VideoEncoder* Create(EncoderType codec_type)' and
   moves the create function to the internal encoder factory instead.
 * Removes video_encoder.cc. webrtc::VideoEncoder is now just an
   interface without any static functions.
 * The function GetSupportedCodecs in webrtcvideoengine2.cc unifies
   the internal and external codecs and assigns them payload types
   incrementally from 96 to 127.
 * Updates webrtcvideoengine2_unittest.cc and removes assumptions about
   what payload types will be used.

BUG=webrtc:6677,webrtc:6705
R=hta@webrtc.org, ossu@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#15135}
2016-11-17 15:08:47 +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