17105 Commits

Author SHA1 Message Date
buildbot
ee3920ab3e Roll chromium_revision 5c396eba99..da3cfdb3e1 (431855:431886)
Change log: 5c396eba99..da3cfdb3e1
Full diff: 5c396eba99..da3cfdb3e1

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2501093002
Cr-Commit-Position: refs/heads/master@{#15073}
2016-11-14 19:49:14 +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
sergeyu
26b675625f Fix BitrateControllerImpl not to ignore BW probe results mid-call.
Previously when BitrateControllerImpl::OnDelayBasedBweResult() is
called as result of a probe it was calling
bandwidth_estimation_.SetSendBitrate(), but not
UpdateDelayBasedEstimate(). As result SendSideBandwidthEstimation was
effectively ignoring probe results as it kept the old
delay_based_bitrate_bps_ value, which caps the resulting bitrate.

BUG=webrtc:6332,webrtc:6710

Review-Url: https://codereview.webrtc.org/2481383002
Cr-Commit-Position: refs/heads/master@{#15071}
2016-11-14 18:53:03 +00:00
henrik.lundin
80c06fa574 NetEq: Don't interpolate longer than the output size
This can happen in rare and strange cases.

Also taking the opportunity to replace all asserts with DCHECKs in
that file.

BUG=chromium:659225

Review-Url: https://codereview.webrtc.org/2499013002
Cr-Commit-Position: refs/heads/master@{#15070}
2016-11-14 16:18:56 +00:00
ivoc
87d1a78754 Add support to audioproc_f for running the residual echo detector and producing an echo likelihood graph.
This adds two command-line flags to audioproc_f: -red and -red_graph, which can be used to enable/disable the RED, and to set the output path for the graph. The graph is generated as a python script that depends on matplotlib and numpy to display the graph.

BUG=webrtc:6525

Review-Url: https://codereview.webrtc.org/2486763002
Cr-Commit-Position: refs/heads/master@{#15069}
2016-11-14 15:55:09 +00:00
kjellander
a013a02e01 MB: Copy MB from Chromium repo
Essentially a copy of https://codereview.chromium.org/2299953002/
plus changes to WebRTC's license, changed OWNERS and additional
MB updates up to Chromium revision http://crrev.com/f1e2718a3ff.

The PRESUBMIT.py check was updated to use the existing
webrtc/build/mb_config.pyl to avoid breaking bots (that have
this path hardcoded).

This replaces the previously symlinked MB, which already
runs validation of the WebRTC configs as part of
webrtc/build/PRESUBMIT.py.

BUG=chromium:664425
NOTRY=True
TESTED=Ran:
tools/mb/mb.py gen -m client.webrtc -b 'Mac64 Release' --config-file webrtc/build/mb_config.pyl --isolate-map-file=webrtc/build/gn_isolate_map.pyl --gyp-script=webrtc/build/gyp_webrtc.py //out/Release

Review-Url: https://codereview.webrtc.org/2306163002
Cr-Commit-Position: refs/heads/master@{#15068}
2016-11-14 13:54:29 +00:00
brandtr
9e795c6ad8 Update RTPSender::IsFecPacket for FlexFEC.
BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2496113003
Cr-Commit-Position: refs/heads/master@{#15067}
2016-11-14 13:37:24 +00:00
brandtr
9dfff29bc4 Make FlexFEC packets paceable through RTPSender.
Prior to this change, FlexFEC packets that were paced would be lost in
the RTPSender, since they were not stored in a packet history. This CL
introduces such a packet history, as well as the needed wireup for
higher layers to be aware that the particular RTPSender is able to
send FlexFEC packets with a particular SSRC.

Updated RTPSender unit test to reflect the fact that paced packets
are now actually sent.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2491293002
Cr-Commit-Position: refs/heads/master@{#15066}
2016-11-14 13:14:54 +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
brandtr
25b57ce08e Update header formatters to FlexFEC draft 03.
The only difference is that the F and R bits have changed place.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2495253002
Cr-Commit-Position: refs/heads/master@{#15064}
2016-11-14 12:28:59 +00:00
buildbot
7c2f174040 Roll chromium_revision f1e2718a3f..5c396eba99 (431838:431855)
Change log: f1e2718a3f..5c396eba99
Full diff: f1e2718a3f..5c396eba99

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2500853002
Cr-Commit-Position: refs/heads/master@{#15063}
2016-11-14 12:18:44 +00:00
brandtr
445fb8fa4f Use correct define in H264 end-to-end tests.
Right now, the H264 end-to-end tests are not run on the bots.

BUG=None

Review-Url: https://codereview.webrtc.org/2484913007
Cr-Commit-Position: refs/heads/master@{#15062}
2016-11-14 12:11:30 +00:00
brandtr
8e75a523c8 Explicitly use RTX for RED in VideoQualityTest and video_loopback.
After the removal of the RED/RTX workaround, we now need to explicitly
enable RTX for RED. Prior to the removal of the workaround, RED over RTX
was implicitly enabled whenever media over RTX was enabled.

BUG=webrtc:6650

Review-Url: https://codereview.webrtc.org/2493723002
Cr-Commit-Position: refs/heads/master@{#15061}
2016-11-14 12:07:28 +00:00
hbos
a65704b5c9 Expose RtpCodecParameters to VideoMediaInfo stats.
Payload type -> RtpCodecParameters maps added for sender and receiver
side. It contains information that will be needed for RTCCodecStats[1]
dictionaries.

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

A similar change should be made for VoiceMediaInfo and
Voice[Sender/Receiver]Info.

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

BUG=chromium:659117

Review-Url: https://codereview.webrtc.org/2484193002
Cr-Commit-Position: refs/heads/master@{#15060}
2016-11-14 10:28:20 +00:00
hbos
82ebe02491 Correct stats for RTCPeerConnectionStats.dataChannels[Opened/Closed].
DataChannel.SignalOpened and unittests added.
PeerConnection.SignalDataChannelCreated added and wired up to
RTCStatsCollector.OnDataChannelCreated on RTCStatsCollector
construction.
RTCStatsCollector.OnSignalOpened/Closed added and wired up on
OnDataChannelCreated.
rtcstatscollector_unittest.cc updated, faking that channels are opened
and closed.

I did not want to use DataChannelObserver because it is used for more
than state changes and there can only be one observer (unless code is
updated). Since DataChannel already had a SignalClosed it made sense to
add a SignalOpened.

Having OnSignalBlah in RTCStatsCollector is new in this CL but will
likely be needed to correctly handle RTPMediaStreamTracks being added
and detached independently of getStats. This CL establishes this
pattern.

(An integration test will be needed for this and all the other stats to
make sure everything is wired up correctly and test outside of a
mock/fake environment, but this is not news.)

BUG=chromium:636818, chromium:627816

Review-Url: https://codereview.webrtc.org/2472113002
Cr-Commit-Position: refs/heads/master@{#15059}
2016-11-14 09:41:56 +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
kjellander
218f436713 Roll chromium_revision 1a6cf4da7c..f1e2718a3f (431807:431838)
Use system Xcode on Mac instead of the hermetic toolchain which
is now the default in Chromium. WebRTC needs the 10.12 SDK to
compile successfully, which is not availble in the hermetic
toolchain Chromium is rolling out to Googlers.

Change log: 1a6cf4da7c..f1e2718a3f
Full diff: 1a6cf4da7c..f1e2718a3f

No dependencies changed.
No update to Clang.

TBR=ehmaldonado@webrtc.org
BUG=webrtc:6700

Review-Url: https://codereview.webrtc.org/2496113002
Cr-Commit-Position: refs/heads/master@{#15057}
2016-11-14 07:54:34 +00:00
kjellander
8c2ec19618 Revert of Temporarily remove ios_api_framework from the commit queue. (patchset #2 id:40001 of https://codereview.webrtc.org/2341113004/ )
Reason for revert:
The commit bot has been green for a while: https://build.chromium.org/p/client.webrtc/builders/iOS%20API%20Framework%20Builder/

Original issue's description:
> Temporarily remove ios_api_framework from the commit queue.
>
> Temporarily remove ios_api_framework until [1] is ported to GN.
> This script is blocking Chromium rolls
>
> [1]: https://cs.chromium.org/chromium/src/third_party/webrtc/build/ios/build_ios_libs.sh?sq=package:chromium&dr=C
>
> NOTRY=True
> TBR=kjellander@webrtc.org
> BUG=webrtc:6372
>
> Committed: https://crrev.com/3d2ea1d2b363f2f65de0ca12d100040385db856b
> Cr-Commit-Position: refs/heads/master@{#14266}

TBR=ehmaldonado@webrtc.org
NOTRY=True
BUG=webrtc:6372

Review-Url: https://codereview.webrtc.org/2494403002
Cr-Commit-Position: refs/heads/master@{#15056}
2016-11-14 07:31:52 +00:00
buildbot
931e9758b1 Roll chromium_revision fd046d62bd..1a6cf4da7c (431804:431807)
Change log: fd046d62bd..1a6cf4da7c
Full diff: fd046d62bd..1a6cf4da7c

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2496053002
Cr-Commit-Position: refs/heads/master@{#15055}
2016-11-13 19:24:02 +00:00
buildbot
59695e596b Roll chromium_revision b3671bcbd9..fd046d62bd (431798:431804)
Change log: b3671bcbd9..fd046d62bd
Full diff: b3671bcbd9..fd046d62bd

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2496033002
Cr-Commit-Position: refs/heads/master@{#15054}
2016-11-13 11:23:29 +00:00
buildbot
e5d3e7efc6 Roll chromium_revision 7a2fab5553..b3671bcbd9 (431793:431798)
Change log: 7a2fab5553..b3671bcbd9
Full diff: 7a2fab5553..b3671bcbd9

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2501463002
Cr-Commit-Position: refs/heads/master@{#15053}
2016-11-13 03:30:50 +00:00
buildbot
d73cbbf06d Roll chromium_revision 4762e7cc7d..7a2fab5553 (431782:431793)
Change log: 4762e7cc7d..7a2fab5553
Full diff: 4762e7cc7d..7a2fab5553

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2497493007
Cr-Commit-Position: refs/heads/master@{#15052}
2016-11-12 19:29:25 +00:00
magjed
f823ededce Negotiate H264 profiles in SDP
This CL will start to distinguish H264 profiles during SDP negotiation.
We currently don't look at the H264 profile at all and assume they are
all Constrained Baseline Level 3.1. This CL will start to check profiles
for equality when matching, and will generate the correct answer H264
level.

Each local supported H264 profile needs to be listed explicitly in the
list of local supported codecs, even if they are redundant. For example,
Baseline profile should be listed explicitly even though another profile
that is a superset of Baseline is also listed. The reason for this is to
simplify the code and avoid profile intersection during matching. So
VideoCodec::Matches will check for profile equality, and not check if
one codec is a subset of the other. This also leads to the nice property
that VideoCodec::Matches is symmetric, i.e. iif a.Matches(b) then
b.Matches(a).

BUG=webrtc:6337
TBR=tkchin@webrtc.org

Review-Url: https://codereview.webrtc.org/2483173002
Cr-Commit-Position: refs/heads/master@{#15051}
2016-11-12 17:53:08 +00:00
magjed
13ceeeadfc Revert of H.264 packetization mode 0 (try 2) (patchset #27 id:520001 of https://codereview.webrtc.org/2337453002/ )
Reason for revert:
Broke a lot of tests in chromium.webrtc browser_tests. See e.g. https://build.chromium.org/p/chromium.webrtc/builders/Mac%20Tester/builds/62228 and https://build.chromium.org/p/chromium.webrtc/builders/Win8%20Tester/builds/30102.
[ RUN      ] WebRtcVideoQualityBrowserTests/WebRtcVideoQualityBrowserTest.MANUAL_TestVideoQualityH264/1
...
#
# Fatal error in e:\b\c\b\win_builder\src\third_party\webrtc\modules\rtp_rtcp\source\rtp_format_h264.cc, line 170
# last system error: 0
# Check failed: packetization_mode_ == kH264PacketizationMode1 (0 vs. 2)
#

Original issue's description:
> Implement H.264 packetization mode 0.
>
> This approach extends the H.264 specific information with
> a packetization mode enum.
>
> Status: Parameter is in code. No way to set it yet.
>
> Rebase of CL  2009213002
>
> BUG=600254
>
> Committed: https://crrev.com/3bba101f36483b8030a693dfbc93af736d1dba68
> Cr-Commit-Position: refs/heads/master@{#15032}

TBR=hbos@webrtc.org,sprang@webrtc.org,mflodman@webrtc.org,hta@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=600254
NOPRESUBMIT=true

Review-Url: https://codereview.webrtc.org/2500743002
Cr-Commit-Position: refs/heads/master@{#15050}
2016-11-12 16:54:50 +00:00
buildbot
b73a75195e Roll chromium_revision 13d2c57f10..4762e7cc7d (431754:431782)
Change log: 13d2c57f10..4762e7cc7d
Full diff: 13d2c57f10..4762e7cc7d

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2495163002
Cr-Commit-Position: refs/heads/master@{#15049}
2016-11-12 11:29:37 +00:00
buildbot
e7d17f798f Roll chromium_revision 51641c7dde..13d2c57f10 (431606:431754)
Change log: 51641c7dde..13d2c57f10
Full diff: 51641c7dde..13d2c57f10

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2492423003
Cr-Commit-Position: refs/heads/master@{#15048}
2016-11-12 03:34:11 +00:00
zijiehe
372719b577 Remove screen_capturer_mock_objects.h
This is a trivial change to remove MockScreenCapturerCallback, and use
MockDesktopCapturerCallback to replace it.

BUG=webrtc:6513

Review-Url: https://codereview.webrtc.org/2494013003
Cr-Commit-Position: refs/heads/master@{#15047}
2016-11-12 01:18:39 +00:00
zijiehe
3074096816 Crash in DirectX capturer
A tiny but critical change to avoid a crash failure in DirectX capturer.
A good news is this failure is caught by ScreenCapturer integration tests.

BUG=314516

Review-Url: https://codereview.webrtc.org/2494893002
Cr-Commit-Position: refs/heads/master@{#15046}
2016-11-12 00:54:22 +00:00
zijiehe
c9a6e4a67e CroppingWindowCapturer::CreateCapturer() function to replace raw pointer version
The old CroppingWindowCapturer::Create() function returns a raw pointer, which
cannot explain the ownership.
So this change adds a CreateCapturer() function to return a unique_ptr.

BUG=webrtc:6513

Review-Url: https://codereview.webrtc.org/2496993003
Cr-Commit-Position: refs/heads/master@{#15045}
2016-11-11 23:13:39 +00:00
buildbot
b7510d3f49 Roll chromium_revision 4cee38b9a3..51641c7dde (431537:431606)
Change log: 4cee38b9a3..51641c7dde
Full diff: 4cee38b9a3..51641c7dde

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2494173002
Cr-Commit-Position: refs/heads/master@{#15044}
2016-11-11 19:29:26 +00:00
kthelgason
74f9d981d0 Remove unused warning suppression
We want to keep these warnings on. They were switched off temporarily
to unblock chromium roll.

BUG=webrtc:6520

Review-Url: https://codereview.webrtc.org/2493873005
Cr-Commit-Position: refs/heads/master@{#15043}
2016-11-11 14:09:29 +00:00
hta
2814598961 Revert of Declare VideoCodec.codec_specific_info private (patchset #1 id:1 of https://codereview.webrtc.org/2494683006/ )
Reason for revert:
Another downstream error.

Original issue's description:
> Reland of Declare VideoCodec.codec_specific_info private (patchset #1 id:1 of https://codereview.webrtc.org/2491933002/ )
>
> Reason for revert:
> Relanding, now that downstream issues have been fixed.
>
> Original issue's description:
> > Revert of Declare VideoCodec.codec_specific_info private (patchset #5 id:80001 of https://codereview.webrtc.org/2452963002/ )
> >
> > Reason for revert:
> > Broke a google3 build
> >
> > Original issue's description:
> > > Declare VideoCodec.codec_specific_info private
> > >
> > > This completes the privatization of the codec specific
> > > information in VideoCodec.
> > >
> > > BUG=webrtc:6603
> > >
> > > Committed: https://crrev.com/792738640234d81c916ac4458ac72286cb2548a4
> > > Cr-Commit-Position: refs/heads/master@{#15013}
> >
> > TBR=tommi@chromium.org,magjed@chromium.org,tommi@webrtc.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=webrtc:6603
> >
> > Committed: https://crrev.com/7fe6db91d99cf6d43874651bcca56092cf869e2f
> > Cr-Commit-Position: refs/heads/master@{#15027}
>
> TBR=tommi@chromium.org,magjed@chromium.org,tommi@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6603
>
> Committed: https://crrev.com/c63fb3a0d3b9b2081a6a5e6e238d8ee595dca2a2
> Cr-Commit-Position: refs/heads/master@{#15041}

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

Review-Url: https://codereview.webrtc.org/2491613005
Cr-Commit-Position: refs/heads/master@{#15042}
2016-11-11 14:03:26 +00:00
hta
c63fb3a0d3 Reland of Declare VideoCodec.codec_specific_info private (patchset #1 id:1 of https://codereview.webrtc.org/2491933002/ )
Reason for revert:
Relanding, now that downstream issues have been fixed.

Original issue's description:
> Revert of Declare VideoCodec.codec_specific_info private (patchset #5 id:80001 of https://codereview.webrtc.org/2452963002/ )
>
> Reason for revert:
> Broke a google3 build
>
> Original issue's description:
> > Declare VideoCodec.codec_specific_info private
> >
> > This completes the privatization of the codec specific
> > information in VideoCodec.
> >
> > BUG=webrtc:6603
> >
> > Committed: https://crrev.com/792738640234d81c916ac4458ac72286cb2548a4
> > Cr-Commit-Position: refs/heads/master@{#15013}
>
> TBR=tommi@chromium.org,magjed@chromium.org,tommi@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6603
>
> Committed: https://crrev.com/7fe6db91d99cf6d43874651bcca56092cf869e2f
> Cr-Commit-Position: refs/heads/master@{#15027}

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

Review-Url: https://codereview.webrtc.org/2494683006
Cr-Commit-Position: refs/heads/master@{#15041}
2016-11-11 13:44:53 +00:00
magjed
b05fa2466a Optimize FindCodecById and ReferencedCodecsMatch
These functions currently copy cricket::Codec classes by value which is
expensive since they contain e.g. std::map<std::string, std::string>
containers with parameters. This CL avoids copying them altogether.

BUG=webrtc:6337

Review-Url: https://codereview.webrtc.org/2493733003
Cr-Commit-Position: refs/heads/master@{#15040}
2016-11-11 12:00:20 +00:00
nisse
acd935b540 Reland of Delete all use of cricket::VideoFrame and cricket::WebRtcVideoFrame. (patchset #1 id:1 of https://codereview.webrtc.org/2471783002/ )
Reason for revert:
Relanding after known downstream breakages have been fixed.

Original issue's description:
> Revert of Delete all use of cricket::VideoFrame and cricket::WebRtcVideoFrame. (patchset #7 id:120001 of https://codereview.webrtc.org/2383093002/ )
>
> Reason for revert:
> Breaks chrome, see https://build.chromium.org/p/chromium.webrtc.fyi/builders/Mac%20Builder/builds/19019/steps/compile/logs/stdio
>
> Analysis: Chrome uses cricket::VideoFrame, without explicitly including webrtc/media/base/videoframe.h, and breaks when that file is no longer included by any other webrtc headers. Will reland after updating Chrome.
>
> Original issue's description:
> > Delete all use of cricket::VideoFrame and cricket::WebRtcVideoFrame.
> >
> > Replaced with webrtc::VideoFrame.
> >
> > TBR=mflodman@webrtc.org
> > BUG=webrtc:5682
> >
> > Committed: https://crrev.com/45c8b8940042bd2574c39920804ade8343cefdba
> > Cr-Commit-Position: refs/heads/master@{#14885}
>
> TBR=perkj@webrtc.org,pthatcher@webrtc.org,tkchin@webrtc.org,mflodman@webrtc.org,stefan@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5682
>
> Committed: https://crrev.com/7341ab8e2505c9763d208e069bda269018357e7d
> Cr-Commit-Position: refs/heads/master@{#14886}

TBR=perkj@webrtc.org,pthatcher@webrtc.org,tkchin@webrtc.org,mflodman@webrtc.org,stefan@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/2487633002
Cr-Commit-Position: refs/heads/master@{#15039}
2016-11-11 11:55:19 +00:00
brandtr
e6f98c7a37 Remove RED/RTX workaround from sender/receiver and VideoEngine2.
In older Chrome versions, the associated payload type in the RTX header
of retransmitted packets was always set to be the original media payload type,
regardless of the actual payload type of the packet. This meant that packets
encapsulated with RED headers had incorrect payload type information in the
RTX header. Due to an assumption in the receiver, this incorrect payload type
information would effectively be undone, leading to a working system.

Albeit working, this behaviour was undesired, and thus removed. In the interim,
several workarounds were introduced to not destroy interop between old and
new Chrome versions:
  (1) https://codereview.webrtc.org/1649493004
      - If no payload type mapping existed for RED over RTX, the payload type
        of the underlying media would be used.
      - If RED had been negotiated, received RTX packets would always be
        assumed to contain RED.
  (2) https://codereview.webrtc.org/1964473002
      - If RED was removed from the remote description answer, it would be
        disabled in the local receiver as well.
  (3) https://codereview.webrtc.org/2033763002
      - If RED was negotiated in the SDP, it would always be used, regardless
        if ULPFEC was negotiated and used, or not.

Since the Chrome versions that exhibited the original bug now are very old,
this CL removes the workarounds from (1) and (2). In particular, after this
change, we will have the following behaviour:
  - We assume that a payload type mapping for RED over RTX always is set.
    If this is not the case, the RTX packet is not sent.
  - The associated payload type of received RTX packets will always be obeyed.
  - The (non)-existence of RED in the remote description does not affect the
    local receiver.
The workaround in (3) still needs to exist, in order to interop with receivers
that did not have the workarounds in (1) and (2) removed. The change in (3)
can be removed in a couple of Chrome versions.

TESTED=Using AppRTC between patched Chrome (connected to ethernet) and standard Chrome M54 (connected to lossy internal Google WiFi), with and without FEC turned off using AppRTC flag. Also using "Munge SDP" sample on patched Chrome over loopback interface, with 100ms delay and 5% packet loss simulated using tc.
BUG=webrtc:6650

Review-Url: https://codereview.webrtc.org/2469093003
Cr-Commit-Position: refs/heads/master@{#15038}
2016-11-11 11:28:38 +00:00
buildbot
ea51d081c8 Roll chromium_revision 09f4d43e57..4cee38b9a3 (431473:431537)
Change log: 09f4d43e57..4cee38b9a3
Full diff: 09f4d43e57..4cee38b9a3

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2499493003
Cr-Commit-Position: refs/heads/master@{#15037}
2016-11-11 11:24:24 +00:00
henrika
0b3a6389c0 Ensures that AudioDeviceBuffer::StopPeriodicLogging works as intended.
Minor fix to resolve https://bugs.chromium.org/p/webrtc/issues/detail?id=6560&desc=2#c5

BUG=webrtc:6560
NOTRY=TRUE

Review-Url: https://codereview.webrtc.org/2496543002
Cr-Commit-Position: refs/heads/master@{#15036}
2016-11-11 10:28:58 +00:00
danilchap
2a615fc760 Reduce taking locks in RTPSenderVideo::SendVideo
BUG=None

Review-Url: https://codereview.webrtc.org/2492843002
Cr-Commit-Position: refs/heads/master@{#15035}
2016-11-11 10:27:40 +00:00
Henrik Kjellander
e918a135ed MB: Add new Win8 and Win10 bots.
BUG=chromium:658652
TBR=ehmaldonado@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#15034}
2016-11-11 07:07:22 +00:00
zijiehe
98903d2f5e Remove ScreenCapturer and WindowCapturer
This change removes ScreenCapturer and WindowCapturer from WebRTC.

BUG=webrtc:6513

Review-Url: https://codereview.webrtc.org/2490063002
Cr-Commit-Position: refs/heads/master@{#15033}
2016-11-11 05:57:19 +00:00
hta
3bba101f36 Implement H.264 packetization mode 0.
This approach extends the H.264 specific information with
a packetization mode enum.

Status: Parameter is in code. No way to set it yet.

Rebase of CL  2009213002

BUG=600254

Review-Url: https://codereview.webrtc.org/2337453002
Cr-Commit-Position: refs/heads/master@{#15032}
2016-11-11 05:50:05 +00:00
buildbot
e95f5bf69d Roll chromium_revision 3a46cc72d5..09f4d43e57 (431304:431473)
Change log: 3a46cc72d5..09f4d43e57
Full diff: 3a46cc72d5..09f4d43e57

Changed dependencies:
* src/tools/swarming_client: 380e326623..ebc8dab6f8
DEPS diff: 3a46cc72d5..09f4d43e57/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2494003002
Cr-Commit-Position: refs/heads/master@{#15031}
2016-11-11 03:37:50 +00:00
zhihuang
a3095d001b Re-enable the P2PTransportChannelMultihomedTest.TestBasic
BUG=webrtc:2409

Review-Url: https://codereview.webrtc.org/2485963002
Cr-Commit-Position: refs/heads/master@{#15030}
2016-11-10 21:59:50 +00:00
buildbot
bd162f796e Roll chromium_revision 65cb3abb07..3a46cc72d5 (431231:431304)
Change log: 65cb3abb07..3a46cc72d5
Full diff: 65cb3abb07..3a46cc72d5

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2491413002
Cr-Commit-Position: refs/heads/master@{#15029}
2016-11-10 19:29:38 +00:00
nisse
e3fe4a7c2d Update VideoFrameBuffer-related methods to not use references to scoped_refptr.
Chrome coding standard now discourages use of references to smart
pointers. This cl updates some recent methods to the new conventions.

BUG=webrtc:6672

Review-Url: https://codereview.webrtc.org/2477233004
Cr-Commit-Position: refs/heads/master@{#15028}
2016-11-10 16:44:47 +00:00
hta
7fe6db91d9 Revert of Declare VideoCodec.codec_specific_info private (patchset #5 id:80001 of https://codereview.webrtc.org/2452963002/ )
Reason for revert:
Broke a google3 build

Original issue's description:
> Declare VideoCodec.codec_specific_info private
>
> This completes the privatization of the codec specific
> information in VideoCodec.
>
> BUG=webrtc:6603
>
> Committed: https://crrev.com/792738640234d81c916ac4458ac72286cb2548a4
> Cr-Commit-Position: refs/heads/master@{#15013}

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

Review-Url: https://codereview.webrtc.org/2491933002
Cr-Commit-Position: refs/heads/master@{#15027}
2016-11-10 16:37:05 +00:00
sprang
1369c83b42 Revert of Issue 2434073003: Extract bitrate allocation ... (patchset #4 id:60001 of https://codereview.webrtc.org/2488833004/ )
Reason for revert:
Seems to be causing flakiness in perf test:
FullStackTest.ScreenshareSlidesVP8_2TL_LossyNet

Original issue's description:
> Reland of Issue 2434073003: Extract bitrate allocation ...
>
> This is a reland of https://codereview.webrtc.org/2434073003/ including
> some fixes for failing test cases.
>
> Original description:
>
> Extract bitrate allocation of spatial/temporal layers out of codec impl.
>
> This CL makes a number of intervowen changes:
>
> * Add BitrateAllocation struct, that contains a codec independent view
>   of how the target bitrate is distributed over spatial and temporal
>   layers.
>
> * Adds the BitrateAllocator interface, which takes a bitrate and frame
>   rate and produces a BitrateAllocation.
>
> * A default (non layered) implementation is added, and
>   SimulcastRateAllocator is extended to fully handle VP8 allocation.
>   This includes capturing TemporalLayer instances created by the
>   encoder.
>
> * ViEEncoder now owns both the bitrate allocator and the temporal layer
>   factories for VP8. This allows allocation to happen fully outside of
>   the encoder implementation.
>
> This refactoring will make it possible for ViEEncoder to signal the
> full picture of target bitrates to the RTCP module.
>
> BUG=webrtc:6301
>
> Committed: https://crrev.com/647bf43dcb2fd16fccf276bd94dc4400728bb405
> Cr-Commit-Position: refs/heads/master@{#15023}

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

Review-Url: https://codereview.webrtc.org/2491393002
Cr-Commit-Position: refs/heads/master@{#15026}
2016-11-10 16:30:39 +00:00
ivoc
ef6cbae756 Add UMA histogram for Echo likelihood.
The likelihood is logged as a percentage, with 100 bins in the histogram.

BUG=webrtc:6525

Review-Url: https://codereview.webrtc.org/2487243002
Cr-Commit-Position: refs/heads/master@{#15025}
2016-11-10 16:21:47 +00:00
aleloi
44c7ecf88e Added a public GN config to compile mock headers.
Due to bugs.webrtc.org/216 code that includes
//webrtc/modules/audio_device:mock_audio_device fails to compile on
Windows unless a warning flag is switched off. It seems that
googlemock changes types of overridden virtual method parameters from
'const int' to 'int', which causes the VS compiler to report an error.

The problem was not solved by suppressing the flag wd4373 in
//webrtc/modules/audio_device:mock_audio_device, because targets that
include the headers are compiled separately.

This CL adds the flag suppression to the GN variable
|all_dependent_configs|. Then GN will apply the configuration to all
reachable dependencies. This is needed to reduce clutter and extra
conditions in dependency build targets.

The reason for |all_dependent_configs| before |public_configs| is
for a situation in which a targets headers include the headers from
this target. Then dependencies of dependencies will have a copy of
this targets' code after preprocessing, and compilation will fail.
This will happen if we e.g. change mock_voice_engine to return a
MockAudioTransport or MockAudioDevice.

This change has been tested by compiling a dependent CL
(https://codereview.webrtc.org/2454373002/) which uses these mocks
on Windows without suppressing the flag.

There is no GYP change, because test code has been removed from GYP.

NOTRY=True
BUG=webrtc:216

Review-Url: https://codereview.webrtc.org/2492713003
Cr-Commit-Position: refs/heads/master@{#15024}
2016-11-10 16:16:30 +00:00