This reverts commit 0e96535be97916d8fcaa9873ffab3c636539f9d8.
Reason for revert: Downstream test failure
Original change's description:
> Inlines NullAudioPoller functionality into AudioState class.
>
> As part of this, we also use TaskQueue and RepeatedTask rather
> than rtc::Thread + rtc::MessageHandler. With the ultimate goal of
> deprecating rtc::Thread.
>
> Bug: webrtc:9883
> Change-Id: I2fb851ac31ee2431435d51de78ff446572512201
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167528
> Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> Reviewed-by: Sam Zackrisson <saza@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30430}
TBR=saza@webrtc.org,srte@webrtc.org
Change-Id: I4c77259f7b6477fc1cb79350f2d47817f106770d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9883
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168046
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30431}
As part of this, we also use TaskQueue and RepeatedTask rather
than rtc::Thread + rtc::MessageHandler. With the ultimate goal of
deprecating rtc::Thread.
Bug: webrtc:9883
Change-Id: I2fb851ac31ee2431435d51de78ff446572512201
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167528
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30430}
A previous refactoring introduced an issues in SimulatedProcessThread
causing stalls when task are posted. This CL fixes this and cleans up
the code to make it easier to see that it's correct.
Bug: webrtc:11255
Change-Id: I33d7daa993ad2a4cfe2b63f674692455c2e09d05
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167380
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Ali Tofigh <alito@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30429}
This CL uses |width| and |height| in RTPVideoHeaderVP9 to pass information
about enabled layers from encoder to packetizer.
Bug: webrtc:11319
Change-Id: Idc1c337f8dfb3f7631506acb784d2a634b41b955
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167724
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30428}
wrap ids before unwrapping: should be noop for ids arrived from the
network, but avoids DCHECKs for ids arrived from fuzzer.
for vp9 double check number of references doesn't exceed maximum.
for vp8 drop key frames for non-zero temporal id.
for general by seqnum code path do not set last_picture_id_:
it is not used there, but may confuse vp8 codepath.
as a slight speed up avoid copying RTPVideoTypeHeader for vp8 and vp9.
Bug: chromium:1046995, chromium:1047024, chromium:1047095, chromium:1047165, chromium:1047190
Change-Id: I1ab0833d32e2c023cbf5e3cfcc9e74f1c558e44b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168040
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30426}
The upgrade to opus 1.3 is easier to carry out while the opus
bitexactness tests are temporarily disabled.
Bug: webrtc:11325
Change-Id: I96eecdbc93a01da88b92ae7f6473034c9795f3a0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167726
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30425}
This ensures that overhead calculation is correct by default when
enabling the WebRTC-SendSideBwe-WithOverhead field trial.
We keep the legacy mode to allow downstream projects already relying on
WebRTC-SendSideBwe-WithOverhead to preserve the current behavior.
Bug: webrtc:6762
Change-Id: I84369c760d59345a48ec352997dbed6d2db21d13
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167862
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30424}
This CL adds support for reading and writing floating point
wav files in WebRTC. It also updates the former wav handling
code as well as adds some simplifications.
Beyond this, the CL also adds support in the APM data_dumper
and in the audioproc_f tool for using the floating point wav
format.
Bug: webrtc:11307
Change-Id: I2ea33fd12f590b6031ac85f75708f6cc88a266b4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162902
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30423}
This function is obsolete now that config-based functions are available.
The command-line parsing should not happen here but in the executable
that uses these functions.
Bug: webrtc:11005
Change-Id: I618d12503123e3e1fd6e572a045372c622043a75
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167860
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30421}
I changed stuff in test/BUILD.gn, but the suggested formatting broke
the presubmit. I tried rewriting the presubmit so it checks the
previous line as well, but that turned out to be hard.
Please try to enable this presubmit on ALL lines in a changed file.
Presubmits that only work on changed lines are really confusing.
Bug: None
Change-Id: I2386c765367681f683d82739293bc8bc8a873a7b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167926
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30420}
I had to pivot and make tests output protos instead of JSON.
I basically move the proto -> JSON conversion into this script instead
of doing it in the test binary.
This is a temporary state. Later it will be enough to just read up
the file and pass it straight to the Catapult implementation, once
it learns to de-serialize the proto directly.
Bug: chromium:1029452
Change-Id: I7ce992eeeb1a5ae0f20eed54174b08b496e74dfd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166920
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30419}
This allows for further refactoring, eventually moving
all of quality scaler out of video stream encoder.
Bug: webrtc:11222
Change-Id: Id121608da56f57549a616ccc5f141bb598668b40
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167728
Commit-Queue: Evan Shrubsole <eshr@google.com>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30417}
This is a reland of 086055d0fd9b9b9efe8bcf85884324a019e9bd33
ANA was accitendly disabled even when transport sequence numbers were
negotiated due to a bug in how the audio send stream is configured. To
solve this we simply continue to always allow enabling ANA and leave it
up to the application to ensure that it's not used together with receive
side estimation.
Original change's description:
> Reland "Only include overhead if using send side bandwidth estimation."
>
> This is a reland of 8c79c6e1af354c526497082c79ccbe12af03a33e
>
> Original change's description:
> > Only include overhead if using send side bandwidth estimation.
> >
> > Bug: webrtc:11298
> > Change-Id: Ia2daf690461b55d394c1b964d6a7977a98be8be2
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166820
> > Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
> > Reviewed-by: Sam Zackrisson <saza@webrtc.org>
> > Reviewed-by: Ali Tofigh <alito@webrtc.org>
> > Reviewed-by: Erik Språng <sprang@webrtc.org>
> > Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#30382}
>
> Bug: webrtc:11298
> Change-Id: I33205e869a8ae27c15ffe991f6d985973ed6d15a
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167524
> Reviewed-by: Ali Tofigh <alito@webrtc.org>
> Reviewed-by: Sam Zackrisson <saza@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
> Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30390}
Bug: webrtc:11298
Change-Id: If2ad91e17ebfc85dc51edcd9607996e18c5d1f13
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167883
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30413}
Currently, datagram transports must report identical transport
parameters in order to negotiate use of the datagram transport. This is
not strictly necessary, they just need parameters that fit some notion
of "compatability" (eg. both ends share some mutually-supported version
of the datagram protocol).
This change allows datagram transports to implement their own notion of
compatible transport parameters, by adding a
SetRemoteTransportParameters method to DatagramTransportInterface which
checks if the remote parameters are compatible with the local endpoint
and returns an error if they are not.
Bug: webrtc:9719
Change-Id: I166c787b468b89d9082d7e3c9995a6ed50a1650a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167741
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30412}
Chromting is trying vp9 444 to have better color. This fix is needed to decode 444 properly.
Bug: webrtc:11326
Change-Id: I4498930591d8876af9f6b7238a8c9fe450ecbfcc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166220
Commit-Queue: Jerome Jiang <jianj@google.com>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30410}
To allow to use the RtpFrameReferenceFinder with
an updated version of the frame descriptor extension
Bug: webrtc:10342
Change-Id: Ib60a505a714993862a008300aa64d0bb835c3377
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167361
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30407}
This allows for the possiblity to move the QualityScaler
out of the VideoStreamEncoder in the future.
Bug: webrtc:11222
Change-Id: I1d563cf08791e27ff5065ce90bcb150a7974d868
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167534
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@google.com>
Cr-Commit-Position: refs/heads/master@{#30406}
Since RTC_DCHECK was made constexpr compatible, we can now
make the unit classes fully constexpr.
Bug: webrtc:9883
Change-Id: I18973c2f318449869cf0bd45699c41be53fba806
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167722
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Ali Tofigh <alito@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30403}
The --trace_event=file.json option allows to log events,
for further inspection in chromium event viewer.
Previous handling of this option was broken,
closing the logger before the tests were even run.
Bug: webrtc:10926
Change-Id: I9123d12666b5f254feeaef685def96eb8ba1c7f8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167720
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Yves Gerey <yvesg@google.com>
Cr-Commit-Position: refs/heads/master@{#30401}
To free up RtpVideoHeader::generic field for codec agnostic details
from an rtp header extension.
Bug: webrtc:10342
Change-Id: I7b9d869b2ecfedb96dfd860be47ed8dffa058749
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166175
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30396}
This CL adds the missing support for multi-channel in the code that
provides an optional and configurable delay to be added to the
microphone signal.
The CL also makes the creation of the delay object conditional on the
need for that support (this is important since this adds a significant
heap memory footprint)
Bug: webrtc:11314,chromium:1045910
Change-Id: I92d577e31af830945fe9d5ca2032000aad4266be
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167525
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30392}
This refers to modern getStats() only. The metrics has been implemented
for a while in C++ but was accidentally not included in the Members()
list, meaning they were not exposed in lists (including exposure in
Chrome/JavaScript).
The Chromium whitelist already include them.
TBR=hta@webrtc.org
Bug: webrtc:11317
Change-Id: I0c3ee9c552975fc37db2d87196c66e662c994aed
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167530
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30391}
What steps will reproduce the problem?
1. Connect a TCPPort, creating a TCPConnection
2. Disconnect the interface (e.g turn it off in android)
3. Send Ping on the TCPConnection
Crash.
The TCPConnection calls FailAndPrune when it fails to reconnect
the TCPConnection. FailAndPrune which removes the StunRequests.
When this is called from the Ping() code,
that will still access the StunRequest after the call to the Connection.
Solution: Instead of calling FailAndPrune deep down in the Ping()-stack
post a message to self to do this with a "clean" stack instead.
BUG: webrtc:11315
Change-Id: Id328b1b7c92311fa5b9adbfd2eb1dd14bf19805d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167522
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30389}