This reverts commit 3f4a4fad8cd661309ff5d9a631e89518f32e7c5e.
Reason for revert: Breaking internal tests
Original change's description:
> Added field trial WebRTC-GenericDescriptor for the new generic descriptor.
>
> Also parameterized tests to test the new generic descriptor and
> added --generic_descriptor flag to loopback tests.
>
> Bug: webrtc:9361
> Change-Id: I2b76889606fe2e81249ecdebb0b7b61151682485
> Reviewed-on: https://webrtc-review.googlesource.com/101900
> Commit-Queue: Philip Eliasson <philipel@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24835}
TBR=danilchap@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,philipel@webrtc.org
Change-Id: I4d4714a9f4ab0e95adf0f4130bc1a932efc448fa
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9361
Reviewed-on: https://webrtc-review.googlesource.com/101940
Reviewed-by: Lu Liu <lliuu@webrtc.org>
Commit-Queue: Lu Liu <lliuu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24839}
Also parameterized tests to test the new generic descriptor and
added --generic_descriptor flag to loopback tests.
Bug: webrtc:9361
Change-Id: I2b76889606fe2e81249ecdebb0b7b61151682485
Reviewed-on: https://webrtc-review.googlesource.com/101900
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24835}
This reverts commit 89b2963810b4cea0f95abdce011cb4e12fcdf1a1.
Reason for revert: Make experiment default off to not mess up data in re-launch.
Original change's description:
> Reland "Enable simulcast screenshare by default"
>
> This is a reland of d43c692ba7f53b5576a494c0343bc7a4bb36831b after fixes
> to failing chromium tests. No change to the original CL were done.
> Original CL reviewed on: https://webrtc-review.googlesource.com/87560
>
> TBR=stefan@webrtc.org
>
> Bug: chromium:690537
> Change-Id: I6b59ffc90d789aff21c7e52b118d3dfbe756c8a9
> Reviewed-on: https://webrtc-review.googlesource.com/89081
> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24013}
TBR=ilnik@webrtc.org,sprang@webrtc.org,stefan@webrtc.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: chromium:690537, b:116052898
Change-Id: I429677de5547ce3a7badfb4414231ff9589e7414
Reviewed-on: https://webrtc-review.googlesource.com/101560
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24798}
Replace calls to .str() which copies with .Release which moves in cases where that's safe.
This CL was generated by this command:
git grep -l 'StringBuilder' |
xargs perl -i -0 -pe "s/(rtc::StringBuilder (\S+);.*?return )\\g2.str\(\)/\$1\$2.Release\(\)/sg"
Bug: webrtc:8982
Change-Id: If4dadbeb039df010aaaa9e58da81c1971a84fe8f
Reviewed-on: https://webrtc-review.googlesource.com/100307
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24790}
Uninline RTPFragmentaion functions
fix RTPFragmentation move constructor and assign operators (was recursive for win)
replace assert with rtc::dchecked_cast
Remove unused includes and dependencies.
Fix other targets that used those includes transitively instead of directly
Bug: None
Change-Id: I647cb1eda107dc7d87d25234095545bc2842fa40
Reviewed-on: https://webrtc-review.googlesource.com/100500
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24759}
When the bandwidth estimate is volatile, and the frame rate is high,
each new frame might trigger a new video bitrate allocation that is very
close to the previous one, during BWE rampup.
This might cause unnecessarily high RTCP traffic.
This CL throttles those updates, if the allocation fullfills all of:
* Larger or the same total bitrate as the previously sent one
* Less than 10% larger bitrate compared to the previous one
* Same layers enables as the previous one
* Less than 500ms has passed since the previous one
Additionally, a call to OnEncodedImage can cause a throttled allocation
to be sent if 500ms has passed but no new call to OnBitrateUpdated has
been seen.
Bug: webrtc:9734
Change-Id: I2a17c2e512387e273e9c22bffcebd290727dc883
Reviewed-on: https://webrtc-review.googlesource.com/100560
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24751}
Especially for simulcast screensharing, we don't want to send constant
high bitrates of padding just to keep the bwe up since ALR probing
already handles that case.
Bug: webrtc:9734
Change-Id: I79a08fc073844628d8ad0561edd8bfcffed83fde
Reviewed-on: https://webrtc-review.googlesource.com/99120
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24734}
Today we use |is_first_packet_in_frame| to know when a frame begins and the
|markerBit| to know when it ends, but the markerbit does not actually mark the
end of a frame, it marks the end of a picture.
Bug: webrtc:9361
Change-Id: Icc70e6075590cdc31e875a4eb9d489868adbb67c
Reviewed-on: https://webrtc-review.googlesource.com/100160
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24722}
If the paced queue gets too long becaused of e.g. encoder overshoot,
the encoder is paused by setting the target bitrate to 0. Don't signal
this 0-bitrate via RTCP TargetBitrate message as the overall target
bitrate is probably unchanged.
Bug: webrtc:9734
Change-Id: I77f23b707a8d4494d0c89fa05005ac1482eace52
Reviewed-on: https://webrtc-review.googlesource.com/99507
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24679}
This reverts commit 2c446f2723451011f8c3ec5d240337e9e309a577.
Reason for revert: Still hangs, e.g. here: https://ci.chromium.org/buildbot/client.webrtc.perf/Mac%2010.11/7204
Original change's description:
> Reenable simulcast video full stack test on MAC
>
> Reenabling test because a possible hanging cause was fixed here:
> https://webrtc-review.googlesource.com/c/src/+/96980
>
> Bug: webrtc:9220
> Change-Id: I74243eeebe5646c54373fba04bff27d456df7771
> Reviewed-on: https://webrtc-review.googlesource.com/98500
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24624}
TBR=ilnik@webrtc.org,sprang@webrtc.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: webrtc:9220
Change-Id: I172ecec57233131267e38b0221564e6f3f88941f
Reviewed-on: https://webrtc-review.googlesource.com/99180
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24653}
The tests crashed and were disabled temporarily. The crash was probably
caused by chromium:879307 which was fixed recently.
Bug: webrtc:9506
Change-Id: I08872c0370c9cf5dc4769daf68b7c61135a55c9e
Reviewed-on: https://webrtc-review.googlesource.com/99080
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24638}
Reenabling test because a possible hanging cause was fixed here:
https://webrtc-review.googlesource.com/c/src/+/96980
Bug: webrtc:9220
Change-Id: I74243eeebe5646c54373fba04bff27d456df7771
Reviewed-on: https://webrtc-review.googlesource.com/98500
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24624}
This CL replaces std::o?stringstream with rtc::StringBuilder where that's possible to do without changing any of the surrounding code. It also updates includes and build files as appropriate.
The CL was generated by running 'git grep -l -P std::o?stringstream | xargs perl -pi -e "s/std::o?stringstream/rtc::StringBuilder/g"'. Then I've manually updated the #includes and BUILD files, run 'git cl format' and unstaged any file that would need more complex fixes.
Bug: webrtc:8982
Change-Id: Ibc32153f4a3fd177e260b6ad05ce393972549357
Reviewed-on: https://webrtc-review.googlesource.com/98460
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24605}
Use in VideoQualityTest replaced by creating a wrapper for the encoder.
Bug: None
Change-Id: I5c5519e147ca7ddb97696b0d6958a8a1f5cc6e83
Reviewed-on: https://webrtc-review.googlesource.com/94152
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24533}
This is a reland of da0898dfae3b0a013ca8ad3828e9adfdc749748d
Original change's description:
> Add spatial index to EncodedImage.
>
> Replaces the VP8 simulcast index and VP9 spatial index formely part of
> CodecSpecificInfo.
>
> Bug: webrtc:9378
> Change-Id: I80eafd63fbdee0a25864338196a690628b4bd3d2
> Reviewed-on: https://webrtc-review.googlesource.com/83161
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> Reviewed-by: Philip Eliasson <philipel@webrtc.org>
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24485}
Tbr: magjed@webrtc.org
Bug: webrtc:9378
Change-Id: Iff20b656581ef63317e073833d1a326f7118fdfd
Reviewed-on: https://webrtc-review.googlesource.com/96780
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24507}
Return value always passed as the |retransmitted| argument to
ReceiveStatistics::IncomingPacket. The implementation of this method,
StreamStatisticianImpl::IncomingPacket, can call its own
IsRetransmitOfOldPacket, which is demoted to a private method.
Bug: webrtc:7135
Change-Id: I904db676738689c7a1db4caa588f70e64e3c357d
Reviewed-on: https://webrtc-review.googlesource.com/95649
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24494}
Replaces the VP8 simulcast index and VP9 spatial index formely part of
CodecSpecificInfo.
Bug: webrtc:9378
Change-Id: I80eafd63fbdee0a25864338196a690628b4bd3d2
Reviewed-on: https://webrtc-review.googlesource.com/83161
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24485}
This CL removes //build/config/clang:find_bad_constructs from the
suppressed_configs list, which means that clang:find_bad_constructs
is now enabled on these translation units.
Bug: webrtc:9251, webrtc:163
Change-Id: I74cb86c29cebb69dd22083718f1446f18f705cd4
Reviewed-on: https://webrtc-review.googlesource.com/95883
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24483}
Add ability to provide custom implementation of
NetworkSimulatedInterface for sender and receiver network in
VideoQualityTestFixtureInterface, passing them to the factory method.
Also unite this mechanism with FecControllerFactoryInterface injection.
Bug: webrtc:9630
Change-Id: I79259113e0fc00d933b73ca299afa836a4cd19d2
Reviewed-on: https://webrtc-review.googlesource.com/96280
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24476}
Also make it optional and use default value, if optional is not
specified. It is done also for next refactoring, that will introduce
ability to override network simulation layer.
Bug: webrtc:9630
Change-Id: I2f9b84770e428a7738b47bcf2da1002697c0f313
Reviewed-on: https://webrtc-review.googlesource.com/96580
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24472}
This reverts commit 7f2eab0c7efef13fe41c6e9c8e155a67a8a673c4.
Reason for revert: https://bugs.chromium.org/p/chromium/issues/detail?id=878373
Original change's description:
> Rename VideoQualityTestFixtureInterface::Params.pipe into config.
>
> Also make it optional and use default value, if optional is not
> specified. It is done also for next refactoring, that will introduce
> ability to override network simulation layer.
>
> Bug: webrtc:9630
> Change-Id: I88cf1f9c70857f3299b5c3e9580a98570768e129
> Reviewed-on: https://webrtc-review.googlesource.com/96121
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Commit-Queue: Artem Titov <titovartem@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24454}
TBR=phoglund@webrtc.org,sprang@webrtc.org,titovartem@webrtc.org
Change-Id: I7535422ef6a662defb0f9dee32d62133fa0c8b8f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9630
Reviewed-on: https://webrtc-review.googlesource.com/96541
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24467}
The old test supported audio but only in combination with a fake ADM.
The new version allows the user to run real video and audio.
Now possible to do:
./out/Debug/video_loopback.exe --audio --use_real_adm
To run the test in loopback using real default audio devices.
By default:
./out/Debug/video_loopback.exe --audio
runs with fake audio devices as before.
Bug: webrtc:9265
Change-Id: Id89924ec0276f929487c71fc6321dcd9cb92693d
Reviewed-on: https://webrtc-review.googlesource.com/96161
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24463}
Also make it optional and use default value, if optional is not
specified. It is done also for next refactoring, that will introduce
ability to override network simulation layer.
Bug: webrtc:9630
Change-Id: I88cf1f9c70857f3299b5c3e9580a98570768e129
Reviewed-on: https://webrtc-review.googlesource.com/96121
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24454}
This change adds the ability to optionally provide configuration to the
video_replay binary through JSON. This is a merge of the changes provided by
philipel on this bug: https://bugs.chromium.org/p/chromium/issues/detail?id=840536#c1
However it has been updated to pull all the json parsing into the example binary
itself instead of it being integrated into the core library. Writing test cases
out to JSON configuration will be handled in a different CL. Most likely there
will be a utility class added that takes a Config and converts it to JSON that is
decoupled from the actual implementation.
Bug: webrtc:9609
Change-Id: Icc5900063d7f704825f224240e4b3787c06ca074
Reviewed-on: https://webrtc-review.googlesource.com/95320
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24433}
This reverts commit a3df0f2d05c7b0973c31fe171507e97e588671a5.
Reason for revert: We decided to keep a killswitch in M70 just in case.
Original reviewed at: https://webrtc-review.googlesource.com/c/src/+/90251
Bug: chromium:690537
Change-Id: Ieb0eb8d5487e03fc55a221f10366ed9768a6eb16
Reviewed-on: https://webrtc-review.googlesource.com/95061
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24385}