Commit Graph

15573 Commits

Author SHA1 Message Date
2fcd2dd93a Update YuvConverter to use GlTextureFrameBuffer.
Old implementation also had a bug where it had the framebuffer bound
while changing the texture size. This causes problems on some phones.

BUG=webrtc:6751

Review-Url: https://codereview.webrtc.org/2635133003
Cr-Commit-Position: refs/heads/master@{#16141}
2017-01-18 11:21:10 +00:00
a77ce78e99 Roll chromium_revision 5d804c8487..5e5d50d1fe (444296:444317)
Change log: 5d804c8487..5e5d50d1fe
Full diff: 5d804c8487..5e5d50d1fe

Changed dependencies:
* src/third_party: 40d31d6b89..7b19efa0d9
DEPS diff: 5d804c8487..5e5d50d1fe/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2639943002
Cr-Commit-Position: refs/heads/master@{#16140}
2017-01-18 11:06:50 +00:00
4a0c76402e Add rtcp::TransportFeedback::GetReceivedPackets()
It combines and simplify use of GetStatusVector and GetReceiveDeltas accesors.

Replace use of all GetStatusVector/GetReceiveDeltasUs

BUG=None

Review-Url: https://codereview.webrtc.org/2633923003
Cr-Commit-Position: refs/heads/master@{#16139}
2017-01-18 10:40:30 +00:00
e0e3bdfbbf Refactor OveruseFrameDetector to use timing in us units
Use rtc::TimeMicros, and don't refer to ntp time.

BUG=webrtc:6977

Review-Url: https://codereview.webrtc.org/2633673002
Cr-Commit-Position: refs/heads/master@{#16138}
2017-01-18 10:16:20 +00:00
d3fabe51b2 Improve computational performance of BWE by switching list to deque.
BUG=webrtc:6998

Review-Url: https://codereview.webrtc.org/2633293004
Cr-Commit-Position: refs/heads/master@{#16137}
2017-01-18 09:59:53 +00:00
1d2d78984d Fix race in EndToEndTest.ReceivesFlexfecAndSendsCorrespondingRtcp.
R=stefan@webrtc.org
BUG=webrtc:7004

Review-Url: https://codereview.webrtc.org/2639173002
Cr-Commit-Position: refs/heads/master@{#16136}
2017-01-18 08:40:07 +00:00
a28e971e3b Add experimental simulcast screen content mode
BUG=webrtc:4172

Review-Url: https://codereview.webrtc.org/2636443002
Cr-Commit-Position: refs/heads/master@{#16135}
2017-01-18 08:36:31 +00:00
b3dc2b7b1e Move congestion controller processing to the pacer thread.
Also rename it from pacer_thread_ to congestion_controller_thread_.

BUG=webrtc:6847

Review-Url: https://codereview.webrtc.org/2637783003
Cr-Commit-Position: refs/heads/master@{#16134}
2017-01-18 08:10:31 +00:00
c0370ef126 Roll chromium_revision 9057f45850..5d804c8487 (444268:444296)
Change log: 9057f45850..5d804c8487
Full diff: 9057f45850..5d804c8487

Changed dependencies:
* src/testing: 9b37703807..fdb3e896fe
* src/third_party: a496885813..40d31d6b89
* src/tools: e2e51c7f5a..1f610e7783
DEPS diff: 9057f45850..5d804c8487/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2643643002
Cr-Commit-Position: refs/heads/master@{#16133}
2017-01-18 07:44:05 +00:00
f3d5d89cbc Roll chromium_revision aa99b0c20f..9057f45850 (444210:444268)
Change log: aa99b0c20f..9057f45850
Full diff: aa99b0c20f..9057f45850

Changed dependencies:
* src/third_party: ed0121b0f4..a496885813
* src/third_party/catapult: 143ba4ddeb..cfcae9b972
* src/tools: fd807d1fdc..e2e51c7f5a
DEPS diff: aa99b0c20f..9057f45850/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2644443002
Cr-Commit-Position: refs/heads/master@{#16132}
2017-01-18 04:58:16 +00:00
c7953fa716 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.

Reland this CL after Chromium doesn't depend on this.

BUG=webrtc:6951

Review-Url: https://codereview.webrtc.org/2632563002
Cr-Commit-Position: refs/heads/master@{#16131}
2017-01-18 03:40:19 +00:00
bad5dadef3 More minor improvements to BaseChannel/transport code.
Mostly from late comments on this CL:
https://codereview.webrtc.org/2614263002/

Changes SetTransport to DCHECK instead of returning false.
Renames it to SetTransports.
Fixes some possible transport resource leaks.

BUG=None

Review-Url: https://codereview.webrtc.org/2637503003
Cr-Commit-Position: refs/heads/master@{#16130}
2017-01-18 02:32:35 +00:00
b308b037e3 Roll chromium_revision b09bc11cad..aa99b0c20f (444155:444210)
Change log: b09bc11cad..aa99b0c20f
Full diff: b09bc11cad..aa99b0c20f

Changed dependencies:
* src/base: a38f96ef3e..12a3a619d4
* src/build: 19fd830703..c94e6d2c61
* src/testing: da6573648a..9b37703807
* src/third_party: 2e2fbc8f3d..ed0121b0f4
* src/tools: 8d728a7feb..fd807d1fdc
DEPS diff: b09bc11cad..aa99b0c20f/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2640663002
Cr-Commit-Position: refs/heads/master@{#16129}
2017-01-18 02:01:02 +00:00
7fa4a72924 Increase bitrate adjustment values for VP8 Exynos encoder
For low bitrates actual encoder output bitrate may differ from target
by 3-4 times.
Also adjust adaptation speed based on bitrate variation from the target.

BUG=b/34233384
R=wzh@webrtc.org

Review-Url: https://codereview.webrtc.org/2640543003 .
Cr-Commit-Position: refs/heads/master@{#16128}
2017-01-17 23:32:02 +00:00
6dbbd89f18 Fix BitrateProber to match the requested bitrate more precisely
Previously BirateProber was calculating delay between probes based on
the size of the previous probe. Because of that the actual sent bitrate
can deviate greatly from the target value. With this change it uses
total number of bytes in the cluster to estimate delay before each
probe.

BUG=webrtc:6952

Review-Url: https://codereview.webrtc.org/2613543003
Cr-Original-Commit-Position: refs/heads/master@{#15971}
Committed: 599c5011e7
Review-Url: https://codereview.webrtc.org/2613543003
Cr-Commit-Position: refs/heads/master@{#16127}
2017-01-17 23:07:59 +00:00
f7303fc435 Roll chromium_revision 71ee072729..b09bc11cad (444100:444155)
Change log: 71ee072729..b09bc11cad
Full diff: 71ee072729..b09bc11cad

Changed dependencies:
* src/base: e1233db29a..a38f96ef3e
* src/third_party: 141aa26dff..2e2fbc8f3d
* src/tools: 3aa168195c..8d728a7feb
DEPS diff: 71ee072729..b09bc11cad/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2635343002
Cr-Commit-Position: refs/heads/master@{#16126}
2017-01-17 23:01:36 +00:00
2e37a72ce5 Roll chromium_revision 5e608bb301..71ee072729 (444065:444100)
Change log: 5e608bb301..71ee072729
Full diff: 5e608bb301..71ee072729

Changed dependencies:
* src/base: 28d7b9f987..e1233db29a
* src/third_party: e4ea313eca..141aa26dff
* src/tools: 91927f6587..3aa168195c
DEPS diff: 5e608bb301..71ee072729/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2636203003
Cr-Commit-Position: refs/heads/master@{#16125}
2017-01-17 19:31:28 +00:00
9af18bf62f Roll chromium_revision e44e863e19..5e608bb301 (444017:444065)
Change log: e44e863e19..5e608bb301
Full diff: e44e863e19..5e608bb301

Changed dependencies:
* src/base: bae2ecf80a..28d7b9f987
* src/build: f55127ddc3..19fd830703
* src/testing: dd278c1dc3..da6573648a
* src/third_party: 807b93e6e6..e4ea313eca
* src/tools: 4d6cef3d40..91927f6587
DEPS diff: e44e863e19..5e608bb301/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2638063002
Cr-Commit-Position: refs/heads/master@{#16124}
2017-01-17 17:32:07 +00:00
e5cbc20190 Android: AppRTCMobile: Don't leak CallActivity.
Previously CallActivity would be leaked on every call. This CL fixes the
problem.

BUG=webrtc:6684

Review-Url: https://codereview.webrtc.org/2640433003
Cr-Commit-Position: refs/heads/master@{#16123}
2017-01-17 15:25:53 +00:00
61c98e0899 Remove dependency to Chromium code from WebRTC Java code.
BUG=webrtc:6996

Review-Url: https://codereview.webrtc.org/2631423002
Cr-Commit-Position: refs/heads/master@{#16122}
2017-01-17 14:46:34 +00:00
e08b253ee0 Remove unused lambda capture to unbreak downstream code.
Broken since: d3c3a4e2ac

BUG=none
TBR=zhihuang@webrtc.org

Review-Url: https://codereview.webrtc.org/2639523002
Cr-Commit-Position: refs/heads/master@{#16121}
2017-01-17 14:18:10 +00:00
0b2d3e217f Revert of Fix flaky WebRtcVideoChannel2BaseTest.GetStats T (patchset #1 id:1 of https://codereview.webrtc.org/2634273002/ )
Reason for revert:
nisse landed  a change that always disable adaptation in these tests.

Original issue's description:
> 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}
> Committed: 311a64ccf5

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

Review-Url: https://codereview.webrtc.org/2639573002
Cr-Commit-Position: refs/heads/master@{#16120}
2017-01-17 13:56:53 +00:00
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
6c0fd4341c Roll chromium_revision c1fcfd706a..e44e863e19 (443985:444017)
Change log: c1fcfd706a..e44e863e19
Full diff: c1fcfd706a..e44e863e19

Changed dependencies:
* src/testing: d912d2e331..dd278c1dc3
* src/third_party: 8883d69efb..807b93e6e6
* src/tools: 22814922b7..4d6cef3d40
DEPS diff: c1fcfd706a..e44e863e19/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2635113003
Cr-Commit-Position: refs/heads/master@{#16116}
2017-01-17 11:58:49 +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
d3c3a4e2ac Roll chromium_revision 9eb76629f8..c1fcfd706a (443880:443985)
Change log: 9eb76629f8..c1fcfd706a
Full diff: 9eb76629f8..c1fcfd706a

Changed dependencies:
* src/base: 6320afce75..bae2ecf80a
* src/build: 9a3fba5915..f55127ddc3
* src/testing: abb23565b5..d912d2e331
* src/third_party: 95122994ec..8883d69efb
* src/third_party/catapult: 201f910a09..143ba4ddeb
* src/tools: 5e411d0f66..22814922b7
DEPS diff: 9eb76629f8..c1fcfd706a/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2631343002
Cr-Commit-Position: refs/heads/master@{#16102}
2017-01-17 07:52:52 +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
00c7ad165e Roll chromium_revision 07adb5c7a6..9eb76629f8 (443862:443880)
Change log: 07adb5c7a6..9eb76629f8
Full diff: 07adb5c7a6..9eb76629f8

Changed dependencies:
* src/third_party: 7dadfafdf0..95122994ec
* src/third_party/catapult: 95b3e83b28..201f910a09
DEPS diff: 07adb5c7a6..9eb76629f8/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2638743002
Cr-Commit-Position: refs/heads/master@{#16099}
2017-01-16 15:42:17 +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