Commit Graph

694 Commits

Author SHA1 Message Date
3d2210876e Remove unused critical section includes.
Bug: webrtc:11567
Change-Id: Ic5e43c51ce06c0619adc265d12ad4bef73a9df76
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/179521
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31745}
2020-07-16 13:52:28 +00:00
a166a353fb webrtc::AudioSendStream: Add lock annotation to audio_level_
This is a follow-up CL to https://webrtc-review.googlesource.com/c/src/+/176741

Bug: webrtc:11567
Change-Id: Ic64aec56534efc3229a1d9fa61552db4b83cae4c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/178780
Reviewed-by: Markus Handell <handellm@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31638}
2020-07-06 17:05:25 +00:00
6287280d64 Migrate audio/ to use webrtc::Mutex
Bug: webrtc:11567
Change-Id: Ic6a753f09aafb508690f4b8dadd4c99433fcfeb6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176741
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31635}
2020-07-06 14:21:38 +00:00
1ff3c584cd Add TimeController to the CreatePeerConnectionE2EQualityTestFixture API
Add TimeController to the CreatePeerConnectionE2EQualityTestFixture
method as a first step to make PC level framework compatible with
TimeController abstraction.

Bug: webrtc:11743
Change-Id: I69305abc880059bf9fe1d4f2e3b7c10cf35417db
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/178485
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31607}
2020-07-01 15:18:34 +00:00
2b4d2f3561 Removes locking in TransportFeedbackProxy.
The lock in TransportFeedbackProxy could cause a dead-lock if audio is
included in transport feedback messages, and necessitated a revert:
https://webrtc-review.googlesource.com/c/src/+/178100

This CL removes that lock and in fact the entire TransportFeedbackProxy
class, and instead sets the observer at construction time.
We therefore don't need to guard the observer pointer anymore.

For further context, see also internal bug b/153893626

Bug: webrtc:10809
Change-Id: I79b08d8d0e587a59736b383c3596a26836c33d2e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/178207
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31583}
2020-06-29 16:52:34 +00:00
edcd9665b8 negotiate RED codec for audio
negotiates the RED codec for opus audio behind a field trial
  WebRTC-Audio-Redundancy
This adds the following line to the SDP:
  a=rtpmap:someid RED/48000/2

To test start Chrome with
  --force-fieldtrials=WebRTC-Audio-Red-For-Opus/Enabled

BUG=webrtc:11640

Change-Id: I8fa9fb07d03db5f90cdb08765baaa03d3d0458cc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176372
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31562}
2020-06-25 06:24:18 +00:00
08ce986fda Switch to absl single target when building with Chromium.
The //third_party/abseil-cpp:absl target is currently a group that
depends on all the targets needed by WebRTC in Chromium.

It will be switched to a component starting from
https://chromium-review.googlesource.com/c/chromium/src/+/2174434.

Bug: chromium:1046390
Change-Id: I70d450fdbfa895084b481c9884b6361d2fb9580d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176901
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31498}
2020-06-11 11:53:48 +00:00
2dcf348011 Use absl_deps in order to preapre to the Abseil component build release.
Bug: webrtc:1046390
Change-Id: Ia35545599de23b1a2c2d8be2d53469af7ac16f1d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176502
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31463}
2020-06-08 12:59:40 +00:00
506d4eb7e4 Add missing headers to fix chromium roll
Bug: None
Change-Id: If28819bbeebe739f07fcd8d6ea8ab841efc20f75
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176562
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31453}
2020-06-05 17:49:04 +00:00
f25761d798 Remove dependency from RtpRtcp on the Module interface.
The 'Module' part of the implementation must not be
called via the RtpRtcp interface, but is rather a part of
the contract with ProcessThread. That in turn is an
implementation detail for how timers are currently implemented
in the default implementation.

Along the way I'm deprecating away the factory function which
was inside the interface and tied it to one specific implementation.
Instead, I'm moving that to the implementation itself and down the
line, we don't have to go through it if we just want to create an
instance of the class.

The key change is in rtp_rtcp.h and the new rtp_rtcp_interface.h
header file (things moved from rtp_rtcp.h), the rest falls from that.

Change-Id: I294f13e947b9e3e4e649400ee94a11a81e8071ce
Bug: webrtc:11581
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176419
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31440}
2020-06-04 08:11:21 +00:00
fae05624ec Deprecate the static RtpRtcp::Create() method.
The method is being used externally to create instances
of the deprecated internal implementation.

Instead, I'm moving how we instantiate the internal implementation into
the implementation itself and move towards keeping the interface
separate from a single implementation.

Change-Id: I743aa86dc4c812b545699c546c253c104719260e
Bug: webrtc:11581
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176404
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31420}
2020-06-03 09:41:34 +00:00
1a4975642b fix typos in comments
BUG=none

Change-Id: I3e500213a7a272b6422db35575389b368c0e3ef2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176131
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
Cr-Commit-Position: refs/heads/master@{#31380}
2020-05-28 17:56:45 +00:00
909f3a5339 Rename several more tests that use EXPECT_DEATH to *DeathTest.
Bug: webrtc:11577
Change-Id: I0397ee933464496e4885bb0f8030f3d669e5e612
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175641
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31309}
2020-05-18 16:10:04 +00:00
cf6544aef7 Avoids unnecessary calls to audio encoder.
As of this CL:
https://webrtc-review.googlesource.com/c/src/+/173704
...we now call AudioEncoder::OnReceivedOverhead() too often, since we
don't check if overhead has actually changed.
This CL rectifies that.

Bug: webrtc:10809
Change-Id: I0b86e0296a7860dde3e62e817f9b941fa82afe4a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175009
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31279}
2020-05-15 15:26:46 +00:00
f9c6b68057 In audio/ replace mock macros with unified MOCK_METHOD macro
Bug: webrtc:11564
Change-Id: Ibdefed35fc73c8bf74db47df7469af7968f8e59d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175138
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31274}
2020-05-15 10:54:00 +00:00
04e1bab1b3 Replaces OverheadObserver with simple getter.
This interface has a couple of issues. Primarily for me, it makes it
difficult work with the paced sender as we need to either temporarily
release a lock or force a thread-handover in order to avoid a cyclic
lock order.

For video in particular, its behavior is also falky since header sizes
can vary not only form frame to frame, but from packet to packet within
a frame (e.g. TimingInfo extension is only on the last packet, if set).
On bitrate allocation, the last reported value is picked, leading to
timing issues affecting the bitrate set.

This CL removes the callback interface and instead we simply poll the
RTP module for a packet overhead. This consists of an expected overhead
based on which non-volatile header extensions are registered (so for
instance AbsoluteCaptureTime is disregarded since it's only populated
once per second). The overhead estimation is a little less accurate but
instead simpler and deterministic.

Bug: webrtc:10809
Change-Id: I2c3d3fcca6ad35704c4c1b6b9e0a39227aada1ea
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/173704
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Ali Tofigh <alito@webrtc.org>
Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31185}
2020-05-07 17:33:45 +00:00
c0df5fc25b VoIP API implementation on top of AudioIngress/Egress
This is one last CL that includes the rest of VoIP API implementation.

Bug: webrtc:11251
Change-Id: I3f1b0bf2fd48be864ffc73482105f9514f75f9e0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/173860
Commit-Queue: Tim Na <natim@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31168}
2020-05-05 19:55:29 +00:00
d7197080c0 Add unit tests for audio channel send frame transformer delegate.
Bug: webrtc:11380
Change-Id: I58a3983d3f16be8ed6a95ea2b9ce759bc3b3a7b7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174003
Commit-Queue: Marina Ciocea <marinaciocea@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31159}
2020-05-04 16:50:12 +00:00
701ccf97c9 Add unit tests for audio receive channel frame transformer delegate.
Bug: webrtc:11380
Change-Id: I4630b75c83886d722e7be64d50a9790c20956ba4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174004
Commit-Queue: Marina Ciocea <marinaciocea@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31157}
2020-05-04 15:44:08 +00:00
9abc6bd8aa Reduce audiosendstream dependency on rttstats (dead code).
Change-Id: I4b05321548b6584424f23c45b0e95b4c03fe67c1
Bug: none
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/148529
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31139}
2020-04-27 13:59:45 +00:00
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
f4ee036871 [InsertableStreams] Clear callback to audio receive channel in delegate.
Reset the frame transformer delegate's callback to
ChannelReceive::OnReceivedPayloadData when the channel is destroyed, to
prevent future callbacks from the delegate.

Bug: chromium:870644
Change-Id: Iaa2c1b7b26dc38709d3fe64a180ccc6a60a1ec9c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/173751
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Marina Ciocea <marinaciocea@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31121}
2020-04-22 18:58:35 +00:00
11f92bc81b Audio ingress implementation for voip api.
This is based on channel_receive.cc implementation where non-audio
related logics are trimmed off for smaller footprint in size.

Bug: webrtc:11251
Change-Id: I743c9f93f509fa6fcc12981fa73a6f01ce38348c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172821
Commit-Queue: Tim Na <natim@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31117}
2020-04-21 20:19:37 +00:00
b9d468573a insertable streams: include rtp_timestamp offset for audio
includes the (random) rtp start offset in the timestamp passed to the frame transformer callback

Bug: chromium:1069278
Change-Id: I7d10130404d93df7cee3b8f87a0b780801a51415
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/173329
Commit-Queue: Marina Ciocea <marinaciocea@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Marina Ciocea <marinaciocea@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31067}
2020-04-14 14:54:07 +00:00
fc23cc07e2 [InsertableStreams] Don't include the header in the transformable payload.
Bug: chromium:1052765
Change-Id: I7d9465361811943edf46b53df80a4c50ad8d01d0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172720
Commit-Queue: Marina Ciocea <marinaciocea@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30977}
2020-04-02 11:20:59 +00:00
486232025b Transform received audio frames in ChannelReceive.
This change is part of the implementation of the Insertable Streams Web
API: https://github.com/alvestrand/webrtc-media-streams/blob/master/explainer.md

Design doc for WebRTC library changes:
http://doc/1eiLkjNUkRy2FssCPLUp6eH08BZuXXoHfbbBP1ZN7EVk

Bug: webrtc:11380
No-Try: True
Change-Id: I1a7ef9fd8130936176b5a4f78ad835cba52666d0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171873
Commit-Queue: Marina Ciocea <marinaciocea@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30961}
2020-04-01 11:23:00 +00:00
3e9af7fe05 Insert audio frame transformer between depacketizer and decoder.
The frame transformer is passed from RTPReceiverInterface through the
library to be eventually set in ChannelReceive, where the frame
transformation will occur in the follow-up CL.

Insertable Streams Web API explainer:
https://github.com/alvestrand/webrtc-media-streams/blob/master/explainer.md

Design doc for WebRTC library changes:
http://doc/1eiLkjNUkRy2FssCPLUp6eH08BZuXXoHfbbBP1ZN7EVk

Bug: webrtc:11380
Change-Id: I5af06d1431047ef50d00e304cf95e92a832b4220
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171872
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Marina Ciocea <marinaciocea@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30956}
2020-04-01 08:15:53 +00:00
65674d83e1 Transform encoded frames in ChannelSend.
This change is part of the implementation of the Insertable Streams Web
API: https://github.com/alvestrand/webrtc-media-streams/blob/master/explainer.md

Design doc for WebRTC library changes:
http://doc/1eiLkjNUkRy2FssCPLUp6eH08BZuXXoHfbbBP1ZN7EVk

Bug: webrtc:11380
Change-Id: I75444283ddb7f8db742687b497bf532c6dda47be
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171871
Commit-Queue: Marina Ciocea <marinaciocea@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30952}
2020-03-31 21:59:26 +00:00
d2aa8f97f1 Insert audio frame transformer between encoder and packetizer.
The frame transformer is passed from RTPSenderInterface through the
library to be eventually set in ChannelSend, where the frame
transformation will occur in the follow-up CL.

Insertable Streams Web API explainer:
https://github.com/alvestrand/webrtc-media-streams/blob/master/explainer.md

Design doc for WebRTC library changes:
http://doc/1eiLkjNUkRy2FssCPLUp6eH08BZuXXoHfbbBP1ZN7EVk

Bug: webrtc:11380
Change-Id: I01b2adc3c96b948d182d5401a9a4fe14cf5960a2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171870
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30946}
2020-03-31 11:14:00 +00:00
a7a0173713 Remove the histogram flag and all Chart JSON code.
Since the flag is now on by default, we can remove it (after all
callers stop passing it).

We can also remove all Chart JSON code from WebRTC since it is
no longer used.

Requires one recipe CL and one downstream CL to land first.

Bug: chromium:1029452
Change-Id: Ic1d62e8ab9dfcd255cd2bf51d153db80d59c564b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171878
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30927}
2020-03-28 13:44:43 +00:00
a298fd54c1 Don't double import protobuf code.
The proto code is copied into the out dir, so always use that since
it is what isolate is using. Previously we pointed straight at the
checkout code.

I think copying python into the out dir is probably the right way
to do things, so we should go that way in the future.

Bug: chromium:1029452
Change-Id: I701cc84a674021d2f78c73db8808f55cd6ae5174
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171877
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30923}
2020-03-27 19:22:37 +00:00
8ab3c77c01 Audio egress implementation for initial voip api in api/voip.
For simplicity and flexibility on audio only API, it deemed
to be better to trim off all audio unrelated logic to serve
the purpose.

Bug: webrtc:11251
Change-Id: I40e3eba2714c171f7c98b158303a7b3f744ceb78
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169462
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30922}
2020-03-27 18:45:43 +00:00
a782299e91 Add PYTHONPATH entry for proto internal.
Turns out my new protobuf internal entries are copied to the out dir,
so we need a new entry for that.

Tbr: mbonadei@webrtc.org
Bug: chromium:1029452
Change-Id: I5bcae3a7ff1163e051382ae741646f206ccc7324
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171869
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30918}
2020-03-27 09:53:01 +00:00
e4ae1ced9d Reland: Add in missing protobuf code.
Turns out the import of histogram_pb2 failed not on the stub itself
(which I thought for a long, long time), but because of the protobuf
support code it includes in turn. This is a drawback of catching
the ImportError in histogram_proto.py.

This has a decent chance of fixing the problem.

Tbr: mbonadei@webrtc.org
Bug: chromium:1029452
Change-Id: If7ae2439b01ad1b3129d8cc8b158385101082e6f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171867
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30917}
2020-03-27 08:47:44 +00:00
749dff12b5 Revert "Add in missing protobuf code."
This reverts commit 0a663bf9f1332c2ea92b7b49cdb3716472c29590.

Reason for revert: Breaks isolate tests

Original change's description:
> Add in missing protobuf code.
> 
> Turns out the import of histogram_pb2 failed not on the stub itself
> (which I thought for a long, long time), but because of the protobuf
> support code it includes in turn. This is a drawback of catching
> the ImportError in histogram_proto.py.
> 
> This has a decent chance of fixing the problem.
> 
> Tbr: mbonadei@webrtc.org
> Bug: chromium:1029452
> Change-Id: I3c07a362dcfd174a388b3cc34449c08951cea626
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171860
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30912}

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

Change-Id: I05bf2f65905afcb7dfdc1e3fca7c01b4af377410
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:1029452
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171866
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30915}
2020-03-27 08:04:42 +00:00
0a663bf9f1 Add in missing protobuf code.
Turns out the import of histogram_pb2 failed not on the stub itself
(which I thought for a long, long time), but because of the protobuf
support code it includes in turn. This is a drawback of catching
the ImportError in histogram_proto.py.

This has a decent chance of fixing the problem.

Tbr: mbonadei@webrtc.org
Bug: chromium:1029452
Change-Id: I3c07a362dcfd174a388b3cc34449c08951cea626
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171860
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30912}
2020-03-27 07:47:09 +00:00
28b8a0b2bc Partial revert of flag simplification.
Unfortunately it turns out the Android test runner requires
the isolated script flag to be in its current form, or it
doesn't work. This means we have to keep translating the
flag name.

We can get rid of the isolated_script_test_output flag
at least.

Tbr: mbonadei@webrtc.org
Bug: chromium:1051927
Change-Id: I4fdbff980e65332b757b1c95aa6587328411c0ed
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171809
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30907}
2020-03-26 20:09:33 +00:00
7ac010cea4 Fix low bw test.
The problem turned out to be that it passes . as the path, and that
does not work in the PYTHONPATH.

Also remove debug logging.

Bug: chromium:1029452
Change-Id: Ied5211f6c039b41da9d77638801e67b7ea8f192f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171806
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30903}
2020-03-26 13:34:11 +00:00
324646626f Add debug info to low bw test.
Bug: chromium:1029452
Tbr: mbonadei@webrtc.org
Change-Id: I7685dd9a2bb5ad1333836603ee8f8f7b10553179
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171804
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30900}
2020-03-26 11:07:16 +00:00
3b4bbf5bcc Reland "Switch low bw audio test to histograms."
The reland makes sure the relevant code gets pulled by the isolate.

Also requires a recipe change so the results processor switches to
histogram mode when this CL is landed (see Chromium change 2119683).

Bug: chromium:1029452
Change-Id: I18bc9de72c8d21cb2942ca9af774d3227a8bf874
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171693
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30894}
2020-03-26 07:54:47 +00:00
ad502fa727 Revert "Switch low bw audio test to histograms."
This reverts commit 71c9a18f2532f4aec0727ce7b932aca8b61fab6f.

Reason for revert: Relevant python code isn't pulled when the test runs on swarming.

Original change's description:
> Switch low bw audio test to histograms.
> 
> Also requires a recipe change so the results processor switches to
> histogram mode when this CL is landed.
> 
> Bug: chromium:1029452
> Change-Id: Ic09deefc3f4f9d7a82ffeafeb5209fcfc361aece
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171683
> Reviewed-by: Artem Titov <titovartem@webrtc.org>
> Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30884}

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

Change-Id: I6b3645ff939943a21185a1a1c8c5a0877e29db8c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:1029452
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171692
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30893}
2020-03-26 06:46:33 +00:00
71c9a18f25 Switch low bw audio test to histograms.
Also requires a recipe change so the results processor switches to
histogram mode when this CL is landed.

Bug: chromium:1029452
Change-Id: Ic09deefc3f4f9d7a82ffeafeb5209fcfc361aece
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171683
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30884}
2020-03-25 14:52:10 +00:00
1b20c41dcb Greatly simplify flags for test binaries.
Since we're now calling the shots of what flags get passed in the
recipes, we can just pass the right ones right away and remove all
the flag renaming.

--isolated-script-test-output is no longer passed, so we can just
remove it. The recipe is currently passing
--isolated-script-perf-test-output but I will start passing the
underscore version shortly.

Bug: chromium:1051927
Change-Id: I571090e62f79ea17c793295df7f5abb21f45d207
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171681
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30878}
2020-03-25 09:56:07 +00:00
7eab0a820f Split RMS level measurement utility from APM
This moves rms_level.* into a separate build target.

Bug: webrtc:11226
Change-Id: I94ceacd1ec65dda48f5d19b22ba2625d13543e08
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170323
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30856}
2020-03-23 16:54:22 +00:00
dc5522b4bf APM: Removing the redundant VAD output from the integer API
This CL removes the redundant VAD output from the newly introduced
integer API in AudioProcessing.

Bug: webrtc:5298
Change-Id: Iad2b1b97ada7f4863139655526c110e326c6788a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170824
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30832}
2020-03-19 13:59:00 +00:00
71652f4b66 APM: Localize/abstract the usage of AudioFrame
This CL moves the implementation of of the AudioFrame
support from the implementation of AudioProcessing
to proxy methods that map the call to the integer
stream interfaces (added in another CL).

The CL also changes the WebRTC code using the AudioFrame
interfaces to instead use the proxy methods.

This CL will be followed by one more CL that removes
the usage of the AudioFrame class from the rest of
APM (apart from the AudioProcessing API).

Bug: webrtc:5298
Change-Id: Iecb72e9fa896ebea3ac30e558489c1bac88f5891
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170110
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30812}
2020-03-17 13:55:41 +00:00
0c96449305 Clamp stable target bitrate to min/max allocated bitrate.
Currently, the stable target can grow to 2x the max allocated bitrate.

Bug: None
Change-Id: I71657cb49ebebd429aae0bcd2e2978938252115c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170222
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30776}
2020-03-12 13:51:10 +00:00
b8e69efcee Write protos as binary.
We need to write protos as "wb" and not "w", otherwise we get CRLF
on Windows which corrupts the proto.

Bug: chromium:1029452
Change-Id: Iabf841405134d7bc2523ac48219ca7cb9d8214c1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170320
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30772}
2020-03-12 09:43:57 +00:00
e618cc9c1e Add jitterBufferTargetDelay as RTCNonStandardStatsMember to new GetStats API
Bug: webrtc:11381
Change-Id: I7df3450e50da49d178e1e3a5d9f4970672d91aac
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169120
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30758}
2020-03-11 12:08:32 +00:00
c77108446e Remove RTC_NOTREACHED from audio_send_stream when ANA didn't work
Bug: None
Change-Id: Id3181827470aba8e486073380911db5873c7dd0a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169800
Commit-Queue: Alejandro Luebs <aluebs@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30730}
2020-03-09 17:44:42 +00:00