20837 Commits

Author SHA1 Message Date
Alex Loiko
ee67ca3fd8 Replace left shift with equivalent multiplication.
We have done changes to the Audio Processing fuzzer here
https://webrtc-review.googlesource.com/c/src/+/36500/6.

We ran the new version of the fuzzer locally. The UBSAN
detector found these (minor) issues.

We have used the Godbolt compiler explorer to check that similar
changes produce identical compiled code.

Bug: webrtc:7820
Change-Id: I9cc3b81e4be7cf691f878c37010ce105bc2f3e38
Reviewed-on: https://webrtc-review.googlesource.com/39264
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21605}
2018-01-12 15:29:59 +00:00
Per Åhgren
d84b3d1f3d Generalized the hysteresis behavior in the AEC3 delay estimator
This CL generalizes the hysteresis behavior on the AEC3 delay estimator
to be two-sided and easier to configure.


Bug: webrtc:8671
Change-Id: Ife21c1511416e32eb3618c81178deefe332ac1e8
Reviewed-on: https://webrtc-review.googlesource.com/39267
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21604}
2018-01-12 15:28:54 +00:00
Sam Zackrisson
4030c65c30 Add DCHECK and documentation to disallow trying to read more than two audio channels in helper function.
Bug: webrtc:8741
Change-Id: Ib55b15bb1802b412be17ef8199d6112937502cd3
Reviewed-on: https://webrtc-review.googlesource.com/39263
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21603}
2018-01-12 15:27:50 +00:00
Anders Carlsson
f707186185 Reland "Reland "Add completion callbacks to RTCCameraVideoCapturer start/stop operations""
This is a reland of 24e7a593d576d6eea8512f42f08d6c9c7003e76e
Original change's description:
> Reland "Add completion callbacks to RTCCameraVideoCapturer start/stop operations"
> 
> This is a reland of e23a9e8f418ad758bc1be5b53184b69ad1dab1c2
> Original change's description:
> > Add completion callbacks to RTCCameraVideoCapturer start/stop operations
> > 
> > Bug: webrtc:8696
> > Change-Id: I327ce11632fd0c71e28411d260094e87ede6b6b6
> > Reviewed-on: https://webrtc-review.googlesource.com/37021
> > Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
> > Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> > Commit-Queue: Anders Carlsson <andersc@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#21546}
> 
> Bug: webrtc:8696
> Change-Id: I48b4d140d870c9924ef0d76f4d282ff13951e083
> Reviewed-on: https://webrtc-review.googlesource.com/38800
> Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
> Commit-Queue: Anders Carlsson <andersc@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21592}

Bug: webrtc:8696
Change-Id: I281dee9b1df2efcb9c067da9dd9fea3c8fe35c3a
Reviewed-on: https://webrtc-review.googlesource.com/39281
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21602}
2018-01-12 15:17:09 +00:00
Erik Språng
27a457d172 Smoother frame dropping when screenshare_layers limits fps
This is a reland of https://webrtc-review.googlesource.com/34380

The main problem with that CL was that we used frame timestamps as basis
for frame dropping, but those might not be continuous or even populated
in some circumstances.

Additionally, I found that the bitrate was off since the encoder does
not not take the dropped frames into account, so if we drop every other
frame continiusoly, the bitrate sent will be around half of the target.

Patch set 1 is the original CL, subsequent patch sets cotains fixes.

Bug: webrtc:4172
Change-Id: I8ec8dddcebf4ce44f28dd9055cf9c46bbd68e4a6
Reviewed-on: https://webrtc-review.googlesource.com/39201
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21601}
2018-01-12 14:40:40 +00:00
Patrik Höglund
aaaf1cf962 Revert "Remove nogncheck and add proper dependencies."
This reverts commit eefd5439e7dfa0921d0bfcf7d59fbde40d428d39.

Reason for revert: Breaks everything, but somehow passed the trybots??

Original change's description:
> Remove nogncheck and add proper dependencies.
> 
> Bug: webrtc:8733
> Change-Id: I30224de3f9541c0c2652475c78c8889c10ec2121
> Reviewed-on: https://webrtc-review.googlesource.com/39005
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21599}

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

Change-Id: I1c987a82cd284bb4bb6bbedf661ddbab62d5290b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8733
Reviewed-on: https://webrtc-review.googlesource.com/39300
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21600}
2018-01-12 12:48:13 +00:00
Patrik Höglund
eefd5439e7 Remove nogncheck and add proper dependencies.
Bug: webrtc:8733
Change-Id: I30224de3f9541c0c2652475c78c8889c10ec2121
Reviewed-on: https://webrtc-review.googlesource.com/39005
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21599}
2018-01-12 12:20:32 +00:00
Sebastian Jansson
cabe3838bb Moved ALR experiment settings to new experiments folder.
This replaces most of the existing dependencies on the application
limited region(ALR) detector. This is to achieve a greater separation of
concerns and will make further refactoring regarding the ALR Detector
less invasive on other parts of the code base.

Bug: webrtc:8415
Change-Id: I92912254c6d02285cce6a88f6789f0ac94794c88
Reviewed-on: https://webrtc-review.googlesource.com/37560
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21598}
2018-01-12 12:03:22 +00:00
Erik Språng
0a52f1def6 Revert "Reland "Add completion callbacks to RTCCameraVideoCapturer start/stop operations""
This reverts commit 24e7a593d576d6eea8512f42f08d6c9c7003e76e.

Reason for revert: Speculative revert, to see if it causes obscure down-stream issues.

Original change's description:
> Reland "Add completion callbacks to RTCCameraVideoCapturer start/stop operations"
> 
> This is a reland of e23a9e8f418ad758bc1be5b53184b69ad1dab1c2
> Original change's description:
> > Add completion callbacks to RTCCameraVideoCapturer start/stop operations
> > 
> > Bug: webrtc:8696
> > Change-Id: I327ce11632fd0c71e28411d260094e87ede6b6b6
> > Reviewed-on: https://webrtc-review.googlesource.com/37021
> > Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
> > Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> > Commit-Queue: Anders Carlsson <andersc@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#21546}
> 
> Bug: webrtc:8696
> Change-Id: I48b4d140d870c9924ef0d76f4d282ff13951e083
> Reviewed-on: https://webrtc-review.googlesource.com/38800
> Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
> Commit-Queue: Anders Carlsson <andersc@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21592}

TBR=magjed@webrtc.org,andersc@webrtc.org,kthelgason@webrtc.org,gustavo@lifeonair.com

Change-Id: I11731b1ed7142175fc5b483f313f627556635ede
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8696
Reviewed-on: https://webrtc-review.googlesource.com/39280
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21597}
2018-01-12 11:54:03 +00:00
philipel
02f0396aa1 Fix video_replay tool to not accumulate error.
Bug: None
Change-Id: I825f971d92ff0185450450434d94441544727700
Reviewed-on: https://webrtc-review.googlesource.com/39040
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21596}
2018-01-12 11:41:42 +00:00
Fredrik Solenberg
2d49e4e18d Remove legacy VoiceEngine.
Now that voe::Channel is owned by Audio[Send|Receive]Stream, the legacy
VoiceEngine and the VoEBase interface is unused.

Also removes Atomic32, which was only used for ref counting VoiceEngine.

Bug: webrtc:4690
Change-Id: I73b8a083df544a8ab6383d57075a65ce955c592a
Reviewed-on: https://webrtc-review.googlesource.com/38723
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21595}
2018-01-12 11:31:52 +00:00
Patrik Höglund
f0839f2c96 Make new Chromium compile trybots mandatory.
These new bots will check all that all WebRTC patches compile in
Chromium before landing. They will not run tests, but this should be
enough to catch the majority of the errors.

Expected cycle time is ~30 minutes, so they may slow down the CQ.
I will monitor this so the average cycle time isn't too adversely
affected.

Bug: chromium:666656
Change-Id: I09c0409ea614570b3c28bf4be3644dfffacb424c
Reviewed-on: https://webrtc-review.googlesource.com/39006
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Edward Lemur <ehmaldonado@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21594}
2018-01-12 09:41:51 +00:00
Anders Carlsson
ce89234094 Clean up some files from rtc_audio_video target
No longer needed after
https://chromium-review.googlesource.com/c/chromium/src/+/857118

Bug: webrtc:7925
Change-Id: I24d41413452fe9cc3fd5bc87e670cb7096790f4e
Reviewed-on: https://webrtc-review.googlesource.com/38780
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21593}
2018-01-12 09:31:03 +00:00
Anders Carlsson
24e7a593d5 Reland "Add completion callbacks to RTCCameraVideoCapturer start/stop operations"
This is a reland of e23a9e8f418ad758bc1be5b53184b69ad1dab1c2
Original change's description:
> Add completion callbacks to RTCCameraVideoCapturer start/stop operations
> 
> Bug: webrtc:8696
> Change-Id: I327ce11632fd0c71e28411d260094e87ede6b6b6
> Reviewed-on: https://webrtc-review.googlesource.com/37021
> Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
> Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> Commit-Queue: Anders Carlsson <andersc@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21546}

Bug: webrtc:8696
Change-Id: I48b4d140d870c9924ef0d76f4d282ff13951e083
Reviewed-on: https://webrtc-review.googlesource.com/38800
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21592}
2018-01-12 09:28:21 +00:00
Mirko Bonadei
75baa498fa Stop using public_deps in media/.
Bug: webrtc:8603
Change-Id: I7a6dad323ac298dc784feb5aa1fdc2ae5876cb5c
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/33180
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21591}
2018-01-12 08:15:01 +00:00
Seth Hampson
11b68463e3 Removed overloaded function GetSimulcastConfig from simulcast.cc.
GetSimulcastConfig had to be overloaded in order to not break downstream
client tests when the API was changed. Now that the downstream client
has been updated to use the new API, we can remove the overloaded
function.

Bug: webrtc:8630
Change-Id: I5d5d494e0579e60858d6efbb4715761394874b38
Reviewed-on: https://webrtc-review.googlesource.com/38882
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Seth Hampson <shampson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21590}
2018-01-11 20:15:31 +00:00
Harald Alvestrand
c72af93cff Reland "Move stats ID generation from SSRC to local ID"
This is a reland of e357a4dd4e3b015f8281813f246de793589bd537
Original change's description:
> Move stats ID generation from SSRC to local ID
>
> This generates stats IDs for Track stats (which
> represents stats on the attachment of a track to
> a PeerConnection) from being SSRC-based to being
> based on an ID that is allocated when connecting the
> track to the PC.
>
> This is a prerequisite to generating stats before
> the PeerConnection is connected.
>
> Bug: webrtc:8673
> Change-Id: I82f6e521646b0c92b3af4dffb2cdee75e6dc10d4
> Reviewed-on: https://webrtc-review.googlesource.com/38360
> Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
> Reviewed-by: Henrik Boström <hbos@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21582}

TBR=solenberg@webrtc.org

Bug: webrtc:8673
Change-Id: I610302efc5393919569b77e3b59aa3384a9b88a5
Reviewed-on: https://webrtc-review.googlesource.com/38842
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21589}
2018-01-11 18:04:22 +00:00
Ivo Creusen
09fa4b04dd Make the echo detector injectable.
This adds a generic interface for an echo detector, and makes it possible to inject one into the audio processing module.

Bug: webrtc:8732
Change-Id: I30d97aeb829307b2ae9c4dbeb9a3e15ab7ec0912
Reviewed-on: https://webrtc-review.googlesource.com/38900
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21588}
2018-01-11 15:43:01 +00:00
Sami Kalliomäki
02879f9990 Reland "Make freeNativePeerConnectionObserver generic."
This is a reland of 046f78cae64fec756391e81206c5aa007274b791
Original change's description:
> Make freeNativePeerConnectionObserver generic.
> 
> Previously, it was only possible to free PeerConnectionObserverJni
> objects using this method. Now it is generic and can free any
> PeerConnectionObserver.
> 
> Bug: webrtc:8662
> Change-Id: I619ca5ed88a0c2553fa6d19ce41e510947d5bd44
> Reviewed-on: https://webrtc-review.googlesource.com/35222
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21411}

Bug: webrtc:8662
Change-Id: Iba64d613f7b434260a0d7b762ca67d49b295a84f
Reviewed-on: https://webrtc-review.googlesource.com/38901
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21587}
2018-01-11 15:26:11 +00:00
Erik Språng
c0092c372e Revert "Move stats ID generation from SSRC to local ID"
This reverts commit e357a4dd4e3b015f8281813f246de793589bd537.

Reason for revert: Looks like it's breaking some downstream projects.

Original change's description:
> Move stats ID generation from SSRC to local ID
> 
> This generates stats IDs for Track stats (which
> represents stats on the attachment of a track to
> a PeerConnection) from being SSRC-based to being
> based on an ID that is allocated when connecting the
> track to the PC.
> 
> This is a prerequisite to generating stats before
> the PeerConnection is connected.
> 
> Bug: webrtc:8673
> Change-Id: I82f6e521646b0c92b3af4dffb2cdee75e6dc10d4
> Reviewed-on: https://webrtc-review.googlesource.com/38360
> Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
> Reviewed-by: Henrik Boström <hbos@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21582}

TBR=solenberg@webrtc.org,hbos@webrtc.org,hta@webrtc.org

Change-Id: I621c10236c02be01d82f4660168f0323b85e24af
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8673
Reviewed-on: https://webrtc-review.googlesource.com/38681
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21586}
2018-01-11 15:16:42 +00:00
Åsa Persson
875841d9d8 Exclude initial adapt downs in stats for quality adapt changes per minute.
Make WebRTC.Video.AdaptChangesPerMinute.Quality stats only based on changes during a call.

Discard initial quality adapt changes due to bitrate (MaximumFrameSizeForBitrate).
Makes stats only based on changes determined by the quality scaler.

Bug: none
Change-Id: I461b65e65634565ade87b1336cf5206aa14926ff
Reviewed-on: https://webrtc-review.googlesource.com/37660
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21585}
2018-01-11 14:53:01 +00:00
Mirko Bonadei
34814c728f Stop using public_deps in api/.
Bug: webrtc:8603
Change-Id: I12f91365fa9a3ed12be1a9658999b6f6aad7e5e3
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/33220
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21584}
2018-01-11 14:50:11 +00:00
Per Åhgren
d20639f1f6 Correct the FFT windowing when computing the AEC NLP gain
This CL adds an nonwindowed spectrum of the linear filter error
to use in the NLP computation.

Bug: webrtc:8661
Change-Id: I45bc9bb3eb8eeac0c5d6adb414638eb12b635a27
Reviewed-on: https://webrtc-review.googlesource.com/38701
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21583}
2018-01-11 14:41:11 +00:00
Harald Alvestrand
e357a4dd4e Move stats ID generation from SSRC to local ID
This generates stats IDs for Track stats (which
represents stats on the attachment of a track to
a PeerConnection) from being SSRC-based to being
based on an ID that is allocated when connecting the
track to the PC.

This is a prerequisite to generating stats before
the PeerConnection is connected.

Bug: webrtc:8673
Change-Id: I82f6e521646b0c92b3af4dffb2cdee75e6dc10d4
Reviewed-on: https://webrtc-review.googlesource.com/38360
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21582}
2018-01-11 14:23:11 +00:00
Oskar Sundbom
6ad9f26975 Optional: Use nullopt and implicit construction in /modules/audio_device
Changes places where we explicitly construct an Optional to instead use
nullopt or the requisite value type only.

This CL was uploaded by git cl split.

Bug: None
Change-Id: I9f581b44a43db701300e100a3ff70d90e3dd4f6e
Reviewed-on: https://webrtc-review.googlesource.com/23572
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Oskar Sundbom <ossu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21581}
2018-01-11 13:55:11 +00:00
Oskar Sundbom
3f6804d140 Optional: Use nullopt and implicit construction in /test
Changes places where we explicitly construct an Optional to instead use
nullopt or the requisite value type only.

This CL was uploaded by git cl split

Bug: None
Change-Id: Ifca0183c2675a8d4e74c21b86f1724d9b2c01f5d
Reviewed-on: https://webrtc-review.googlesource.com/23579
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Oskar Sundbom <ossu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21580}
2018-01-11 13:31:01 +00:00
Edward Lemur
1db508352c iOS: Specify device to run perf tests.
It expects 'bot id', not 'bot_id'. As it is now, this is just ignored.

TBR=phoglund@webrtc.org

No-Try: true
Bug: webrtc:7156
Change-Id: I58443df82655bef5a88a416e4fa5e080ddb93772
Reviewed-on: https://webrtc-review.googlesource.com/38420
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21579}
2018-01-11 13:15:51 +00:00
Fredrik Solenberg
8f5787a919 Move ownership of voe::Channel into Audio[Receive|Send]Stream.
* VoEBase contains only stub methods (until downstream code is
  updated).

* voe::Channel and ChannelProxy classes remain, but are now created
  internally to the streams. As a result,
  internal::Audio[Receive|Send]Stream can have a ChannelProxy injected
  for testing.

* Stream classes share Call::module_process_thread_ for their RtpRtcp
  modules, rather than using a separate thread shared only among audio
  streams.

* voe::Channel instances use Call::worker_queue_ for encoding packets,
  rather than having a separate queue for audio (send) streams.

Bug: webrtc:4690
Change-Id: I8059ef224ad13aa0a6ded2cafc52599c7f64d68d
Reviewed-on: https://webrtc-review.googlesource.com/34640
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21578}
2018-01-11 12:58:31 +00:00
Sam Zackrisson
aa6b24f23c Delete DefaultAudioProcessingFactory in the Java layer
This removes the DefaultAudioProcessingFactory, PostProcessingFactory and DefaultAudioProcessingFactoryTest classes and leaves the interface AudioProcessingFactory without any default implementation (as the default APM is already created by the PeerConnectionFactory JNI).

Bug: webrtc:8701
Change-Id: I259108afbc5b24cab5161485f45af4236f775c18
Reviewed-on: https://webrtc-review.googlesource.com/37220
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21577}
2018-01-11 12:51:01 +00:00
Mirko Bonadei
a4eeeffec2 Fixing API list in native-api.md (adding media/base and media/engine).
Bug: None
Change-Id: I956a08b6a3127f41eb8d115dadc325331f1ae7db
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/39000
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21576}
2018-01-11 12:42:41 +00:00
Oskar Sundbom
fedc00c391 Optional: Use nullopt and implicit construction in /call
Changes places where we explicitly construct an Optional to instead use
nullopt or the requisite value type only.

This CL was uploaded by git cl split.

Bug: None
Change-Id: I25e460b7a848c765369ce881f8833081eedf2558
Reviewed-on: https://webrtc-review.googlesource.com/23600
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Oskar Sundbom <ossu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21575}
2018-01-11 12:00:00 +00:00
Patrik Höglund
6f491067c0 Block more check_includes overrides from being added.
There is almost never a good reason to add these, so prohibit them in
the presubmit.

Bug: webrtc:6828
Change-Id: I51100574be2da755ccf5e9c25755341e46fd3a37
Reviewed-on: https://webrtc-review.googlesource.com/38861
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21574}
2018-01-11 11:43:36 +00:00
henrika
c77b528a20 Adds usage of RTC_LOG macros in JNI audio code on Android.
Based on discussion in https://webrtc-review.googlesource.com/c/src/+/37640

Bug: webrtc:8710
Change-Id: I645b6e08b0a97aac3fe31547cf42fc4ddc25bbf6
Reviewed-on: https://webrtc-review.googlesource.com/37980
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21573}
2018-01-11 11:42:31 +00:00
Niels Möller
6f9c01fb58 Delete use of pthread_cond_timedwait_relative_np.
This appears to be a deprecated android function (available only for
__ANDROID_API__ < 21), and it's been reported to cause performance
problems on certain android devices (see bug for details).

Bug: webrtc:8722
Change-Id: I7ef4b6f98c4910246007ce1e262884c84b5f0efa
Reviewed-on: https://webrtc-review.googlesource.com/38700
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21572}
2018-01-11 11:40:21 +00:00
Oskar Sundbom
10b96ebcad Optional: Use nullopt and implicit construction in /modules/pacing
Changes places where we explicitly construct an Optional to instead use
nullopt or the requisite value type only.

This CL was uploaded by git cl split.

Bug: None
Change-Id: Ic83404f3b10ef7a9725ae1f4cf55e1b295cc9c5d
Reviewed-on: https://webrtc-review.googlesource.com/23570
Commit-Queue: Oskar Sundbom <ossu@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21571}
2018-01-11 10:59:40 +00:00
Patrik Höglund
b3fb9389b2 Remove obsolete TODO.
It's fine that system_wrappers depends on rtc_base; the circular
dependency between them has been resolved.

Bug: webrtc:6828
Change-Id: Ibdc04c1ce30aafade7e9045f38f34370f8ac514b
Reviewed-on: https://webrtc-review.googlesource.com/38721
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21570}
2018-01-11 10:42:20 +00:00
Mirko Bonadei
e5a93a7201 Making rtc_tools:unpack_aecdump publicly visible.
Bug: webrtc:8254
Change-Id: I0dce33dc45f108e5dcfe18e22480d533f93073c4
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/38960
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21569}
2018-01-11 09:04:30 +00:00
Patrik Höglund
448691c8b9 Remove the old videosinkinterface.h.
There is one downstream patch left to land.

Bug: webrtc:6828
Change-Id: I81fc27b699919ca4f91180cf57397ffb9d953dc8
Reviewed-on: https://webrtc-review.googlesource.com/38421
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21568}
2018-01-11 08:34:50 +00:00
Patrik Höglund
adc1e9bf94 Remove old videosourceinterface files.
I have one downstream CL that needs to land first before landing this.

Bug: webrtc:6828
Change-Id: Ib6f3ae78f83775278e4c2e4d34a93fe3748fb851
Reviewed-on: https://webrtc-review.googlesource.com/38340
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21567}
2018-01-11 08:23:33 +00:00
Niels Möller
f075c5ff89 Delete obsolete header file transportchannelimpl.h.
Bug: webrtc:8385
Change-Id: I8214e0536b3ec2e54b17b1f38e819929156956fe
Reviewed-on: https://webrtc-review.googlesource.com/38640
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21566}
2018-01-11 08:10:50 +00:00
Jiawei Ou
d3c642bc1f Fix typo in the include path of ooura_fft.h
Bug: None
Change-Id: Iaac4a80f75dcd81ab0d2665cb20f27f0342cb17d
Reviewed-on: https://webrtc-review.googlesource.com/38441
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21565}
2018-01-11 07:57:40 +00:00
Steve Anton
ef65ef1811 Fire OnAddTrack when Unified Plan is enabled
When Unified Plan semantics are set, PeerConnection will fire OnAddTrack
according to the WebRTC spec. OnRemoveTrack will never be fired and will
be deprecated in the future.

Bug: webrtc:7600
Change-Id: Idfaada65b795b5fb9fe4844cff036d52ea90da17
Reviewed-on: https://webrtc-review.googlesource.com/38122
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21564}
2018-01-11 01:43:00 +00:00
Steve Anton
02ee47c1ae Signal track ID correctly when Unified Plan semantics selected
This change corrects PeerConnection behavior under Unified
Plan semantics to:
- Set the RtpSender id to be the track ID if created with AddTrack.
- Put the RtpSender id in the SDP as part of the MSID.
- Set the RtpReceiver id to be the track part of the MSID
    when created via SetRemoteDescription.

Also, the RtpSender constructors have been simplified to defer
mutable state (in this case, setting BaseChannels) to method calls.

Bug: webrtc:8721
Change-Id: Idc80965e2df7a803b8bbeec1d96de9ad95391cce
Reviewed-on: https://webrtc-review.googlesource.com/38480
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21563}
2018-01-11 01:11:15 +00:00
Steve Anton
6077675ab3 Change RtpReceivers to interact with the media channel directly
Currently, the RtpReceivers take a BaseChannel which is (mostly)
just used for proxying calls to the MediaChannel. This change
removes the extra layer and moves the proxying logic to RtpReceiver.

Bug: webrtc:8587
Change-Id: I01b0e3d57b4629e43d9d148cc94d6dd2941d320e
Reviewed-on: https://webrtc-review.googlesource.com/38120
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21562}
2018-01-11 00:16:44 +00:00
Autoroller
d4d92b6ebd Roll chromium_revision b7c48e4a30..ec629e65bf (528253:528433)
Change log: b7c48e4a30..ec629e65bf
Full diff: b7c48e4a30..ec629e65bf

Changed dependencies:
* src/base: ce61d6936a..6cee9361d9
* src/build: 57a70f85d0..911efbe9e9
* src/buildtools: 1be57dc4c2..d3ad6b3bbb
* src/ios: 18cfb77c2e..9a6bddc9a2
* src/testing: 334e82becd..8caab93d7e
* src/third_party: 514268994c..7bb2726145
* src/third_party/android_tools: https://chromium.googlesource.com/android_tools.git/+log/7d781b3544..c78b258727
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/d4706cb285..21f0b35542
* src/third_party/depot_tools: 1edda746d2..31c14787e4
* src/tools: 2980a2cae5..c348ac8cae
DEPS diff: b7c48e4a30..ec629e65bf/DEPS

No update to Clang.

TBR=buildbot@webrtc.org,
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Change-Id: I42e5b61b4230e056aee17bbe895b17d848c889a4
Reviewed-on: https://webrtc-review.googlesource.com/38980
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21561}
2018-01-10 22:16:14 +00:00
Fredrik Solenberg
3b903d057a Reconfigure, not reconstruct, AudioReceiveStreams.
In preparation of moving ownership of voe::Channel to the audio stream
classes, semantics for changing configuration properties on the receive
streams need to change, otherwise RTP, audio decoding and NetEq state
will be discarded when streams are recreated. The same pattern as for
AudioSendStream is applied, and the reconfigurable information is kept
to a minimum.

AudioReceiveStream:s may still be recreated when an unsignaled stream
is 'promoted' to signaled state, and the sync label changes at the
same time.

Bug: webrtc:4690
Change-Id: Ibad282965310c3c8174a91e05a659fa3e1827607
Reviewed-on: https://webrtc-review.googlesource.com/38300
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21560}
2018-01-10 17:00:34 +00:00
Per Kjellander
a0f5f60c93 Revert "Revert "Make some more targets publicly visible""
This reverts commit 55d1809d0d73592a1ddf4f0fb02ce7444fa066aa.

Reason for revert: This cl was not the culprit for breaking chrome content/renderer deps.

Original change's description:
> Revert "Make some more targets publicly visible"
> 
> This reverts commit 60d179256213c7516808aff827637cab8a47de89.
> 
> Reason for revert: 
> 
> Breaks Chrome FYI:
> 
> /b/c/b/Linux_Builder/src/buildtools/linux64/gn gen //out/Release --check
>   -> returned 1
> ERROR at //build/split_static_library.gni:12:5: Dependency not allowed.
>     static_library(target_name) {
>     ^----------------------------
> The item //content/renderer:renderer
> can not depend on //third_party/webrtc/media:rtc_internal_video_codecs
> because it is not in //third_party/webrtc/media:rtc_internal_video_codecs's visibility list: [
>   //third_party/webrtc/*
>   //third_party/webrtc_overrides/*
> ]
> 
>  https://logs.chromium.org/v/?s=chromium%2Fbb%2Fchromium.webrtc.fyi%2FLinux_Builder%2F23560%2F%2B%2Frecipes%2Fsteps%2Fgenerate_build_files%2F0%2Fstdout
> 
> Original change's description:
> > Make some more targets publicly visible
> > 
> > To fix build errors introduced by
> > https://webrtc-review.googlesource.com/c/src/+/24140
> > 
> > BUG=webrtc:8254
> > NOTRY=true
> > 
> > Change-Id: I9cdf9cee39735368af78291134dbad70aebb7195
> > Reviewed-on: https://webrtc-review.googlesource.com/38660
> > Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
> > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#21552}
> 
> TBR=mbonadei@webrtc.org,kwiberg@webrtc.org
> 
> Change-Id: I475ac382218fa77d33abc595f0773275d715a28e
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:8254
> Reviewed-on: https://webrtc-review.googlesource.com/38740
> Reviewed-by: Per Kjellander <perkj@webrtc.org>
> Commit-Queue: Per Kjellander <perkj@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21554}

TBR=mbonadei@webrtc.org,kwiberg@webrtc.org,perkj@webrtc.org

Change-Id: If8e9b7b1c934ec4b5ed61941c845e62e43bef97e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8254
Reviewed-on: https://webrtc-review.googlesource.com/38841
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21559}
2018-01-10 15:57:43 +00:00
Per Kjellander
a7f2d84ad1 Revert "Revert "GN rtc_* templates: Set default visibility to webrtc_root + "/*"""
This reverts commit c73e1f437889d882cbf2987f7fb3a029a6150613.

Reason for revert: 
The problem with failed deps in chrome content/renderer had already been fixed in https://webrtc-review.googlesource.com/c/src/+/38660

Original change's description:
> Revert "GN rtc_* templates: Set default visibility to webrtc_root + "/*""
> 
> This reverts commit 588c548657b3ddf76e7b3f241263eef7f5799f16.
> 
> Reason for revert: 
> 
> Breaks Chrome FYI:
> 
> /b/c/b/Linux_Builder/src/buildtools/linux64/gn gen //out/Release --check
>   -> returned 1
> ERROR at //build/split_static_library.gni:12:5: Dependency not allowed.
>     static_library(target_name) {
>     ^----------------------------
> The item //content/renderer:renderer
> can not depend on //third_party/webrtc/media:rtc_internal_video_codecs
> because it is not in //third_party/webrtc/media:rtc_internal_video_codecs's visibility list: [
>   //third_party/webrtc/*
>   //third_party/webrtc_overrides/*
> ]
> 
>  https://logs.chromium.org/v/?s=chromium%2Fbb%2Fchromium.webrtc.fyi%2FLinux_Builder%2F23560%2F%2B%2Frecipes%2Fsteps%2Fgenerate_build_files%2F0%2Fstdout
> 
> Original change's description:
> > GN rtc_* templates: Set default visibility to webrtc_root + "/*"
> > 
> > This means that by default, targets are visible to everything under
> > the WebRTC root, but not visible to anything else.
> > 
> > API targets are manually tagged with visibility "*", so that targets
> > outside the WebRTC tree can see them.
> > 
> > BUG=webrtc:8254
> > 
> > Change-Id: Icdbee6e0d22d93240ff2fb530c8f9dc48e351509
> > Reviewed-on: https://webrtc-review.googlesource.com/24140
> > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#21548}
> 
> TBR=mbonadei@webrtc.org,kwiberg@webrtc.org
> 
> Change-Id: I06620ce3d6f67482935c22efa231dd6cab91625a
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:8254
> Reviewed-on: https://webrtc-review.googlesource.com/38760
> Reviewed-by: Per Kjellander <perkj@webrtc.org>
> Commit-Queue: Per Kjellander <perkj@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21555}

TBR=mbonadei@webrtc.org,kwiberg@webrtc.org,perkj@webrtc.org

Change-Id: I6f720078ce21bd172e0a6471bae8c4c011e4a657
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8254
Reviewed-on: https://webrtc-review.googlesource.com/38860
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21558}
2018-01-10 15:55:04 +00:00
Per Åhgren
0e6d2f5118 Use the filter delay to use the proper render block in the AEC3 AecState
This CL corrects the way that the estimated filter delay is used in
AEC3. In particular
-It uses the filter delay to choose the correct render block in AecState
-It changes the code to reflect that the filter delay is always computed
-It removes part of the code that formerly relied on the filter delay
being an Optional.

Bug: webrtc:8671
Change-Id: I58135a5c174b404707e19a41c3617c09831e871d
Reviewed-on: https://webrtc-review.googlesource.com/35221
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21557}
2018-01-10 15:53:02 +00:00
Yura Yaroshevich
77a47e0081 Handle any exception in Camera.setPreviewTexture.
On Meizu devices (and maybe on other devices too) when camera is
disallowed in settings `android.hardware.Camera.open` returns
non-null Camera instance, but when any method is invoked on `Camera`
instance the `RuntimeException` is thrown. It claims that Camera
instance is used after `release()` was invoked on that instance.
`Camera1Session.open` didn't handle that case and crashed whole
application when returned Camera instance was already released or
more likely was not even properly initialized during `Camera.open`.

Bug: webrtc:8685
Change-Id: I5cda397a599e87971bf9a4bd3faf6fc4a0d198f3
Reviewed-on: https://webrtc-review.googlesource.com/36300
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21556}
2018-01-10 15:15:57 +00:00