1561 Commits

Author SHA1 Message Date
Sebastian Jansson
f7f9845d9e Adds modules/utility to test/DEPS.
This will be used in an upcoming CL.

Bug: webrtc:10365
Change-Id: Ic5f44fdb7579de994dd0896116573de6a46dfc00
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128401
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27211}
2019-03-20 14:48:15 +00:00
Artem Titov
98aa44859b Move Params, InjectableComponents and classes around on the top level
Bug: webrtc:10138
Change-Id: I3ee489c5558f9acad30587dc774ed240e115640e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128608
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27210}
2019-03-20 14:45:05 +00:00
Danil Chapovalov
22ed366fec Avoid using global task queue factory in fake encoder
by not using convenient rtc::TaskQueue constructor

Bug: webrtc:10284
Change-Id: I3c6703fd8c86b2a230f62cac734eb616039e4abe
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128603
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27207}
2019-03-20 12:33:05 +00:00
Elad Alon
cde8ab265e Use single FrameBufferController in VP8, created by a factory.
This CL paves the way to making FrameBufferController injectable.

LibvpxVp8Encoder can manage multiple streams. Prior to this CL,
each stream had its own frame buffer controller, all of them held
in a vector by LibvpxVp8Encoder. This complicated the code and
produced some code duplication (cf. SetupTemporalLayers).

This CL:
1. Replaces CreateVp8TemporalLayers() by a factory. (Later CLs
   will make this factory injectable.)
2. Makes LibvpxVp8Encoder use a single controller. This single
   controller will, in the case of multiple streams, delegate
   its work to multiple controllers, but that fact is not visible
   to LibvpxVp8Encoder.

This CL also squashes CL #126046 (Send notifications of RTT and
PLR changes to Vp8FrameBufferController) into it.

Bug: webrtc:10382
Change-Id: Id9b55734bebb457acc276f34a7a9e52cc19c8eb9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126483
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27206}
2019-03-20 11:54:02 +00:00
Artem Titov
d09bc55d3b Introduce new API for runnig PC e2e test fixture
Bug: webrtc:10138
Change-Id: I704f09843e5b8a05de4a1d25a4baa44c683a5552
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128402
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Peter Slatala <psla@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27204}
2019-03-20 11:23:29 +00:00
Artem Titov
0b44314b76 Move PC e2e test framework into its own namespace
Bug: webrtc:10138
Change-Id: I7fc02967058d3c53da73e280a7a1533a0860ba4c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128403
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Peter Slatala <psla@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27203}
2019-03-20 11:12:59 +00:00
Danil Chapovalov
d26a916a80 Avoid using GlobalTaskQueueFactory for TaskQueueForTest
To remove global task factory, rtc::TaskQueue need to loose it's convenient constructor
TaskQueueForTest can be used instead in tests and keep the convenient constructor.

Also cleanup the TaskQueueForTest a bit:
move the class to webrtc namespace
add default constructor
disallow copy using language construct instead of macro
cleanup build dependencies
rename build target (to match move out of the rtc namespace)

Bug: webrtc:10284
Change-Id: I17fddf3f8d4f363df7d495c28a5b0a28abda1ba7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127571
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27193}
2019-03-19 18:11:52 +00:00
Artem Titov
82b7ff5797 Don't store last rendered frame in DefaultVideoQualityAnalyzer
Bug: webrtc:10138
Change-Id: I1aec9b8e5abbc202cafcf7db74aba89182612308
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128578
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27183}
2019-03-19 16:39:07 +00:00
Niels Möller
4fa9eded8e Refactor DefaultEncodedImageDataInjector to let EncodedImage own the data.
Bug: webrtc:9378
Change-Id: I930935b6d4759dfbdb03a4ca2728a8b637997045
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128577
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27181}
2019-03-19 16:13:17 +00:00
Artem Titov
80cfd81483 Move PeerConnectionComponents when creating PeerConnectionDependencies.
Move PeerConnectionComponents when creating PeerConnectionDependencies
instead of passing them by pointer in test_peer.cc in PC e2e test
framework

Bug: webrtc:10138
Change-Id: I490f576c6af3eab42df04ba597945e66a87880e9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128579
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27180}
2019-03-19 16:04:27 +00:00
Artem Titov
276cdfcf6a Rename resolution_of_encoded_image into resolution_of_rendered_frame.
Rename resolution_of_encoded_image into resolution_of_rendered_frame in
DefaultVideoQualityAnalyzer to make it consistent with the way, how it
is calculated.

Bug: webrtc:10138
Change-Id: Ibf89f08ac0646b57b4a6b8316cec1ed73bad02a2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128576
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27179}
2019-03-19 15:41:22 +00:00
Artem Titov
608d801d14 Use deque instead of list in DefaultVideoQualityAnalyzer.
Use deque instead of list in DefaultVideoQualityAnalyzer for frame ids
in the single video stream.

Bug: webrtc:10138
Change-Id: Ie4f004b6f2aa5facf216551a12bdafcf3fcddfee
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128574
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27178}
2019-03-19 15:14:44 +00:00
Artem Titov
2236bb993a Reduce smoke test video resolution.
Reduce resolution of smoke test in PC E2E test framework to reduce load
on bots, cause this test isn't part of performance test binary.

Bug: webrtc:10138
Change-Id: I2c3758583c03e75be17bfef799a31f63357834c6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128380
Reviewed-by: Artem Titarenko <artit@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27157}
2019-03-18 10:48:53 +00:00
Artem Titov
ba82e0020d Add API to schedule environment changing actions during test in PC E2E framework
Bug: webrtc:10138
Change-Id: Ieebeec823829eb9dcaba4c31e7e9e998814982e3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126463
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Peter Slatala <psla@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27153}
2019-03-15 20:44:01 +00:00
Benjamin Wright
47dbcabc2e Fuzzing support for RTPDump VP8 and VP9 Streams.
This change integrates fuzzing support for RtpDumps in WebRTC. This allows
LibFuzzer to directly fuzz the RTP code path from packet arrival all the way
to actual decoding and rendering. It does this by replaying each RTP packet
in the RTPDump which can be mutated directly by the fuzzer.

For fuzzing support the RtpFileReader needs to support reading from a
buffer instead of an file. The test class requires FILE* for all its
parsing operations and is deeply coupled this way. I chose to solve this
problem at an OS level by using the tmpfile() option and copying the buffer
to the tmpfile(). fmemopen() is no available on most platforms so couldn't
be used as a generic solution. The additional copy isn't ideal but won't
be a bottleneck for the fuzzing.

In the future I plan for the fuzzers to read from a configuration file. But
given the current packaging strategy for fuzzers in WebRTC this isn't easy.

Bug: webrtc:9860
Change-Id: I2560120e82663f9e9fb5b9640e6a6d16f9c1a360
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126682
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27151}
2019-03-15 18:48:43 +00:00
Niels Möller
ad31c98576 Don't use the Process method of vcm::VideoReceiver
It's used for driving the old jitter buffer, which is used only when
vcm::VideoReceiver is used via the legacy VideoCodingModule api.

Bug: webrtc:7408
Change-Id: I179d5b26e112d9f94615d2e1b410b51a657aa05b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127294
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27147}
2019-03-15 15:26:03 +00:00
Artem Titov
7bf8c7f8cc Add public API for NetworkEmulationManager
Bug: webrtc:10138
Change-Id: Ib5f8e95761813bd117a5e29adbc6822a5c6c73bd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126122
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27146}
2019-03-15 14:50:59 +00:00
Kári Tristan Helgason
10db597e76 Support different capture resolutions in new video_loopback.
Bug: webrtc:10391
Change-Id: I0732dade47d18c4d8c65eef2a4011b87caf2e7c5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126800
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27131}
2019-03-14 14:01:32 +00:00
Gustaf Ullberg
9249fbf3a6 AEC3: Redesign delay headroom
This change reduces the risk of echo due to noise in the headroom
of the linear filter.

Changes:
- Use shorter delay headroom
- Delay headroom is specified in samples (not blocks)
- No hysteresis limit when delay is reduced

Bug: chromium:119942,webrtc:10341
Change-Id: I708e80e26d541dff8ca04b6da2d346a1d59cbfcb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126420
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27126}
2019-03-14 11:04:47 +00:00
Benjamin Wright
d5e1c372c9 SSLCertificate basic fuzzer.
This change simply calls through all code paths in the SSLCertificate interface
after passing in an untrusted PEM string. Corpus will follow in another CL.

Bug: webrtc:10395
Change-Id: I001642fa89a84ce01505780f5e76f01a0e46a785
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127640
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27118}
2019-03-14 03:53:24 +00:00
Amit Hilbuch
ce66bb4d81 Adding simulcast examples to the fuzzing corpus.
Adding an example of a request to send simulcast (from the PC).
Adding an example of a request to receive simulcast (from the SFU).

Bug: webrtc:10409
Change-Id: I13b689621e2f89f8e00b7ee8bc542157ccebb873
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127621
Reviewed-by: Benjamin Wright <benwright@webrtc.org>
Commit-Queue: Amit Hilbuch <amithi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27116}
2019-03-14 01:10:08 +00:00
Benjamin Wright
1295b0def0 Add basic fuzzing for rtp_header_parser.h/cc.
rtp_header_parser currently has 0% fuzzing coverage. To improve this I have
added a basic fuzzer which fuzzes all of the available paths.

Bug: webrtc:10395
Change-Id: I30324b2bfa7629b0110527258b33b7e048e89fcf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127040
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27115}
2019-03-13 23:31:16 +00:00
Benjamin Wright
7f3687ce26 Integrate parsing of SCTP messages into WebRTC Fuzzers.
This change adds a basic fuzzer to exercise parsing of SCTP messages.

Bug: webrtc:10395
Change-Id: I1fd7a8560add3463c1978ebcad30082ae31f2073
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127042
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27113}
2019-03-13 20:52:46 +00:00
Benjamin Wright
d6c4b80268 Add Fuzzing support for ParseRtcpPacketSenderSsrc.
This function is called on each incoming RTCP payload.

Bug: webrtc:10395
Change-Id: I164746fe45912cc503565e77046b5d884e0204e6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127122
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27110}
2019-03-13 17:28:56 +00:00
Artem Titov
baf271f978 DefaultVideoQualityAnalyzer cleanup.
Remove done todos

Bug: webrtc:10138
Change-Id: I33ad6da41bf51a0ed3bafd5ae671f94d00e16ce3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127563
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27109}
2019-03-13 16:58:28 +00:00
Sebastian Jansson
123f3453e2 Cleanup of scenario test framework.
* Removing unused return values.
* Using TaskQueueForTest to do blocking calls.
* Improving naming.

This prepares for future work to run scenario tests in simulated time.

Bug: webrtc:10365
Change-Id: I2c100e9c20f4b85e85d7b455ea01944f6a14e08f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127561
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27105}
2019-03-13 15:09:28 +00:00
Artem Titov
f84b95dbec Rename network_manager -> emulation.
Rename network_manager -> network_emulation_manager in the
network_emulation_pc_unittest.cc

Bug: webrtc:10138
Change-Id: I5df29f22d3d570bce1701d43d54d6d40f703b19b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127523
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27103}
2019-03-13 15:03:32 +00:00
Artem Titov
208634763a Move creation of rtc::NetworkManager into network emulation layer
Bug: webrtc:10138
Change-Id: I64271fab46a8dccb09f255eb14a4404b0bccdea3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127285
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27097}
2019-03-13 12:52:49 +00:00
Sebastian Jansson
cda86dd483 Removes usages of repeating task without task queue argument.
This prepares from removing the overload in a followup CL.

Bug: webrtc:10365
Change-Id: I80db16e7d37944e3dc7d2799bbf45ef8f439a22c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126860
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27091}
2019-03-13 08:07:56 +00:00
Benjamin Wright
dfaea9dd98 Fuzz rtc::StringToNumber.
StringToNumber is directly used in parsing the SDP so it should be fuzzed.

Bug: webrtc:10395
Change-Id: I85b520fbefd34d3dba49950c5ff297b482c572b1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127123
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27089}
2019-03-12 22:05:46 +00:00
Benjamin Wright
6a5e976fbe Add generic depacketizer fuzzer to WebRTC.
The generic video depacketizer was missed in the initial fuzzing pass.

Bug: webrtc:10395
Change-Id: I166f27fc5897a2eafe38dad8e074834fefcc330e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127041
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27088}
2019-03-12 20:48:19 +00:00
Benjamin Wright
ade5cb8294 Field trial fuzzer.
This simple fuzzer is intended to detect potential issues in the field trial
parsing code. Since these can be set by the browser it is better to have some
fuzzing coverage around this area.

Bug: webrtc:10395
Change-Id: I1b8b859d2107a0bc99cb7520cf0ef96f3d110547
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127121
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27087}
2019-03-12 20:47:15 +00:00
Artem Titov
fc6ab00a39 Introduce EmulatedRoute
Introduce a handle for route created with network emulation layer,
that can be used to remove it in future properly.

Bug: webrtc:10138
Change-Id: I9fb847caeee24333bafb328727711af005b09224
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127283
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27074}
2019-03-12 13:25:32 +00:00
Artem Titov
a268b69037 Rename EndpointConfig into EmulatedEndpointConfig
Also fix minor issues in this class.

Bug: webrtc:10138
Change-Id: Icb3ec7f6296c34da260e701ec51d7b87ce62a4d7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127281
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27073}
2019-03-12 13:24:29 +00:00
Danil Chapovalov
471783fc87 Remove rtc::QueuedTask alias, use webrtc::QueuedTask directly
Use absl::WrapUnique/absl::make_unique to create the queued tasks.

Bug: webrtc:10191
Change-Id: I8f47a60cb326b0fc361c7f0e338b25373d39937c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126525
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27063}
2019-03-11 16:49:21 +00:00
Sebastian Jansson
d155d686f8 Removes rtp level keep alive support.
This is not used in practice as there's functionality on
other levels that serves the same purpose.

Bug: None
Change-Id: I0488dc42459b07607363eba0f2b06f4c50f7cda4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/125520
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27061}
2019-03-11 14:47:15 +00:00
Sam Zackrisson
d71edac904 Add an input size limit to APM fuzzer
The fuzzer times out on too long inputs.
This CL limits tests to 400 000 bytes, ~ 12 seconds of 8 kHz float audio.

Bug: chromium:940209
Change-Id: I86b772f9d8989a8b129d933d25ece3631a6a365f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126780
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27059}
2019-03-11 14:01:09 +00:00
Artem Titov
aba8dc2a00 Rename EndpointNode into EmulatedEndpoint
This CL is preparation for extraction of public API for network
emulation layer.

Bug: webrtc:10138
Change-Id: Id59204ea20a103dafce4122c59e51a354836c374
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126624
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27050}
2019-03-11 09:47:47 +00:00
Danil Chapovalov
f0cbcd39e7 Use stdlib TaskQueue implementation in webrtc fuzzers
Bug: chromium:939093, webrtc:10191
Change-Id: I90463a1b3a003ff575a61cd8f6351927947759f8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126221
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27030}
2019-03-08 09:49:31 +00:00
Jeroen de Borst
2c7b9825bc Revert "Delete CodecSpecificInfo argument from VideoDecoder::Decode"
This reverts commit 39d3a7de02d63894d12e7332322e1d80cd7c0d40.

Reason for revert: This change broke an internal project

Original change's description:
> Delete CodecSpecificInfo argument from VideoDecoder::Decode
> 
> Bug: webrtc:10379
> Change-Id: I079b419604bf4e9c1994fe203d7db131a0ccddb6
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/125920
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27022}

TBR=brandtr@webrtc.org,kwiberg@webrtc.org,nisse@webrtc.org,kthelgason@webrtc.org,sprang@webrtc.org

Change-Id: I2c730cc1834a3b23203fae3d7881f0890802c37b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10379
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126320
Reviewed-by: Jeroen de Borst <jeroendb@webrtc.org>
Commit-Queue: Jeroen de Borst <jeroendb@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27026}
2019-03-07 19:40:17 +00:00
Mirko Bonadei
7e70291bb7 Fix unscoped variable in test/scenario/BUILD.gn.
GN complains when this BUILD.gn file is pulled in and both is_ios and
rtc_include_tests are false.

Bug: None
Change-Id: Ic637063a9dd25feb53595eeedfa4f22061ba34f2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126231
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27025}
2019-03-07 18:07:59 +00:00
Niels Möller
39d3a7de02 Delete CodecSpecificInfo argument from VideoDecoder::Decode
Bug: webrtc:10379
Change-Id: I079b419604bf4e9c1994fe203d7db131a0ccddb6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/125920
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27022}
2019-03-07 16:18:49 +00:00
Niels Möller
b859b326ba Update more VideoEncoder implementations to drop CodecSpecificInfo input
Followup to https://webrtc-review.googlesource.com/c/src/+/125900.

Bug: webrtc:10379
Change-Id: If81c50c862bbcfd65a3cf7000c8327ebafe519c3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126002
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27016}
2019-03-07 12:26:57 +00:00
Niels Möller
87e2d785a0 Prepare for splitting FrameType into AudioFrameType and VideoFrameType
This cl deprecates the FrameType enum, and adds aliases AudioFrameType
and VideoFrameType.

After downstream usage is updated, the enums will be separated
and be moved out of common_types.h.

Bug: webrtc:6883
Change-Id: I2aaf660169da45f22574b4cbb16aea8522cc07a6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/123184
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27011}
2019-03-07 10:12:57 +00:00
Danil Chapovalov
4423c36448 Migrate RepeatingTask to take raw pointer to TaskQueueBase instead of TaskQueue
In particular replace call rtc::TaskQueue::Current with TaskQueueBase::Current

Bug: webrtc:10191
Change-Id: I19d42a716d27f0aba087dc70ac65b4ee6249408f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/125085
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27005}
2019-03-06 18:44:35 +00:00
Kári Tristan Helgason
ede7cb2ec1 Rewrite video_loopback to use new mac capturer.
The old one has been deprecated for a long time.

Bug: webrtc:6333, webrtc:6898, webrtc:7861
Change-Id: Ib9b798262817e80019afcacc5b41d18957a28101
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/124827
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26993}
2019-03-06 14:37:33 +00:00
Niels Möller
c8d2e73ed0 Delete CodecSpecificInfo argument from VideoEncoder::Encode
Bug: webrtc:10379
Change-Id: If9f92eb1e5891df284881082c53f0b1db1c26a38
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/125900
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26992}
2019-03-06 14:01:31 +00:00
Sebastian Jansson
1e42761b39 Removes verbose extension warning in Scenario tests.
Bug: webrtc:9510
Change-Id: I017119a899c68d27fe4b4376afb4070ff89b4f43
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/125540
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26991}
2019-03-06 14:00:11 +00:00
Niels Möller
d738071e63 Refactor FakeEncoder to avoid writing to a const EncodedImage
Subclasses of FakeEncoder need to fill out the CodecSpecificInfo and
RTPFragmentationHeader, and they also write to the encoded data of the
EncodedImage. This used to be done by subclasses chaining onto the
parent's OnEncodedImage callback, but that's not so nice, since the
EncodedImage argument is passed as a const ref there.

This change introduces a protected method EncodeHook for this purpose.
FakeEncoder calls this prior to calling OnEncodedImage, with non-const
pointers.

In addition, change FakeEncoder to use EncodedImage::Allocate, rather
than explicit new and delete.

Bug: webrtc:9378
Change-Id: Ie8182d1d5224aa3b7f15905612f6dbcebef0a555
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/125880
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26988}
2019-03-06 11:11:48 +00:00
philipel
9df335374a Generic Frame Descriptor (GFD) VP8 templates.
In this CL:
 - Updated Vp8TemporalLayers::OnEncodeDone to take a CodecSpecificInfo
   instead of a CodecSpecificInfoVP8, so that both the VP8 specific and
   generic information can be populated.
 - Added structs to represent the GFD template structure.
 - Added code to generate templates for video/screensharing.

Bug: webrtc:10342
Change-Id: I978f9d708597a6f86bbdc494e62acf7a7b400db3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/123422
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26987}
2019-03-06 11:03:09 +00:00