10242 Commits

Author SHA1 Message Date
philipel
7ac5c32db2 Revert of Log created probe clusters to RtcEventLog. (patchset #3 id:40001 of https://codereview.chromium.org/2776073003/ )
Reason for revert:
Break build bots.

Original issue's description:
> Log created probe clusters to RtcEventLog.
>
> BUG=webrtc:6984
>
> Review-Url: https://codereview.webrtc.org/2776073003
> Cr-Commit-Position: refs/heads/master@{#17413}
> Committed: bb9e6edc32

TBR=terelius@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:6984

Review-Url: https://codereview.webrtc.org/2775273003
Cr-Commit-Position: refs/heads/master@{#17415}
2017-03-28 11:20:56 +00:00
philipel
f4238f937e Log probe results to RtcEventLog.
BUG=webrtc:6984

Review-Url: https://codereview.webrtc.org/2785433002
Cr-Commit-Position: refs/heads/master@{#17414}
2017-03-28 11:18:02 +00:00
philipel
bb9e6edc32 Log created probe clusters to RtcEventLog.
BUG=webrtc:6984

Review-Url: https://codereview.webrtc.org/2776073003
Cr-Commit-Position: refs/heads/master@{#17413}
2017-03-28 11:12:26 +00:00
aleloi
d49d3873ce Disable possibly flaky AudioCodingModuleTest.TestPacketLossStereo for Linux.
It failed after unrelated https://codereview.webrtc.org/2752233002.

TBR=tommi@webrtc.org
NOTRY=true
BUG=webrtc:7416

Review-Url: https://codereview.webrtc.org/2779913002
Cr-Commit-Position: refs/heads/master@{#17412}
2017-03-28 10:00:07 +00:00
asapersson
0255acb085 Change VideoReceiveStream::Stats total_bitrate_bps to include all received packets.
The total_bitrate_bps is based on complete frames (from jitter buffer callback:
ReceiveStatisticsProxy::OnCompleteFrame(bool is_keyframe, size_t size_bytes)) (since M58).

Receive total_bitrate_bps can be incorrectly reported.
Example log of stats_.total_bitrate_bps in video_loopback call (target bitrate 600kbps):
SEND: stats_.total_bitrate_bps 682832
RECV: stats_.total_bitrate_bps 1078104 (new: 677384)
SEND: stats_.total_bitrate_bps 694280
RECV: stats_.total_bitrate_bps 1091768 (new: 663152)
SEND: stats_.total_bitrate_bps 626248
RECV: stats_.total_bitrate_bps 7683776 (new: 636080)

Changed total_bitrate_bps to be based on incoming packets (reported via callback from ReceiveStatisticsImpl: ReceiveStatisticsProxy::DataCountersUpdated(const webrtc::StreamDataCounters& counters, uint32_t ssrc)).

BUG=webrtc:7400

Review-Url: https://codereview.webrtc.org/2775813002
Cr-Commit-Position: refs/heads/master@{#17411}
2017-03-28 09:44:58 +00:00
aleloi
b1a897680d Disable AudioCodingModuleTest.TestPacketLossStereo for iOS.
It failed twice in succession after https://codereview.webrtc.org/2752233002.

TBR=ossu@webrtc.org
NOTRY=True
BUG=webrtc:7057

Review-Url: https://codereview.webrtc.org/2778983003
Cr-Commit-Position: refs/heads/master@{#17410}
2017-03-28 09:28:08 +00:00
magjed
abb84b8128 iOS: Add new RTCVideoSource interface
The new RTCVideoSource interface can be used by custom implementations of RTCVideoCapturer.

BUG=webrtc:7177
TBR=tommi

Review-Url: https://codereview.webrtc.org/2745193002
Cr-Commit-Position: refs/heads/master@{#17409}
2017-03-28 08:56:41 +00:00
sakal
c4adacfb15 Pass settings model to ARDAppClient instead of individual settings.
Moves settings model and related classes to code common for both iOS
and Mac.

BUG=webrtc:7177,webrtc:6494

Review-Url: https://codereview.webrtc.org/2770113004
Cr-Commit-Position: refs/heads/master@{#17408}
2017-03-28 08:22:48 +00:00
nisse
bcbaf74643 Let Call register ReceiveSideCongestionController as CallStatsObserver.
Fixes a regression from cl https://codereview.webrtc.org/2752233002.

BUG=chromium:704491,webrtc:6847

Review-Url: https://codereview.webrtc.org/2777423002
Cr-Commit-Position: refs/heads/master@{#17407}
2017-03-28 08:16:25 +00:00
zstein
f42cc9d8d9 Add MakeUnique from chromium and change StunMessage::AddAttribute to take a unique_ptr.
BUG=NONE

Review-Url: https://codereview.webrtc.org/2757893003
Cr-Commit-Position: refs/heads/master@{#17403}
2017-03-27 23:17:19 +00:00
sergeyu
858b0f4703 Update XServerPixelBuffer to handle shmget() errors properly.
When screen/window capturers fail to use shared memory, they are
supposed to fall back to XGetImage(). It's slower, but should still
allow to capture desktop content. This wasn't implemented correclty in
XScreenPixelBuffer - it was failing completely when shmget() returns an
error.

BUG=705146

Review-Url: https://codereview.webrtc.org/2775793003
Cr-Commit-Position: refs/heads/master@{#17401}
2017-03-27 20:47:32 +00:00
minyue
cecec1060f Set max bitrate for audio send stream based on RtpParameters.
BUG=webrtc:7392

Review-Url: https://codereview.webrtc.org/2775483004
Cr-Commit-Position: refs/heads/master@{#17399}
2017-03-27 20:04:25 +00:00
Peter Boström
1436c83cd1 Base screenshare layers on TemporalReferences.
Decouples encode flags and calculates them the same for both default and
screencast temporal layers.

With this change encoders could start using TemporalReferences for
temporal-layers flags, but they can not be used by asynchronous encoders
(hardware encoders) yet.

Also removes 'timestamp' as a dead parameter to FrameEncoded().

BUG=chromium:702017, webrtc:7349
R=marpan@google.com, sprang@webrtc.org, marpan@webrtc.org

Review-Url: https://codereview.webrtc.org/2769263002 .
Cr-Commit-Position: refs/heads/master@{#17397}
2017-03-27 19:01:49 +00:00
deadbeef
d8cfa1af38 Accept remote offers with current DTLS role, rather than "actpass".
JSEP implementations are required to always generate offers with
"actpass", but remote endpoints are not. So we should accept remote
offers with the current negotiated DTLS role.

This was recently clarified in dtls-sdp; it was somewhat ambiguous
before.

Also doing a bit of refactoring of JsepTransport (making a method
private that should have been private, fixing unit tests that were
directly calling said method).

BUG=webrtc:7072

Review-Url: https://codereview.webrtc.org/2770903003
Cr-Commit-Position: refs/heads/master@{#17396}
2017-03-27 17:33:26 +00:00
jianj
a5e8aa6e2b Vp9: Enable denoiser by default.
BUG=webrtc:7412

Review-Url: https://codereview.webrtc.org/2765663002
Cr-Commit-Position: refs/heads/master@{#17395}
2017-03-27 17:09:00 +00:00
elad.alon
4e7645118e Fix UT failure by temporarily uncommenting
BUG=webrtc:7322, webrtc:7405

Review-Url: https://codereview.webrtc.org/2780473002
Cr-Commit-Position: refs/heads/master@{#17393}
2017-03-27 15:53:11 +00:00
kthelgason
d701dfdeef remove more CriticalSectionWrappers.
BUG=webrtc:7035

Review-Url: https://codereview.webrtc.org/2779623002
Cr-Commit-Position: refs/heads/master@{#17392}
2017-03-27 14:24:57 +00:00
kwiberg
1c07c70d88 Reland "WebRtcVoiceMediaChannel::AddRecvStream: Don't call SetRecPayloadType"
BUG=webrtc:5805

Review-Url: https://codereview.webrtc.org/2774833003
Cr-Commit-Position: refs/heads/master@{#17391}
2017-03-27 14:15:49 +00:00
nisse
b8f9a32459 Define RtpTransportControllerSendInterface.
Implementation owned by call, and passed to VideoSendStream and
AudioSendStream.

BUG=webrtc:6847, webrtc:7135

Review-Url: https://codereview.webrtc.org/2685673003
Cr-Commit-Position: refs/heads/master@{#17389}
2017-03-27 12:36:15 +00:00
nisse
0be49d8d10 Delete unused Pathname methods.
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2745073004
Cr-Commit-Position: refs/heads/master@{#17388}
2017-03-27 11:37:14 +00:00
stefan
1ccf73f830 Fix issue with conflicting behavior if setting a max BW with b=AS on both audio and video.
This reverts to previous behavior where b=AS only affects the codec bitrate for audio streams, and not the max bandwidth estimate.

BUG=chromium:703903

Review-Url: https://codereview.webrtc.org/2774123002
Cr-Commit-Position: refs/heads/master@{#17386}
2017-03-27 10:51:18 +00:00
Henrik Kjellander
efbde2cba0 Roll chromium_revision 4f16f0c98f..a896ff44a3 (459568:459701)
Change log: 4f16f0c98f..a896ff44a3
Full diff: 4f16f0c98f..a896ff44a3

Changed dependencies:
* src/base: d85a3c5a13..52145f4993
* src/build: f792848af8..ad3a39abce
* src/ios: 46b14a7c3f..9f63fb7341
* src/testing: 16c9fdd3a4..aa776e6172
* src/third_party: 5982252235..6c4bf3684c
* src/third_party/catapult: 517173b5db..0cfeabf700
* src/third_party/libFuzzer/src: b9454401d3..57ed386045
* src/tools: 157e8fc5ce..297b0ff5dd
DEPS diff: 4f16f0c98f..a896ff44a3/DEPS

No update to Clang.

TBR=
BUG=None
NOTRY=True

Review-Url: https://codereview.webrtc.org/2777023002 .
Cr-Commit-Position: refs/heads/master@{#17382}
2017-03-27 06:28:27 +00:00
kthelgason
90947052d5 Remove CriticalSectionWrapper from audio conference mixer.
BUG=webrtc:7035

Review-Url: https://codereview.webrtc.org/2772573006
Cr-Commit-Position: refs/heads/master@{#17381}
2017-03-26 17:50:48 +00:00
jbauch
81bf7b0725 Pass ownership of candidate to PeerConnection::OnIceCandidate
This will later allow calling the "PeerConnectionObserver::OnIceCandidate"
method asynchronously while keeping the object alive.

BUG=webrtc:3721

Review-Url: https://codereview.webrtc.org/2748253003
Cr-Commit-Position: refs/heads/master@{#17380}
2017-03-25 15:31:12 +00:00
deadbeef
2ca33ee3d5 Adding deadbeef@ as owner of webrtc/media/.
BUG=None
NOTRY=True

Review-Url: https://codereview.webrtc.org/2774763004
Cr-Commit-Position: refs/heads/master@{#17378}
2017-03-24 21:25:53 +00:00
Henrik Kjellander
098f036cad Disable FullStackTest.ScreenshareSlidesVP9_2SL on all platforms
The test is failing due to libvpx roll which will be fixed in future roll.
It wasn't discovered at trybots since webrtc_perf_tests doesn't run
on Mac because of webrtc:7322.

BUG=webrtc:7401
TBR=marpan@webrtc.org

Review-Url: https://codereview.webrtc.org/2774973002 .
Cr-Commit-Position: refs/heads/master@{#17377}
2017-03-24 19:55:13 +00:00
kjellander
f9e2a36229 Roll chromium_revision 22b81f6c45..d604de96c9 (459032:459307)
MB changes were needed due to https://codereview.chromium.org/2767833002
FullStackTest.ScreenshareSlidesVP9_2SL
test was disabled due to libvpx regression, see webrtc:7401.

Roll chromium_revision 22b81f6c45..d604de96c9 (459032:459307)

Change log: 22b81f6c45..d604de96c9
Full diff: 22b81f6c45..d604de96c9

Changed dependencies:
* src/base: 258342709c..d49079a0cb
* src/build: 4a2354d6ce..a18678dc18
* src/ios: f825ec1419..4afbbbaa88
* src/testing: 83a00745ef..7a028befe4
* src/third_party: 5c1951e265..5903b09f59
* src/third_party/catapult: 1b6a20ab7e..5c300b0898
* src/third_party/ffmpeg: b9acb5c51e..6d2e444456
* src/third_party/libvpx/source/libvpx: 8121f85473..2fac50fa0e
* src/tools: a4f9a9e9e9..3a6ca3a28a
DEPS diff: 22b81f6c45..d604de96c9/DEPS

No update to Clang.

TBR=marpan@webrtc.org,
BUG=webrtc:7401

Review-Url: https://codereview.webrtc.org/2777553002
Cr-Commit-Position: refs/heads/master@{#17376}
2017-03-24 19:17:33 +00:00
elad.alon
f0e1f60b0c TWCC-PLR -based FecController doesn’t need smoothing
TWCC-PLR -based FecController doesn’t need smoothing; instead, use "null-smoothing", which just returns the last value (if any).
If we end up using TWCC-PLR, we'll just remove smoothing altogether. Until then, this is the least intrusive way to modify the code while still letting it work correctly for RTCP-PLR.

BUG=webrtc:7058

Review-Url: https://codereview.webrtc.org/2687433004
Cr-Commit-Position: refs/heads/master@{#17375}
2017-03-24 13:06:30 +00:00
kwiberg
670a7f3611 Revert of WebRtcVoiceMediaChannel::AddRecvStream: Don't call SetRecPayloadType (patchset #13 id:260001 of https://codereview.webrtc.org/2686043006/ )
Reason for revert:
Makes perf and Chromium FYI bots unhappy.

Original issue's description:
> WebRtcVoiceMediaChannel::AddRecvStream: Don't call SetRecPayloadType
>
> This removes one more place where we were unable to handle codecs not
> in the built-in set.
>
> BUG=webrtc:5805
>
> Review-Url: https://codereview.webrtc.org/2686043006
> Cr-Commit-Position: refs/heads/master@{#17370}
> Committed: 1724cfbdba

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

Review-Url: https://codereview.webrtc.org/2772043002
Cr-Commit-Position: refs/heads/master@{#17374}
2017-03-24 12:56:21 +00:00
elad.alon
6d7900de66 Introduce FecControllerRplrBased
1. Rename FecController to FecControllerPlrBased.
2. Introduce FecControllerRplrBased - a version of FecController that makes its decision based on RPLR instead of PLR.

BUG=webrtc:7058

Review-Url: https://codereview.webrtc.org/2672933003
Cr-Commit-Position: refs/heads/master@{#17373}
2017-03-24 11:12:56 +00:00
solenberg
8ed482e6d7 Remove voe_base_misc_test.cc.
Only one test case in it, testing an API which is deprecated.

BUG=webrtc:4690

Review-Url: https://codereview.webrtc.org/2757213002
Cr-Commit-Position: refs/heads/master@{#17372}
2017-03-24 10:31:01 +00:00
oprypin
60c5668f1e Fix cpplint errors in locations that are already being checked
Otherwise cpplint will trigger during presubmit for unrelated changes
in these files.

BUG=webrtc:5149
NOTRY=True

Review-Url: https://codereview.webrtc.org/2767393003
Cr-Commit-Position: refs/heads/master@{#17371}
2017-03-24 10:22:49 +00:00
kwiberg
1724cfbdba WebRtcVoiceMediaChannel::AddRecvStream: Don't call SetRecPayloadType
This removes one more place where we were unable to handle codecs not
in the built-in set.

BUG=webrtc:5805

Review-Url: https://codereview.webrtc.org/2686043006
Cr-Commit-Position: refs/heads/master@{#17370}
2017-03-24 10:16:04 +00:00
deadbeef
f137e97adb Revert of Removing HTTPS and SOCKS proxy server code. (patchset #2 id:20001 of https://codereview.webrtc.org/2731673002/ )
Also needed to revert these CLs, which removed code used by the
code being un-removed:
https://codereview.webrtc.org/2745523004
https://codereview.webrtc.org/2754033003
https://codereview.webrtc.org/2758943002

Reason for revert:
This code is still being used by native application developers, so we should send a PSA announcing the deprecation and suggest an alternative before removing it.

Original issue's description:
> Removing HTTPS and SOCKS proxy server code.
>
> This isn't used any more so there's no point in maintaining it.
>
> BUG=None
>
> Review-Url: https://codereview.webrtc.org/2731673002
> Cr-Commit-Position: refs/heads/master@{#17016}
> Committed: a1991c5175

TBR=pthatcher@webrtc.org
NOPRESUBMIT=true
NOTRY=true
BUG=None

Review-Url: https://codereview.webrtc.org/2766063005
Cr-Commit-Position: refs/heads/master@{#17369}
2017-03-23 22:45:49 +00:00
elad.alon
dadb4dc3c9 Allow ANA to receive RPLR (recoverable packet loss rate) indications
This is part of a series of CLs. Next CLs:
1. CL for RPLR-based FecController
2. CL for allowing experiment-driven configuration of the above (through both field-trials and protobuf)

BUG=webrtc:7058

Review-Url: https://codereview.webrtc.org/2661043003
Cr-Commit-Position: refs/heads/master@{#17368}
2017-03-23 22:29:50 +00:00
glaznev
d1c44356c5 Add field trial to update quality scaler QP thresholds for Android HW encoder.
BUG=b/36034878

Review-Url: https://codereview.webrtc.org/2764143002
Cr-Commit-Position: refs/heads/master@{#17367}
2017-03-23 21:40:08 +00:00
jianj
f1dbf70ffc Adjust threshold for vp9 videoprocessor_integrationtest
Needed for new libvpx roll.

TBR=marpan@webrtc.org
BUG=None

Review-Url: https://codereview.webrtc.org/2769153004
Cr-Commit-Position: refs/heads/master@{#17366}
2017-03-23 20:10:00 +00:00
elad.alon
d12a8e1c8e Attach TransportFeedbackPacketLossTracker to ANA (PLR only)
This CL is one in a series. To finish the work, the following CLs will be added:
1. CL for connecting RPLR as well
2. CL for RPLR-based FecController
3. CL for allowing experiment-driven configuration of the above (through both field-trials and protobuf)

BUG=webrtc:7058

Review-Url: https://codereview.webrtc.org/2638083002
Cr-Commit-Position: refs/heads/master@{#17365}
2017-03-23 18:04:48 +00:00
nisse
7b3ce5b872 Delete FilesystemInterface::CopyFile.
Only use of this method was to implement the cross-device case of
MoveFile on unix systems.

In turn, only use of the MoveFile method is in
FileRotatingStream::RotateFiles. Since file rotation should never
involve any copying of log data, the MoveFile fallback to copying can
be deleted.

BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2747373003
Cr-Commit-Position: refs/heads/master@{#17364}
2017-03-23 17:54:16 +00:00
zhihuang
1523865cc3 Fix the fuzz test.
Fix the check failure caused by invalid ICE candidate address type.
The CL that breaks the test: https://codereview.webrtc.org/2742903002/

BUG=704326

Review-Url: https://codereview.webrtc.org/2773623002
Cr-Commit-Position: refs/heads/master@{#17363}
2017-03-23 17:32:12 +00:00
philipel
c703dc21a6 Clear PacketBuffer when full.
BUG=webrtc:5514

Review-Url: https://codereview.webrtc.org/2769963003
Cr-Commit-Position: refs/heads/master@{#17362}
2017-03-23 13:50:37 +00:00
alessiob
4b6463c0c9 Conversational Speech tool, rtc_test target replaced with entry in modules_unittests
The ConversationalSpeechTest.* unit tests are now part of modules_unittests.
The rtc_test target has been replaced with an rtc_source_set one.
The latter is included as dependency in audio_processing_unittests.

BUG=webrtc:7218

Review-Url: https://codereview.webrtc.org/2769863005
Cr-Commit-Position: refs/heads/master@{#17360}
2017-03-23 12:17:06 +00:00
maxmorin
33bf69ae66 Skip audio_device_unittest when platform audio isn't used.
BUG=7393

Review-Url: https://codereview.webrtc.org/2764403003
Cr-Commit-Position: refs/heads/master@{#17359}
2017-03-23 11:06:53 +00:00
oprypin
92220ffe9f Low-bandwidth audio testing
The C++ part of the test uses CallTest to set up an audio-only call. It reads an audio file, plays it through a FakeAudioDevice which transfers data through a FakeNetworkPipe for another FakeAudioDevice to receive it and write it to a file. Information about these files is printed to stdout.

The test cases are meant to try different network and audio configs (more are planned in the future).

The Python part of the test runs the C++ part and scans stdout for tests to perform, runs the pairs of files (original and degraded) through the PESQ tool to receive a score and writes that to perf dashboard.

BUG=webrtc:7229
NOTRY=True

Review-Url: https://codereview.webrtc.org/2694203002
Cr-Commit-Position: refs/heads/master@{#17356}
2017-03-23 10:40:03 +00:00
kjellander
7007bcf5b3 Enable complete_static_lib on Mac and iOS
BUG=webrtc:6418
NOTRY=True

Review-Url: https://codereview.webrtc.org/2764523002
Cr-Commit-Position: refs/heads/master@{#17354}
2017-03-23 09:49:15 +00:00
kwiberg
b0bf93a4b7 DCHECK that no RTPPayloadRegistry instance is used for both audio and video
BUG=webrtc:5805

Review-Url: https://codereview.webrtc.org/2763323002
Cr-Commit-Position: refs/heads/master@{#17352}
2017-03-23 07:10:09 +00:00
zijiehe
65cb53a5c6 Use constexpr function FourCC instead of macro
constexpr function should be preferred than a macro. So this change replaces
FOURCC() macro with a constexpr uint32_t FourCC() function.

BUG=679523, 650926

Review-Url: https://codereview.webrtc.org/2771573002
Cr-Commit-Position: refs/heads/master@{#17351}
2017-03-23 07:02:01 +00:00
pbos
e6fe2a9a7f Simplify default temporal layers.
Moves towards separating which layers may be referenced instead of
referencing libvpx flags directly. This will make strategies easier to
extract and usable from hardware encoders (RTCVideoEncoder, for
instance).

BUG=chromium:702017, webrtc:7349
R=brandtr@webrtc.org, marpan@webrtc.org. sprang@webrtc.org

Review-Url: https://codereview.webrtc.org/2747123005
Cr-Commit-Position: refs/heads/master@{#17349}
2017-03-22 20:44:15 +00:00
zijiehe
88ac827877 Add DesktopCapturerId and attach it to DesktopFrame
This change adds a DesktopCapturerId namespace, and attaches an int to each
DesktopFrame. ScreenCapturerWinGdi and ScreenCapturerWinDirectx now actively set
this field to differentiate themselves.

BUG=679523, 650926

Review-Url: https://codereview.webrtc.org/2759493002
Cr-Original-Commit-Position: refs/heads/master@{#17329}
Committed: 41e3d9ff3b
Review-Url: https://codereview.webrtc.org/2759493002
Cr-Commit-Position: refs/heads/master@{#17347}
2017-03-22 18:38:46 +00:00
alessiob
ce302b82c9 Conversational speech tool: timing model with data access.
The conversational_speech::Timing class models a list of turns.
Each turn, is identified by a speaker, the audiotrack name, and an offset in milliseconds.
The unit test checks that an instance of Timing is correctly populated and that save/reload leads to the same data.

BUG=webrtc:7218

Review-Url: https://codereview.webrtc.org/2750353002
Cr-Commit-Position: refs/heads/master@{#17346}
2017-03-22 15:23:46 +00:00