Commit Graph

9341 Commits

Author SHA1 Message Date
2013e29df1 Disable automatic scaling in tests.
BUG=webrtc:6990

Review-Url: https://codereview.webrtc.org/2636903004
Cr-Commit-Position: refs/heads/master@{#16119}
2017-01-17 13:45:40 +00:00
311a64ccf5 Fix flaky WebRtcVideoChannel2BaseTest.GetStats T
This cl allows width and height of the produced encoded stream to be smaller than the configured camera resolution. This is since quality and cpu adapters may request a scaled input frame.

BUG=webrtc:6990

Review-Url: https://codereview.webrtc.org/2634273002
Cr-Commit-Position: refs/heads/master@{#16118}
2017-01-17 12:37:02 +00:00
c08c191f7d Revert of Make the new jitter buffer the default jitter buffer. (patchset #7 id:120001 of https://codereview.chromium.org/2627463004/ )
Reason for revert:
Breaks android bots.

Original issue's description:
> Make the new jitter buffer the default jitter buffer.
>
> This CL contains only the changes necessary to make the switch to the new jitter
> buffer, clean up will be done in follow up CLs.
>
> In this CL:
>  - Removed the WebRTC-NewVideoJitterBuffer experiment and made the
>    new video jitter buffer the default one.
>  - Moved WebRTC.Video.KeyFramesReceivedInPermille and
>    WebRTC.Video.JitterBufferDelayInMs to the ReceiveStatisticsProxy.
>
> BUG=webrtc:5514
>
> Review-Url: https://codereview.webrtc.org/2627463004
> Cr-Commit-Position: refs/heads/master@{#16114}
> Committed: 0f0763d86d

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

Review-Url: https://codereview.webrtc.org/2632123005
Cr-Commit-Position: refs/heads/master@{#16117}
2017-01-17 12:03:53 +00:00
e8aca24446 Move file capturer/renderer tests to the correct location.
Move file capturer/renderer tests from the AppRTCMobile tests directory
to the WebRTC tests directory. These tests do not test AppRTCMobile but
rather WebRTC functionality. Therefore, they belong in WebRTC tests
directory.

BUG=webrtc:6545

Review-Url: https://codereview.webrtc.org/2632233002
Cr-Commit-Position: refs/heads/master@{#16115}
2017-01-17 11:32:06 +00:00
0f0763d86d Make the new jitter buffer the default jitter buffer.
This CL contains only the changes necessary to make the switch to the new jitter
buffer, clean up will be done in follow up CLs.

In this CL:
 - Removed the WebRTC-NewVideoJitterBuffer experiment and made the
   new video jitter buffer the default one.
 - Moved WebRTC.Video.KeyFramesReceivedInPermille and
   WebRTC.Video.JitterBufferDelayInMs to the ReceiveStatisticsProxy.

BUG=webrtc:5514

Review-Url: https://codereview.webrtc.org/2627463004
Cr-Commit-Position: refs/heads/master@{#16114}
2017-01-17 11:31:15 +00:00
804ab6f27f Parse MedianSlopeFilter-parameters to the correct variables.
BUG=webrtc:6995

Review-Url: https://codereview.webrtc.org/2631293003
Cr-Commit-Position: refs/heads/master@{#16113}
2017-01-17 11:30:05 +00:00
7456817d40 Comparison of videos with reference frame not starting from zero
BUG=webrtc:6967

Review-Url: https://codereview.webrtc.org/2553693002
Cr-Commit-Position: refs/heads/master@{#16112}
2017-01-17 11:24:57 +00:00
160e4a78e3 RTCMediaStreamTrackStats.kind added and collected.
Implements recent spec change:
https://github.com/w3c/webrtc-stats/pull/127

BUG=chromium:659137, chromium:627816

Review-Url: https://codereview.webrtc.org/2623513006
Cr-Commit-Position: refs/heads/master@{#16111}
2017-01-17 10:53:23 +00:00
9b96a172ed Android GlTextureFrameBuffer: Re-attach texture in setSize
BUG=None

Review-Url: https://codereview.webrtc.org/2571503002
Cr-Commit-Position: refs/heads/master@{#16110}
2017-01-17 10:51:06 +00:00
1fd08c1e67 GN: Refactor so that WebRTC compiles with rtc_enable_protobuf=false.
This is a first step towards it. I plan to refactor modules_unittests before continuing with this.

BUG=webrtc:6626
NOTRY=True

Review-Url: https://codereview.webrtc.org/2626163004
Cr-Commit-Position: refs/heads/master@{#16109}
2017-01-17 10:37:34 +00:00
ece0571d44 UdpTransport:IsIpAddressValid: Added extra :: check for ipv6
The code previously allowed ipv6 addresses with less than eight sections even without all-zero sections being compacted by a ::.

BUG=webrtc:1028

Review-Url: https://codereview.webrtc.org/2606383003
Cr-Commit-Position: refs/heads/master@{#16108}
2017-01-17 10:31:37 +00:00
da5e9d04f5 Initiate mid-call probing even if estimated bitrate is at max configured bitrate.
BUG=none

Review-Url: https://codereview.webrtc.org/2634883003
Cr-Commit-Position: refs/heads/master@{#16107}
2017-01-17 10:08:28 +00:00
fa5a368b3c Let FlexfecReceiveStreamImpl send RTCP RRs.
This CL adds an RTP module to FlexfecReceiveStreamImpl, and wires it up
to send RTCP RRs. It further makes some methods take const refs instead
of values, to make it more clear where packet copies are made. This
change reduces the number of copies by one, for the case when media
packets are added to the FlexFEC receiver.

The end-to-end test is modified to check for RTCP RRs being sent.
Part of this modification involves some indentation changes, and the
diff thus looks bigger than it logically is.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2625633003
Cr-Commit-Position: refs/heads/master@{#16106}
2017-01-17 09:33:54 +00:00
9506e12eba Reset pendingCameraSwitch as false after failed to post switchCameraOnThread to camera thread.
BUG=webrtc:6981

Review-Url: https://codereview.webrtc.org/2625133007
Cr-Commit-Position: refs/heads/master@{#16105}
2017-01-17 09:29:19 +00:00
f4caaab518 Fix for bwe with overhead on audio only calls.
BUG=webrtc:6989

Review-Url: https://codereview.webrtc.org/2635893002
Cr-Commit-Position: refs/heads/master@{#16104}
2017-01-17 07:55:07 +00:00
04a057b432 Add missing if-clause for residual_echo_likelihood_recent_max
This is a follow-up to https://codereview.webrtc.org/2629563003/.

BUG=webrtc:6797
TBR=solenberg@webrtc.org

Review-Url: https://codereview.webrtc.org/2632243002
Cr-Commit-Position: refs/heads/master@{#16103}
2017-01-17 07:53:59 +00:00
c117e2ed79 Do not classify error after stopping the camera as a startup failure.
Calling event handlers when the camera is closing is safe because
CameraCapturer checks if the errors are coming from the current session.

Calling onFailure after camera has already started might lead to strange
behavior.

BUG=b/34112992

Review-Url: https://codereview.webrtc.org/2634973002
Cr-Commit-Position: refs/heads/master@{#16101}
2017-01-16 17:40:36 +00:00
2df07342ee Add WebRTC.BWE.MidCallProbing.* metrics.
BUG=webrtc:6984

Review-Url: https://codereview.webrtc.org/2629893003
Cr-Commit-Position: refs/heads/master@{#16100}
2017-01-16 17:31:49 +00:00
7064d5929a RTCTransportStats.dtlsState replaces .activeConnection
In accordance with recent spec change:
https://github.com/w3c/webrtc-stats/pull/122

BUG=chromium:653873, chromium:627816

Review-Url: https://codereview.webrtc.org/2625993002
Cr-Commit-Position: refs/heads/master@{#16098}
2017-01-16 15:38:02 +00:00
3d200bd6ac Remove FlexfecConfig and replace with specific struct in VideoSendStream.
The existence of FlexfecConfig is due to a naive design. Now when it
is not used on the receiving side (see https://codereview.webrtc.org/2542413002),
it is time to remove it from the sending side as well.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2621573002
Cr-Commit-Position: refs/heads/master@{#16097}
2017-01-16 14:59:19 +00:00
57c2fff361 Periodically update channel parameters and send TargetBitrate message.
Currently, parameters are periodically updated, but the TargetBitrate
message is only sent if a new bitrate is set. It should be sent
periodically to indicate the signaled bitrate is valid and to prevent
stale values due to loss of RTCP packets.

BUG=webrtc:6897

Review-Url: https://codereview.webrtc.org/2616393003
Cr-Commit-Position: refs/heads/master@{#16096}
2017-01-16 14:24:02 +00:00
84abeb1d37 RTC[In/Out]boundRTPStreamStats.mediaTrackId collected.
Based on the mapping between [Audio/Video]TrackInterface and
[Voice/Video][Sender/Receiver]Info.

The IDs of RTCMediaStreamTrackStats are updated to distinguish between
local and remote cases. Previously, if local and remote cases had the
same label only one of them would be included in the report (bug).

BUG=webrtc:6758, chromium:657854, chromium:657855, chromium:657856, chromium:627816

Review-Url: https://codereview.webrtc.org/2610843003
Cr-Commit-Position: refs/heads/master@{#16095}
2017-01-16 14:16:44 +00:00
93f16d74fc delete redundant members in ViEEncoder
This information is already available in another member, and
storing it in more places only creates more opportunities
for bugs.

BUG=None

Review-Url: https://codereview.webrtc.org/2613713002
Cr-Commit-Position: refs/heads/master@{#16094}
2017-01-16 14:15:23 +00:00
e78d26669e Make FakeEncoder and FakeH264Encoder thread safe.
The MultithreadedFakeH264Encoder is a derived class from FakeEncoder
and FakeH264Encoder, and these should thus also be thread safe.

TESTED=Ran "out/Tsan/video_engine_tests --gtest_filter="*Multithreaded*" --gtest_repeat=100" with is_debug=false, dcheck_always_on=true, is_tsan=true.

BUG=webrtc:6943

Review-Url: https://codereview.webrtc.org/2604403003
Cr-Commit-Position: refs/heads/master@{#16093}
2017-01-16 13:57:16 +00:00
037b93af17 Replace default locale with US locale on Android.
This fixes a lint warning and also fixes potential bugs on devices
running locales where toLowerCase and toUpperCase don't behave
as expected.

BUG=webrtc:6597
R=magjed@webrtc.org
TBR=kjellander@webrtc.org

Review-Url: https://codereview.webrtc.org/2624423003
Cr-Commit-Position: refs/heads/master@{#16092}
2017-01-16 12:57:32 +00:00
6deecb2a2f Refactor TransportFeedback ensuring it's consistency:
Removed const_cast while creating rtcp packet.
This way manually created packet is as good as parsed packet and can be used in tests directly.

To archive this, changed the way class stores deltas and their sizes:
encoded chunks are stored directly for all but last chunk simplifying rtcp packet creation.
deltas stored together with sequence_number that would allow to simplify reading them from the parsed packet.

Fixed test for maximum received packets.

BUG=None

Review-Url: https://codereview.webrtc.org/2616343003
Cr-Commit-Position: refs/heads/master@{#16091}
2017-01-16 12:25:19 +00:00
1f8239ca6f TrackMediaInfoMap added.
This maps, in both directions, [Audio/Video]TrackInterface with
[Voice/Video][Sender/Receiver]Info.

This mapping is necessary for RTCStatsCollector to know the relationship
between RTCMediaStreamTrackStats and RTC[In/Out]boundRTPStreamStats, and
to be able to collect several RTCMediaStreamTrackStats stats.

BUG=webrtc:6757, chromium:659137, chromium:657854, chromium:627816

Review-Url: https://codereview.webrtc.org/2611983002
Cr-Commit-Position: refs/heads/master@{#16090}
2017-01-16 12:24:10 +00:00
a6069e8a01 Espresso test case to control loopback call
The test case is put inside a new test target. That test target will be started from a test script to asses video quality.

BUG=webrtc:6545

Review-Url: https://codereview.webrtc.org/2585813002
Cr-Commit-Position: refs/heads/master@{#16088}
2017-01-16 10:23:09 +00:00
394d460fb5 Delete unused file faketaskrunner.h.
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2633683002
Cr-Commit-Position: refs/heads/master@{#16087}
2017-01-16 08:30:33 +00:00
97b7d5fe0b Revert of Remove the IceTransportInternal2. (patchset #1 id:1 of https://codereview.webrtc.org/2632563002/ )
Reason for revert:
Broke Chromium FYI bots. See for example https://build.chromium.org/p/chromium.webrtc.fyi/builders/Win%20Builder/builds/8631

FAILED: obj/remoting/protocol/protocol/ice_transport_channel.obj
ninja -t msvc -e environment.x86 -- E:\b\c\cipd\goma/gomacc.exe "E:\b\depot_tools\win_toolchain\vs_files\d3cb0e37bdd120ad0ac4650b674b09e81be45616\VC\bin\amd64_x86/cl.exe" /nologo /showIncludes /FC @obj/remoting/protocol/protocol/ice_transport_channel.obj.rsp /c ../../remoting/protocol/ice_transport_channel.cc /Foobj/remoting/protocol/protocol/ice_transport_channel.obj /Fd"obj/remoting/protocol/protocol_cc.pdb"
e:\b\c\b\win_builder\src\remoting\protocol\ice_transport_channel.cc(186): error C2039: 'IceTransportInternal2': is not a member of 'cricket'
e:\b\c\b\win_builder\src\third_party\webrtc\p2p\base\p2ptransportchannel.h(38): note: see declaration of 'cricket'
e:\b\c\b\win_builder\src\remoting\protocol\ice_transport_channel.cc(186): error C2065: 'IceTransportInternal2': undeclared identifier
e:\b\c\b\win_builder\src\remoting\protocol\ice_transport_channel.cc(186): error C2065: 'ice_transport': undeclared identifier
e:\b\c\b\win_builder\src\remoting\protocol\ice_transport_channel.cc(187): error C2059: syntax error: 'const'
e:\b\c\b\win_builder\src\remoting\protocol\ice_transport_channel.cc(187): error C2143: syntax error: missing ';' before '{'
e:\b\c\b\win_builder\src\remoting\protocol\ice_transport_channel.cc(187): error C2447: '{': missing function header (old-style formal list?)

Original issue's description:
> Remove the IceTransportInternal2.
>
> Introduing IceTransportInternal2 is a temporary fix to switch the base
> class of P2PTransportChannel to IceTransportInternal without breaking
> Chromium. It is removed in this CL.
>
> BUG=webrtc:6951
>
> Review-Url: https://codereview.webrtc.org/2632563002
> Cr-Commit-Position: refs/heads/master@{#16083}
> Committed: 8aaa51190e

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

Review-Url: https://codereview.webrtc.org/2630243002
Cr-Commit-Position: refs/heads/master@{#16086}
2017-01-16 08:12:52 +00:00
8aaa51190e Remove the IceTransportInternal2.
Introduing IceTransportInternal2 is a temporary fix to switch the base
class of P2PTransportChannel to IceTransportInternal without breaking
Chromium. It is removed in this CL.

BUG=webrtc:6951

Review-Url: https://codereview.webrtc.org/2632563002
Cr-Commit-Position: refs/heads/master@{#16083}
2017-01-16 03:12:45 +00:00
4e477a1d7b Added a new echo likelihood stat that reports the maximum value from a previous time period.
BUG=webrtc:6797

Review-Url: https://codereview.webrtc.org/2629563003
Cr-Commit-Position: refs/heads/master@{#16079}
2017-01-15 16:29:46 +00:00
fe0fd41bb9 Stop using deprecated constraints-based version of CreateAudioSource.
Also did some slight refactoring of the code that turns constraints
into rtc::Optionals. Used a template method to avoid code duplication,
and used the same pattern for "CopyConstraintsIntoAudioOptions" as was
being used for "CopyConstraintsIntoRtcConfiguration".

BUG=webrtc:6752

Review-Url: https://codereview.webrtc.org/2628523003
Cr-Commit-Position: refs/heads/master@{#16063}
2017-01-13 19:47:56 +00:00
8e814d7906 Provide better message for when RTCP mux "require" policy is triggered.
Previously: Failed to setup RTCP mux filter.
Now: rtcpMuxPolicy is 'require', but media description does not
     contain 'a=rtcp-mux'.

BUG=webrtc:6966

Review-Url: https://codereview.webrtc.org/2622553003
Cr-Commit-Position: refs/heads/master@{#16062}
2017-01-13 19:34:39 +00:00
bc5d921659 Rename base/analytics/ to base/numerics/
BUG=webrtc:6832

Review-Url: https://codereview.webrtc.org/2626203002
Cr-Commit-Position: refs/heads/master@{#16060}
2017-01-13 17:14:33 +00:00
8313a6fa8f Make |rtcp_send_transport| mandatory in FlexfecReceiveStream::Config.
That object will be used when we enable RTCP reporting from FlexfecReceiveStream.

Other related changes:
- Stop using FlexfecConfig (from config.h) at receive side in WebRtcVideoEngine2.
- Add a IsCompleteAndEnabled() method to FlexfecReceiveStream::Config, to be
  used in WebRtcVideoEngine2.
- Centralize the construction of the FlexfecReceiveStream::Config in unit tests.
  This will make future additions to the unit tests cleaner.
- Simplify setup for receiving FlexFEC in VideoQualityTest.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2589713003
Cr-Commit-Position: refs/heads/master@{#16059}
2017-01-13 15:41:19 +00:00
44b3ef65ed Signal target bitrate only for screenshare streams
BUG=webrtc:6301

Review-Url: https://codereview.webrtc.org/2625893004
Cr-Commit-Position: refs/heads/master@{#16058}
2017-01-13 15:30:25 +00:00
36e7d70410 Explicitly only add transport-cc RTCP feedback param to default FlexFEC codec.
Earlier, the FlexFEC codec would receive the same default RTCP feedback
params as the media codecs. Since most of these are not used, there is
no point negotiating them.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2623513002
Cr-Commit-Position: refs/heads/master@{#16057}
2017-01-13 15:15:54 +00:00
bf0845201a Remove use of PCH files in webrtc/sdk/objc
A decision has been made to not use prefix header files.

BUG=None

Review-Url: https://codereview.webrtc.org/2590823002
Cr-Commit-Position: refs/heads/master@{#16056}
2017-01-13 15:10:16 +00:00
a9dd4a1b11 Replace left-over ASSERTs in httpcommon.h and webrtcsession.cc.
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2630553003
Cr-Commit-Position: refs/heads/master@{#16055}
2017-01-13 15:08:34 +00:00
363a29157a Revert of Log audio network adapter decisions in event log. (patchset #14 id:320001 of https://codereview.webrtc.org/2559953002/ )
Reason for revert:
Breaks chromium.webrtc.fyi.

Original issue's description:
> Log audio network adapter decisions in event log.
>
> BUG=webrtc:6845
>
> Review-Url: https://codereview.webrtc.org/2559953002
> Cr-Commit-Position: refs/heads/master@{#16053}
> Committed: 3663681b5d

TBR=minyue@webrtc.org,henrik.lundin@webrtc.org,terelius@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:6845

Review-Url: https://codereview.webrtc.org/2631703002
Cr-Commit-Position: refs/heads/master@{#16054}
2017-01-13 14:52:12 +00:00
3663681b5d Log audio network adapter decisions in event log.
BUG=webrtc:6845

Review-Url: https://codereview.webrtc.org/2559953002
Cr-Commit-Position: refs/heads/master@{#16053}
2017-01-13 14:10:16 +00:00
bf279fc4b9 Pass event log to ANA.
BUG=webrtc:6845

Review-Url: https://codereview.webrtc.org/2553413002
Cr-Commit-Position: refs/heads/master@{#16052}
2017-01-13 14:02:29 +00:00
cc882afdf7 Update ice server provider response format in iOS AppRTCMobile
BUG=webrtc:5963

Review-Url: https://codereview.webrtc.org/2627523004
Cr-Commit-Position: refs/heads/master@{#16050}
2017-01-13 13:59:46 +00:00
a40672a120 Add UMA stats to bad call detection.
Just simple "percentage of call that was bad" stats.

BUG=webrtc:6814

Review-Url: https://codereview.webrtc.org/2578213003
Cr-Commit-Position: refs/heads/master@{#16049}
2017-01-13 13:58:34 +00:00
d533aec3b8 Remove WebRtcVideoSendStream2::VideoSink inheritance. Remove sending black frame on source removal.
BUG=webrtc:6371,webrtc:6983

Review-Url: https://codereview.webrtc.org/2469993003
Cr-Commit-Position: refs/heads/master@{#16048}
2017-01-13 13:57:25 +00:00
c5da08fc12 Drop dependency to Chromium in WebRtcJniBootTest.
The dependency breaks a build downstream.

BUG=None

Review-Url: https://codereview.webrtc.org/2630713002
Cr-Commit-Position: refs/heads/master@{#16047}
2017-01-13 13:56:16 +00:00
61f31ee376 Delete unused rtpdump code in media/base.
Reading and writing RTP files is implemented elsewhere,
in test/rtp_file_reader.cc and test/rtp_file_writer.cc;
that code is untouched by this cl.

BUG=webrtc:6974

Review-Url: https://codereview.webrtc.org/2633453002
Cr-Commit-Position: refs/heads/master@{#16046}
2017-01-13 13:55:08 +00:00
ac22f70906 Refactoring of RTCP options in BaseChannel.
Previously, BaseChannel supported a "no RTCP" mode, which wasn't
being used any more and is being deleted.

Also, "RTCP mux required" previously worked by calling "ActivateRtcpMux"
after construction. Now it works by explicitly passing a
"require_rtcp_mux" parameter into the constructor.

BUG=None

Review-Url: https://codereview.webrtc.org/2622613004
Cr-Commit-Position: refs/heads/master@{#16045}
2017-01-13 05:59:29 +00:00
f5b251b816 Remove BaseChannel's dependency on TransportController.
The BaseChannel can set the transport directly without depending on
TransportController.

When initializing the network of the BaseChannel, the ChannelManager will
create TransportChannels with the TransportController.
When enabling bundling, WebRtcSession will get or create TransportChannels
with the TransportController.

When a TransportChannel of the BaseChannel needs to be destroyed, it will
fire a signal to notify the WebRtcSession.

BUG=none.

Review-Url: https://codereview.webrtc.org/2614263002
Cr-Commit-Position: refs/heads/master@{#16043}
2017-01-13 03:37:48 +00:00