418 Commits

Author SHA1 Message Date
Andrey Logvin
b856dc1556 Remove VideoGeneratorType from pc framework test api.
VideoGeneratorType wasn't deleted in https://webrtc-review.googlesource.com/c/src/+/174541

Bug: webrtc:11534
Change-Id: I3e631240dc0b28a53e62b65e3dd094b5773fac2c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174721
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31228}
2020-05-12 22:24:36 +00:00
Artem Titov
f9ed56b656 Add ability to set custom RtpEncodingParameters for each simulcast stream in PC framework
Bug: webrtc:11557
Change-Id: I9f44728ff9178cd9c7dbe4cbcd639d610a981015
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174754
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31218}
2020-05-11 20:46:30 +00:00
Artem Titov
cc57b935cd Make video quality analyzer compatible with real SFU in the network
Bug: webrtc:11557
Change-Id: I8ab1fb0896e267f30856a45df6099bd9aae9bc03
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174801
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31216}
2020-05-11 18:54:33 +00:00
Artem Titov
baa2c836ba Introduce ability to set peer name for PC level tests
Add peer's name to params and use it for logging and metrics naming
for whole peer related metrics.

Bug: webrtc:11479
Change-Id: Ia7e3fc4839c90a958d66910614515ac02a96e389
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174752
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31215}
2020-05-11 18:47:03 +00:00
Per Åhgren
09e9a83d91 Change the way that AecDumps are created in APM
This CL changes the way that AecDumps are created in APM. Instead
of being injected, they are now created via the API.

This removes the AecDumpFactory from the API surface of APM and
makes the API more explicit.

The CL will be followed by one more CL that deprecates the usage
of the AttachAecDump API also within the audio_processing
and the fuzzer folders.

The CL also moves the aec_dump.* files from the include folder
to the aec_dump folder and changes the build files. The reasons
for this are that
1) The content of aec_dump.h is not really part of the API
   surface of APM.
2) Those files anyway needed to be moved to a separate build-
   target to avoid a circular build-file dependency caused by
   the other changes in this CL

Bug: webrtc:5298
Change-Id: I7dd6b49de76eb44158472874e1d4ae17dca9be54
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174750
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31207}
2020-05-11 10:33:00 +00:00
Artem Titov
dcde85c912 Pass PeerConfigurerImpl directly into CreateTestPeer
Bug: webrtc:11479
Change-Id: Ib514d264bfd94d648d90a053554537880bd9ebe5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174747
Reviewed-by: Andrey Logvin <landrey@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31188}
2020-05-08 10:56:40 +00:00
Andrey Logvin
435fb9ad06 Remove screen_share_config from the VideoConfig.
After the migration of the pc framework tests (https://webrtc-review.googlesource.com/c/src/+/174023), having "absl::optional<ScreenShareConfig> screen_share_config" field in VideoConfig became redundant. Replaced it with VideoTrackInterface::ContentHint content_hint field.

Bug: webrtc:11534
Change-Id: Ibf4b1c8daed95ef02111fe952171f11e290905d3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174702
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31187}
2020-05-08 08:56:13 +00:00
Andrey Logvin
1e83d34fc1 Remove pc level test framework redundant code.
After the migration to passing frame video source implementation directly, part of the peer connection framework code became redundant. Removing screen_share_config and capturing_device_index from the VideoConfig is to be done in later reviews.

Bug: webrtc:11534
Change-Id: I7a8ea85d26d00fb5bfe7ec0d2facef9c44a0f749
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174541
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31178}
2020-05-07 09:23:29 +00:00
Andrey Logvin
42c59525b1 Create default frame generator in the AddVideoConfig method.
Bug: webrtc:11534
Change-Id: I5f8e6009ac48be99180574ab3ac835005f67cf58
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174540
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31176}
2020-05-06 21:01:29 +00:00
Andrey Logvin
c064467b32 Pass frame generator to the AddVideoConfig method in the pc framework tests.
Bug: webrtc:11534
Change-Id: Id68feca50611f412897ddef3d43b811a224b200f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174023
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31167}
2020-05-05 17:20:25 +00:00
Andrey Logvin
dad6a940e1 Add helper frame generator factories for the pc framework tests.
Bug: webrtc:11534
Change-Id: I569fb9e78aa38f0a17f4e4a261dd93c4b8ba9ca0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174340
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31162}
2020-05-04 18:56:22 +00:00
Andrey Logvin
4381af48b4 Change connection ASSERT into metrics for the PC level framework.
Bug: webrtc:11504
Change-Id: I48b2f44a52b18fd4bb3e75e9ccdcd842ec1faaed
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174022
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31142}
2020-04-28 09:28:13 +00:00
Andrey Logvin
3b9fe99285 Add cpu_usage metrics.
Implemented an analogue of the cpu_usage metrics from third_party/webrtc/video/video_analyzer.h for third_party/webrtc/test/pc/e2e/analyzer/video/default_video_quality_analyzer.h

Bug: webrtc:11496
Change-Id: Ifdc9daa3351f1df5db98beb8f7dc7156fc7c2a16
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174020
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31141}
2020-04-28 09:24:30 +00:00
Per Åhgren
cc73ed3e70 APM: Add build flag to allow building WebRTC without APM
This CL adds a build flag to allow building the non-test parts
of WebRTC without the audio processing module.
The CL also ensures that the WebRTC code correctly handles
the case when no APM is available.

Bug: webrtc:5298
Change-Id: I5c8b5d1f7115e5cce2af4c2b5ff701fa1c54e49e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171509
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31133}
2020-04-26 23:06:44 +00:00
Artem Titov
c8660b1650 Open visibility of some PC level framework components
Bug: webrtc:11479
Change-Id: I10567f2766e30825b4d28133002e04dcd0afba21
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/173901
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31129}
2020-04-24 16:27:44 +00:00
Artem Titov
3e1ac54407 Refactor video dumping and rendering in PC level test.
Move creation of video sinks for dumping and showing rendered video on
screen into video quality analyzer injection helper to eliminate need
to search for video config in on track callback, which makes this more
reliable and reusable.

Bug: webrtc:11479
Change-Id: I6bb5409688fd39268f9f97bde4c9b0833a64396b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/173820
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31128}
2020-04-24 09:59:50 +00:00
Artem Titov
7db1491a85 Restore call's final stats collection in PC level framework
Bug: webrtc:11479
Change-Id: I763e13315250519f391e3c9dc0f36fe84569844f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/173320
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31040}
2020-04-09 11:21:04 +00:00
Artem Titov
8f888ff546 Extract activity executor into separate class from PC level fixture impl
Bug: webrtc:11479
Change-Id: Ida9c944d928e9973bf543a2e5b415a7c9007b833
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/173024
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31032}
2020-04-08 09:42:09 +00:00
Artem Titov
43126bb423 Extract params validation from peer_connection_quality_test to peer_configurer
Bug: webrtc:11479
Change-Id: I4baaf84e16a8c35ee9d76de9bdb70e57c424d581
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/173023
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31027}
2020-04-07 21:24:49 +00:00
Mirko Bonadei
16d0d371d5 Apply performance-for-range-copy fixes.
This CL has been generated running https://clang.llvm.org/extra/clang-tidy/checks/performance-for-range-copy.html.

Bug: None
Change-Id: Ia9f6c91776fc8b3ab28fba87ba8ce112f87d5cf0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172805
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30996}
2020-04-03 11:36:52 +00:00
Artem Titov
fdc4ca13b6 Extract PeerConfigurerImpl into separate file
Bug: webrtc:11479
Change-Id: I58093e2c996e8f38354a8c28e591ba1e9428563f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172763
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30994}
2020-04-03 11:04:52 +00:00
Artem Titov
68063a25de Move media configuration for PC level tests into separate class
Bug: webrtc:11479
Change-Id: I325e5c6f5d571dde0fdb5d579bf85cf32a81e174
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172783
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30985}
2020-04-02 15:51:50 +00:00
Artem Titov
b907f1f9f8 Extract test peer creation into separate file
Extract test peer creation into separate file to simplify code and
increase readability. Also it is 1st step in bigger refactoring of PC
level test fixture implementation to make it more granular and reusable.

Change-Id: I687a17bda33a8eebc1ef0ddc0d54572e095fd709
Bug: webrtc:11479
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172628
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30980}
2020-04-02 12:44:05 +00:00
Artem Titov
d19513f3ff Move calculation of target_encode_bitrate to DefaultVideoQualityAnalyzer
To migrate on new GetStats API and properly support target encode bitrate
for regular, simulcast and svc cases we need to calculate it inside video
quality analyzer getting values from SetRates in VideoEncoder.

Bug: webrtc:11381
Change-Id: Ia37acac764ed3c30f64cdbfda8906d543fa03ae2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171501
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30881}
2020-03-25 11:38:47 +00:00
Artem Titov
ea6ae4a323 Add calculation of actual encode bitrate into DefaultVideoQualityAnalyzer
Bug: webrtc:11381
Change-Id: Ic636412fef5e4134f47974fe24a24d8c7636bcdd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171107
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30860}
2020-03-23 22:11:14 +00:00
Artem Titov
4c0921129d Use real video duration instead of test duration.
Use real video duration instead of test duration to calculate harmonic
frame rate in DefaultVideoQualityAnalyzer.

Bug: webrtc:11445
Change-Id: Ia5f96b2f87178419ec6ebe2ff5dbcb5a0c03c824
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171104
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30854}
2020-03-23 10:13:54 +00:00
Artem Titov
b8996ddac0 Revert "Temporary debug logging for SingleProcessEncodedImageDataInjector"
This reverts commit 4f3c4fcb1f26606af9e7ce0420d1fa8fbc95d82f.

Reason for revert: bug is fixed, so temporary logging can be removed.

Original change's description:
> Temporary debug logging for SingleProcessEncodedImageDataInjector
> 
> Bug: None
> Change-Id: Idb482c002ed41b9ad750109fd3497425003be11b
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169448
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Artem Titov <titovartem@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30649}

TBR=mbonadei@webrtc.org,titovartem@webrtc.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: None
Change-Id: I8f9587b4963bd089b3f870b43bd7a8b7e6a75b38
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170342
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30777}
2020-03-12 14:31:43 +00:00
Artem Titov
b1e0618e89 Add printout of supported codecs in PC test framework
Bug: None
Change-Id: Ib4fbbc3e782b8478ccf4eef72ebd74bc040b5f18
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169731
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30696}
2020-03-05 18:05:26 +00:00
Artem Titov
3c91b31162 Fix potential deadlock during release of quality analyzing codecs
Bug: webrtc:11407
Change-Id: I45637e39a03a385e0544d4de06786b9508b25ce8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169728
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30690}
2020-03-05 10:51:41 +00:00
Artem Titov
c028df05ac Extract BWE stats collection.
Extract collection of BWE stats from DefaultVideoQualityAnalyzer to
separate class to prepare for migration on new GetStats API and simplify
quality analyzer.

Bug: webrtc:11381
Change-Id: I0e7e2d7e40b467d7a42633a72a7ffc49ebcb0237
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169444
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30650}
2020-02-28 16:49:20 +00:00
Artem Titov
4f3c4fcb1f Temporary debug logging for SingleProcessEncodedImageDataInjector
Bug: None
Change-Id: Idb482c002ed41b9ad750109fd3497425003be11b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169448
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30649}
2020-02-28 15:28:40 +00:00
Harald Alvestrand
0fb07f8c90 Deprecate use of cricket::MediaContentDescription::Copy
One should use a std::unique_ptr to the object, as returned
by Clone() instead, not a naked pointer.

Bug: webrtc:10701
Change-Id: I10ab309207f2cb5aec83a6d09336699ed7b26f50
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169342
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30646}
2020-02-28 10:03:49 +00:00
Artem Titov
4a6f81829b Add ability to enable AV sync in PC level tests
Bug: webrtc:11381
Change-Id: I223ff0a2b81632ee7cbbac5b722bb6a7d5f72f7e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168959
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30629}
2020-02-27 14:22:23 +00:00
Artem Titov
fcf4e2cd67 Fix potential memory exhaustion in DefaultVideoQualityAnalyzer
DefaultVideoQualityAnalyzer accumulates in flight frames in internal
queue to perform psnr/ssim computation. This queue can grow a lot if
test experience high frame loss. As a result of this, the analyzer
can use quite a lot of memory and cause OOM crashes.

This CL limits the size of the queue based on the assumption that after
a certain point a frame can be considered lost and so it is impossible
to calculate PSNR/SSIM.

Bug: webrtc:11373
Change-Id: Iaabcc8d1c3c9142dc58ea5f2f30f599864b088e8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168951
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30602}
2020-02-25 10:48:58 +00:00
Patrik Höglund
f5c1909b54 Make pc level smoke tests faster.
They go from 7 seconds each to 2 seconds each with this change, and
I belive they will catch correctness bugs just as well.

With this and https://webrtc-review.googlesource.com/c/src/+/168884,
test_support_unittests now runs in 14 seconds instead of 65 (in
sequential mode).

Bug: None
Change-Id: Ic04e3937bbff54f33dcd062f422dada176f1c3cb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168885
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30577}
2020-02-20 15:41:09 +00:00
Artem Titov
18c617989b Force copy video frame entirely in OnFrameRendered in DVQA
Force copy video frame including video buffer in
DefaultVideoQualityAnalyzer to ensure that analyzer won't hold any
internal WebRTC buffers.

Bug: webrtc:10138
Change-Id: Ib195233f8b01c855220be1b9743c4f54fc62a22b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168643
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30535}
2020-02-17 20:57:15 +00:00
Artem Titov
80a82f1527 PC test framework: cleanup deprecated API
Bug: webrtc:10138
Change-Id: I116bb318d3b736f1ec60651eaab53c6e78fb9d07
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168521
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30529}
2020-02-17 10:25:10 +00:00
Artem Titov
1ca6bdbbdb Add harmonic frame rate metric to the PC level test framework
Bug: webrtc:11348
Change-Id: I4dd0cabbaee2d4b5e2dd4fa4398b3d7c0beaa3eb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168401
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30492}
2020-02-10 13:25:31 +00:00
Danil Chapovalov
0c626afcf3 Use newer version of TimeDelta and TimeStamp factories in webrtc
find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/TimeDelta::Micros<\(.*\)>()/TimeDelta::Micros(\1)/g"
find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/TimeDelta::Millis<\(.*\)>()/TimeDelta::Millis(\1)/g"
find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/TimeDelta::Seconds<\(.*\)>()/TimeDelta::Seconds(\1)/g"
find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/TimeDelta::us/TimeDelta::Micros/g"
find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/TimeDelta::ms/TimeDelta::Millis/g"
find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/TimeDelta::seconds/TimeDelta::Seconds/g"
find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/Timestamp::Micros<\(.*\)>()/Timestamp::Micros(\1)/g"
find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/Timestamp::Millis<\(.*\)>()/Timestamp::Millis(\1)/g"
find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/Timestamp::Seconds<\(.*\)>()/Timestamp::Seconds(\1)/g"
find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/Timestamp::us/Timestamp::Micros/g"
find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/Timestamp::ms/Timestamp::Millis/g"
find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/Timestamp::seconds/Timestamp::Seconds/g"
git cl format

Bug: None
Change-Id: I87469d2e4a38369654da839ab7c838215a7911e7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168402
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30491}
2020-02-10 12:21:17 +00:00
Artem Titov
ee558dcca8 Propagate multicodec support to other places of PC level framework
Bug: webrtc:10138
Change-Id: I9258db991053abfa40f2a5112eddfa7f3e0d41a1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167062
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30346}
2020-01-22 13:34:18 +00:00
Artem Titov
9fbe9ae1c1 Add support of negotiating multiple codecs in PC framework
Bug: webrtc:10138
Change-Id: Iec7df60a4185a039bd81de200c0691747e92c10c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166601
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30318}
2020-01-20 12:13:04 +00:00
Jonas Oreland
c7bce99540 Make it possible to inject IceTransport in pc quality test fixture
Bug: chromium:1024965
Change-Id: I55296a31e1638c8c00bd6c53151fc4898202b033
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166168
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30279}
2020-01-16 11:56:50 +00:00
Artem Titov
33f9d2b383 Migrate WebRTC on FrameGeneratorInterface and remove FrameGenerator class
Bug: webrtc:10138
Change-Id: If85290581a72f81cf60181de7a7134cc9db7716e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161327
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30033}
2019-12-07 00:54:26 +00:00
Ivo Creusen
1518fd34d8 Add support for setting a custom NetEqFactory in PeerConnection level tests.
This allows running Peerconnection level tests with a custom NetEqFactory.

Bug: webrtc:11005
Change-Id: If3063cf61a6274a137e4ab74f9ec2665425f21ae
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161307
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30028}
2019-12-06 12:34:02 +00:00
Artem Titov
0020226e63 Replace VideoSourceInterface with FrameGeneratorInterface in AddVideoConfig
Replace VideoSourceInterface with FrameGeneratorInterface in
AddVideoConfig in PC quality test fixture.

Bug: webrtc:10138
Change-Id: I6e5fe91d286e0360bfcad1785af1fb1d8f890563
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161239
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30012}
2019-12-05 10:02:22 +00:00
Artem Titov
503d7237ce Introduce FrameGeneratorInterface
Introduce FrameGeneratorInterface to make FrameGenerator API available
for downstream projects.

Bug: webrtc:10138
Change-Id: I4216775e4b8b54c3f1c72d67ffbda31eb082fd7e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161234
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30009}
2019-12-04 21:09:57 +00:00
Artem Titov
5256d8bc4b Refactor FrameGenerator to return VideoFrameBuffer with VideoFrame::UpdateRect
Bug: webrtc:10138
Change-Id: I22079e2630bb1f3bb27472795fe923f9143b3401
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161010
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29973}
2019-12-02 17:11:37 +00:00
Artem Titov
c4e506ebdf Fix writing into closed FrameWriter when dumping video in PC framework
Bug: webrtc:10138
Change-Id: I2b8e2cac2903c957dab1170ba098880a4f0252e3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160049
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29853}
2019-11-21 10:01:57 +00:00
Artem Titov
b4463eeedc Add ability to specify custom video source for PC framework.
Add ability to provide custom implementation of rtc::VideoSourceInterface
as source for video track in PC-framework based media quality tests.

Bug: webrtc:10138
Change-Id: I8ffd3015230c733a0a9a2e97fd4bb93a0c02b283
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/159680
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29776}
2019-11-12 17:08:55 +00:00
Mirko Bonadei
86d053c2db Use source_sets in component builds and static_library in release builds.
Static libraries don't guarantee that an exported symbol gets linked
into a shared library (and in order to support Chromium's component
build mode, WebRTC needs to be linked as a shared library).

Source sets always pass all the object files to the linker.

On the flip side, source_sets link more object files in release builds
and to avoid this, this CL introduces a the GN template "rtc_library" that
expands to static_library during release builds and to source_set during
component builds.

See: https://gn.googlesource.com/gn/+/master/docs/reference.md#func_source_set

Bug: webrtc:9419
Change-Id: I4667e820c2b3fcec417becbd2034acc13e4f04fe
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157168
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#29525}
2019-10-17 21:17:18 +00:00