Commit Graph

15338 Commits

Author SHA1 Message Date
6a46cf7951 Roll chromium_revision db14e1adbd..b66d8ae9dc (435041:435081)
Change log: db14e1adbd..b66d8ae9dc
Full diff: db14e1adbd..b66d8ae9dc

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2532333004
Cr-Commit-Position: refs/heads/master@{#15306}
2016-11-29 22:08:02 +00:00
c9e80eee51 Adding packet overhead to audio network adaptor.
BUG=webrtc:6303, webrtc:6762

Review-Url: https://codereview.webrtc.org/2530653003
Cr-Commit-Position: refs/heads/master@{#15305}
2016-11-29 21:00:37 +00:00
821dc7aa66 Roll chromium_revision 683745f53c..db14e1adbd (434997:435041)
Change log: 683745f53c..db14e1adbd
Full diff: 683745f53c..db14e1adbd

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2538833002
Cr-Commit-Position: refs/heads/master@{#15304}
2016-11-29 19:10:22 +00:00
a33287761a Remove overhead from video bitrate.
BUG=webrtc:6638

Review-Url: https://codereview.webrtc.org/2517243005
Cr-Commit-Position: refs/heads/master@{#15303}
2016-11-29 17:25:10 +00:00
c4dc4a5956 Adding RTCStatsIntegrationTest to memcheck supressions.
It's at the same level as the other end-to-end tests that are also
disabled. It seems to be failing because it's not fast enough to keep up
with processing fake video frames.

BUG=webrtc:4387
TBR=kjellander@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2538783002
Cr-Commit-Position: refs/heads/master@{#15302}
2016-11-29 17:06:21 +00:00
75f9d8c4e4 Roll chromium_revision ffe8e7b51d..683745f53c (434954:434997)
Change log: ffe8e7b51d..683745f53c
Full diff: ffe8e7b51d..683745f53c

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2541533003
Cr-Commit-Position: refs/heads/master@{#15301}
2016-11-29 16:24:12 +00:00
290d43aa14 Add a new UMA metric in APM to track incoming capture-side audio level
This CL adds WebRTC.Audio.ApmCaptureInputLevelAverage and
WebRTC.Audio.ApmCaptureInputLevelPeak. The metrics are updated once
every 10 seconds.

BUG=webrtc:6622

Review-Url: https://codereview.webrtc.org/2534473004
Cr-Commit-Position: refs/heads/master@{#15300}
2016-11-29 16:09:17 +00:00
939e08f5f4 Added webrtc/audio/utility directory and empty GN target.
This Cl is the first step of a 3-step process to trick the build system of a
webrtc dependency into not failing.

The second step will be to register this folder in the dependency
build system. It cannot be done first, because there must be a GN
dependency from some existing target to a target in the new folder.

The third step is to land https://codereview.webrtc.org/2424173003, in
which the webrtc/audio/utility is used.

When a new folder with a publicly visible header is added, the build
files of said build system must be manually updated to register the
new folder.

BUG=webrtc:6548

Review-Url: https://codereview.webrtc.org/2532403003
Cr-Commit-Position: refs/heads/master@{#15299}
2016-11-29 15:32:15 +00:00
ee414d90b0 Added sanity check to VCMDecodingState::UsingFlexibleMode to prevent OOB error.
BUG=chromium:667504

Review-Url: https://codereview.webrtc.org/2534883003
Cr-Commit-Position: refs/heads/master@{#15298}
2016-11-29 15:01:29 +00:00
ad6f646a3f Use //build/dotfile_settings.gni to reduce blocked auto-rolls
This was added in https://codereview.chromium.org/2512043002

BUG=chromium:617873
NOTRY=True

Review-Url: https://codereview.webrtc.org/2534913002
Cr-Commit-Position: refs/heads/master@{#15297}
2016-11-29 14:35:23 +00:00
768d6259dc Fix spelling mistake in RTP module declaration.
BUG=None
R=danilchap@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2531223004
Cr-Commit-Position: refs/heads/master@{#15296}
2016-11-29 14:19:49 +00:00
b890c95c33 Replace some asserts with DCHECKs
NOPRESUBMIT=true
BUG=webrtc:6779

Review-Url: https://codereview.webrtc.org/2535643002
Cr-Commit-Position: refs/heads/master@{#15295}
2016-11-29 13:30:47 +00:00
5049942219 Refactor RMSLevel and give it new functionality
This change rewrites RMSLevel, making it accept an ArrayView as input,
and modify the implementation somewhat. It also makes the class keep
track of the peak RMS in addition to the average RMS over the
measurement period.

New tests are added to cover the new functionality.

BUG=webrtc:6622

Review-Url: https://codereview.webrtc.org/2535523002
Cr-Commit-Position: refs/heads/master@{#15294}
2016-11-29 12:26:31 +00:00
1308c69466 Roll chromium_revision 0496be2799..ffe8e7b51d (434847:434954)
Change log: 0496be2799..ffe8e7b51d
Full diff: 0496be2799..ffe8e7b51d

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2532203004
Cr-Commit-Position: refs/heads/master@{#15293}
2016-11-29 11:22:22 +00:00
f17cae24f4 Cleanup unused rules in webrtc/DEPS + add kjellander to OWNERS for it
Remove entries for headers that no longer exists in the webrtc/ dir.

BUG=webrtc:5878
NOTRY=True

Review-Url: https://codereview.webrtc.org/2540633002
Cr-Commit-Position: refs/heads/master@{#15292}
2016-11-29 10:52:22 +00:00
668eb3b71c Add overhead to transport feedback observer.
BUG=webrtc:6762

Review-Url: https://codereview.webrtc.org/2525283002
Cr-Commit-Position: refs/heads/master@{#15291}
2016-11-29 10:24:23 +00:00
19223ace65 Ignore newly added resource files.
As part of https://codereview.webrtc.org/2532963002/
we added two new resource file which needs to be ignored.

BUG=webrtc:6761
NOTRY=true

Review-Url: https://codereview.webrtc.org/2536133002
Cr-Commit-Position: refs/heads/master@{#15290}
2016-11-29 10:23:05 +00:00
455b512333 Landmine to clobber Windows builders
Speculative clobber to see if the Win 64-bit Debug linking
errors go away.

BUG=chromium:668961
TBR=ossu@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#15289}
2016-11-29 10:14:47 +00:00
1b5b22dc17 Fixed bug in ExtractFrameFromY4mFile API which was not extracting the frames correctly.
Issue: This API was calculating the file_header and frame_header offset only for the first frame which is not the right logic. We need to skip the file and frame header every time we extract a new frame.

Also added a unit test case which compares the extracted frame with the frame stored in text file.

NOPRESUBMIT=true
NOTRY=true

BUG=webrtc:6761

Review-Url: https://codereview.webrtc.org/2532963002
Cr-Commit-Position: refs/heads/master@{#15288}
2016-11-29 10:01:26 +00:00
db346a7cbe RTCStatsIntegrationTest added.
This is an integration test using peerconnectiontestwrapper.h to set up
and end to end test using a real PeerConnection implementation. These
tests will complement rtcstatscollector_unittest.cc which collects all
stats using mocks.

The integration test is set up so that all stats types are returned by
GetStats and verifies that expected dictionary members are defined. The
test could in the future be updated to include sanity checks for the
values of members. There is a sanity check that references to other
stats dictionaries yield existing stats of the appropriate type, but
other than that members are only tested for if they are defined not.

StatsCallback of rtcstatscollector_unittest.cc is moved so that it can
be reused and renamed to RTCStatsObtainer.

TODO: Audio stream track stats members are missing in the test. Find out
if this is because of a real problem or because of testing without real
devices. Do this before closing crbug.com/627816.

BUG=chromium:627816

Review-Url: https://codereview.webrtc.org/2521663002
Cr-Commit-Position: refs/heads/master@{#15287}
2016-11-29 09:57:08 +00:00
876222f77d Move usage of QualityScaler to ViEEncoder.
This brings QualityScaler much more in line with OveruseFrameDetector.
The two classes are conceptually similar, and should be used in the
same way. The biggest changes in this CL are:
- Quality scaling is now only done in ViEEncoder and not in each
  encoder implementation separately.
- QualityScaler now checks the average QP asynchronously, instead of
  having to be polled on each frame.
- QualityScaler is no longer responsible for actually scaling the frames,
  but has a callback to ViEEncoder that it uses to express it's desire
  for lower resolution.

BUG=webrtc:6495

Review-Url: https://codereview.webrtc.org/2398963003
Cr-Commit-Position: refs/heads/master@{#15286}
2016-11-29 09:44:22 +00:00
320e45ad87 Use RateCounter for input/sent fps stats. Reports average of periodically computed stats over a call.
Intervals when video is paused is no longer included in the stats:
"WebRTC.Video.InputFramesPerSecond"
"WebRTC.Video.SentFramesPerSecond"

BUG=webrtc:5283

Review-Url: https://codereview.webrtc.org/2536743002
Cr-Commit-Position: refs/heads/master@{#15285}
2016-11-29 09:40:46 +00:00
65e5f5a69f Roll chromium_revision d74a300097..0496be2799 (434704:434847)
Change log: d74a300097..0496be2799
Full diff: d74a300097..0496be2799

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2534093002
Cr-Commit-Position: refs/heads/master@{#15284}
2016-11-29 03:19:31 +00:00
bdd6f4c332 Adding memcheck suppression.
See linked bug.

BUG=webrtc:6788
TBR=kjellander@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2537563003
Cr-Commit-Position: refs/heads/master@{#15283}
2016-11-29 03:05:43 +00:00
6cf94a0118 Only use BoringSSL time callback in unit tests.
The actual time used in production code should honor the epoch time.

BUG=webrtc:6737

Review-Url: https://codereview.webrtc.org/2526433002
Cr-Commit-Position: refs/heads/master@{#15282}
2016-11-29 01:38:39 +00:00
352444fcac RTC_[D]CHECK_op: Remove superfluous casts
There's no longer any need to make the two arguments have the same
signedness, so we can remove a bunch of superfluous (and sometimes
dangerous) casts.

It turned out I also had to fix the safe_cmp functions to properly handle
enums that are implicitly convertible to integers.

NOPRESUBMIT=true
BUG=webrtc:6645

Review-Url: https://codereview.webrtc.org/2534683002
Cr-Commit-Position: refs/heads/master@{#15281}
2016-11-28 23:59:03 +00:00
af476c737f RTC_[D]CHECK_op: Remove "u" suffix on integer constants
There's no longer any need to make the two arguments have the same
signedness, so we can drop the "u" suffix on literal integer
arguments.

NOPRESUBMIT=true
BUG=webrtc:6645

Review-Url: https://codereview.webrtc.org/2535593002
Cr-Commit-Position: refs/heads/master@{#15280}
2016-11-28 23:21:51 +00:00
80ed35e21c Implement periodic bandwidth probing in application-limited region.
Now ProbeController can send periodic bandwidth probes when in
application-limited region. This will allow to maintain correct
bottleneck bandwidth estimate, even not all bandwidth is being used.
The feature is not enabled by default, but can be enabled with a flag.
Interval between probes is currently set to 5 seconds.

BUG=webrtc:6332

Review-Url: https://codereview.webrtc.org/2504023002
Cr-Commit-Position: refs/heads/master@{#15279}
2016-11-28 21:11:24 +00:00
bf22be902e Roll chromium_revision 2b5aa49038..d74a300097 (434640:434704)
Change log: 2b5aa49038..d74a300097
Full diff: 2b5aa49038..d74a300097

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2536833002
Cr-Commit-Position: refs/heads/master@{#15278}
2016-11-28 19:31:47 +00:00
fd87f4af66 Opus: Move complexity variable out of conditional build flag
BUG=webrtc:6708

Review-Url: https://codereview.webrtc.org/2535933002
Cr-Commit-Position: refs/heads/master@{#15277}
2016-11-28 19:16:00 +00:00
1bc3146e08 Disable more VideoProcessorIntegrationTest tests on Linux 32-bit
The previously disabled tests on TSan and UBSan are also failing on
Linux 32-bit.

BUG=webrtc:6781
R=ehmaldonado@webrtc.org
TBR=deadbeef@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#15276}
2016-11-28 18:34:43 +00:00
bb58435da0 Fix potential synchronization issues with framelisteners in EglRenderer.
Previously, a frame queued before calling addFrameListener could be
passed to the listener. Also fixes an issue where listener could still
be called after removeFrameListener call returned.

BUG=webrtc:6470

Review-Url: https://codereview.webrtc.org/2529313002
Cr-Commit-Position: refs/heads/master@{#15275}
2016-11-28 16:53:50 +00:00
266f0a44eb Now run EndToEndTest with the WebRTC-NewVideoJitterBuffer experiment.
In this CL:
 - EndToEndTests is now parameterized.
 - Added VP8 non-rotated unittest.
 - CanReceiveUlpfec/CanReceiveFlexFec now use multisets for timestamps.
 - pre_decode_image_callback_ is now called before decoding a frame
   with the new video jitter buffer.
 - Set video rotation when FrameObjects are created.
 - Calculate KeyFramesReceivedInPermille in new video jitter buffer.

BUG=webrtc:5514

Review-Url: https://codereview.webrtc.org/2522493002
Cr-Commit-Position: refs/heads/master@{#15274}
2016-11-28 16:49:15 +00:00
d1aaaaa125 Remove surface size mismatch logic from EglRenderer.
This logic doesn't really work. Application should mask the view while
the surface size is being changed.

BUG=webrtc:6470

Review-Url: https://codereview.webrtc.org/2528243003
Cr-Commit-Position: refs/heads/master@{#15273}
2016-11-28 16:47:12 +00:00
6287e82b9b Revert of Pass time constant to bwe smoothing filter. (patchset #8 id:140001 of https://codereview.webrtc.org/2518923003/ )
Reason for revert:
Unfortunately, this change breaks internal projects. Specifically the change to the CongestionController interface means anything implementing it will be forced to change in lock-step.

Original issue's description:
> Pass time constanct to bwe smoothing filter.
>
> BUG=webrtc:6443, webrtc:6303
>
> Committed: https://crrev.com/9abbf5ae4ec7d688a9b4aa03a405f3faadb74b90
> Cr-Commit-Position: refs/heads/master@{#15266}

TBR=minyue@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:6443, webrtc:6303

Review-Url: https://codereview.webrtc.org/2532993002
Cr-Commit-Position: refs/heads/master@{#15272}
2016-11-28 16:05:23 +00:00
7703b27c42 Disable PeerConnectionEndToEndTest.CallWithLegacySdp on Asan bots.
BUG=webrtc:6765
TBR=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#15271}
2016-11-28 15:23:20 +00:00
ceecea4559 Pass selected cricket::VideoCodec down to internal H264 encoder
Pass the selected cricket::VideoCodec to H264EncoderImpl::H264EncoderImpl. The cricket::VideoCodec contains relevant information for H264 about selected profile and packetization mode.

BUG=chromium:600254,webrtc:6402, webrtc:6337

Review-Url: https://codereview.webrtc.org/2474993002
Cr-Commit-Position: refs/heads/master@{#15270}
2016-11-28 15:20:26 +00:00
20dce34578 Fixed bug in PacketBuffer to correctly detect new complete frames after ClearTo has been called.
BUG=webrtc:5514
R=stefan@webrtc.org, terelius@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#15269}
2016-11-28 15:15:04 +00:00
e1a13f8b3c MB: Remove a --target-devices-file flag for JUnit tests on android.
Not needed since it doesn't run in a device. It will enable us to run JUnit
tests on android on swarming too :) and more good stuff like flakiness dashboard

BUG=chromium:497757
R=kjellander@webrtc.org

Review-Url: https://codereview.webrtc.org/2531993003
Cr-Commit-Position: refs/heads/master@{#15268}
2016-11-28 15:14:15 +00:00
a8eb756a34 Moved transport.h from webrtc/ to webrtc/api, created build target and updated WebRTC dependencies.
transport.h defines an interface for sending rtp and rtcp packets,
which is used by MediaChannel in webrtc/media/engine,
{Audio|Video}{Send|Receive}Stream and in a few other
places. It was part of the build target //webrtc:webrtc, which is a monolithic target with
all webrtc production code. This CL moves the header to its own target in webrtc/api
and deprecates the old location.

Targets in webrtc/api should in general only depend on other
targets in webrtc/api. The target webrtc/api:call_api depends on
transport.h. This change also makes webrtc/voice_engine pass GN's header
include checker and is needed in order for webrtc/api:call_api to pass
it.

transport.h will be completely removed in a follow-up CL in a few weeks
after clients have updated their includes.

NOTRY=True

BUG=webrtc:5589, webrtc:5878, webrtc:6785

Review-Url: https://codereview.webrtc.org/2426563003
Cr-Commit-Position: refs/heads/master@{#15267}
2016-11-28 15:02:19 +00:00
9abbf5ae4e Pass time constanct to bwe smoothing filter.
BUG=webrtc:6443, webrtc:6303

Review-Url: https://codereview.webrtc.org/2518923003
Cr-Commit-Position: refs/heads/master@{#15266}
2016-11-28 15:00:24 +00:00
ffc61181d8 Don't cache video codec list in VideoEngine2.
A WebRtcVideoEngine2 object seems to be reused between PeerConnections,
which means that the field trial added in
https://codereview.webrtc.org/2511703002/ may not activate/deactivate
as intended between calls. This CL removes the caching of video codecs,
which gets rid of this problem.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2521393004
Cr-Commit-Position: refs/heads/master@{#15265}
2016-11-28 14:02:28 +00:00
ec1a670167 Only create |remote_rate| when needed in RemoteBitrateEstimatorSingleStream.
R=stefan@webrtc.org
BUG=None

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

Cr-Commit-Position: refs/heads/master@{#15264}
2016-11-28 13:48:33 +00:00
fb4a37abdd Add memcheck suppressions.
See https://bugs.chromium.org/p/webrtc/issues/detail?id=6784.
Logs at https://chromium-swarm.appspot.com/user/task/32c3751be40a5a10.

BUG=webrtc:6784
R=kjellander@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2532923002
Cr-Commit-Position: refs/heads/master@{#15263}
2016-11-28 13:40:03 +00:00
26fa6b2103 Revert of Bug in ExtractFrame API (extracts frames incorrectly) (patchset #9 id:130001 of https://codereview.webrtc.org/2529923002/ )
Reason for revert:
Breaking some trybots due to memory error.

Original issue's description:
> Fixed bug in ExtractFrameFromY4mFile API which was not extracting the frames correctly.
>
> Issue: This API was calculating the file_header and frame_header offset only for the first frame which is not the right logic. We need to skip the file and frame header every time we extract a new frame.
>
> Also added a unit test case which compares the extracted frame with the frame stored in text file.
>
> BUG=webrtc:6761
>
> NOPRESUBMIT=true
> NOTRY=true
>
> Committed: https://crrev.com/b7636b4656d7f8c368963f2256dc2ef7b7ba89c8
> Cr-Commit-Position: refs/heads/master@{#15260}

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

Review-Url: https://codereview.webrtc.org/2535783002
Cr-Commit-Position: refs/heads/master@{#15262}
2016-11-28 13:34:11 +00:00
566cba1e41 Roll chromium_revision 5c22c2afac..2b5aa49038 (434448:434640)
Change log: 5c22c2afac..2b5aa49038
Full diff: 5c22c2afac..2b5aa49038

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2532003003
Cr-Commit-Position: refs/heads/master@{#15261}
2016-11-28 13:05:16 +00:00
b7636b4656 Fixed bug in ExtractFrameFromY4mFile API which was not extracting the frames correctly.
Issue: This API was calculating the file_header and frame_header offset only for the first frame which is not the right logic. We need to skip the file and frame header every time we extract a new frame.

Also added a unit test case which compares the extracted frame with the frame stored in text file.

BUG=webrtc:6761

NOPRESUBMIT=true
NOTRY=true

Review-Url: https://codereview.webrtc.org/2529923002
Cr-Commit-Position: refs/heads/master@{#15260}
2016-11-28 13:04:04 +00:00
2f58ec82fc Add I420Buffer::Copy method taking plane pointers as input.
BUG=None.

Review-Url: https://codereview.webrtc.org/2528153002
Cr-Commit-Position: refs/heads/master@{#15259}
2016-11-28 11:48:01 +00:00
e441bdb744 Cleanup RtpSender hiding RtpHeaderExtensionLength function.
This function has no public use,
removed tests calling it: effect of registering extension is better
tested in AllocatePacket and SendPacket tests.

BUG=webrtc:5565

Review-Url: https://codereview.webrtc.org/2530363002
Cr-Commit-Position: refs/heads/master@{#15258}
2016-11-28 10:55:01 +00:00
2fedf9c69a Smooth BWE and pass it to Audio Network Adaptor.
BUG=webrtc:6443, webrtc:6303

Review-Url: https://codereview.webrtc.org/2503713003
Cr-Commit-Position: refs/heads/master@{#15257}
2016-11-28 10:34:23 +00:00