171 Commits

Author SHA1 Message Date
Lu Liu
c1094eb81d Revert "Use runtime enabled features API to enable dual stream mode"
This reverts commit 6f011dfdd413a903dcdf5a23a49109e64432326d.

Reason for revert: Broke internal builds

Original change's description:
> Use runtime enabled features API to enable dual stream mode
> 
> Bug: webrtc:8287
> Change-Id: I1a366d959a8b7f2a704baa7ea8ace64c1c398d52
> Reviewed-on: https://webrtc-review.googlesource.com/39008
> Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Philip Eliasson <philipel@webrtc.org>
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21661}

TBR=phoglund@webrtc.org,ilnik@webrtc.org,nisse@webrtc.org,philipel@webrtc.org

Change-Id: I0af406066231b67dd0b8eb6808bdc3e3f77560b6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8287
Reviewed-on: https://webrtc-review.googlesource.com/40321
Reviewed-by: Lu Liu <lliuu@webrtc.org>
Commit-Queue: Lu Liu <lliuu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21663}
2018-01-17 19:45:48 +00:00
Ilya Nikolaevskiy
6f011dfdd4 Use runtime enabled features API to enable dual stream mode
Bug: webrtc:8287
Change-Id: I1a366d959a8b7f2a704baa7ea8ace64c1c398d52
Reviewed-on: https://webrtc-review.googlesource.com/39008
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21661}
2018-01-17 16:29:37 +00:00
Fredrik Solenberg
a8b7c7f4c6 Move remaining traces of VoiceEngine
- Move files from voice_engine/ to audio/.
- Rename voice_engine/utility.* to remix_resample.* since there are no other
  utilities in those files.
- Move test/mock_voe_channel_proxy.h to audio/.
- Removed voe_channel_id from Audio[Receive|Send]Stream::Config.
- Remove VoiceEngine* from AudioState::Config.
- Fix a few cpplint complaints which showed when moving files.

NOPRESUBMIT=true

Bug: webrtc:4690
Change-Id: Id266c822d956625c358fa5e193e6f4837164aef8
Reviewed-on: https://webrtc-review.googlesource.com/39268
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21657}
2018-01-17 13:27:47 +00:00
Mirko Bonadei
8d0f1db319 Removing cricket::MediaEngineFactory.
Bug: None
Change-Id: I680a3a0785f17f53ea574ab5c94530d540c365ed
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/39320
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21652}
2018-01-17 12:11:16 +00:00
Lu Liu
0f17f9ce28 Revert "Enables/disables simulcast streams by allocating a bitrate of 0 to the spatial layer."
This reverts commit 18c4261339dc76b220e7c805e36b4ea6f3dd161d.

Reason for revert: Broke internal tests

Original change's description:
> Enables/disables simulcast streams by allocating a bitrate of 0 to the spatial layer.
> 
> Creates VideoStreams & VideoCodec.simulcastStreams with an active field, and then allocates 0 bitrate to simulcast streams that are inactive. This turns off the encoder for specific simulcast streams.
> 
> Bug: webrtc:8653
> Change-Id: Id93b03dcd8d1191a7d3300bd77882c8af96ee469
> Reviewed-on: https://webrtc-review.googlesource.com/37740
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Commit-Queue: Seth Hampson <shampson@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21646}

TBR=deadbeef@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,shampson@webrtc.org

Change-Id: I0aeb743cbd2e8d564aa732c937587c25a4c49b09
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8653
Reviewed-on: https://webrtc-review.googlesource.com/39883
Reviewed-by: Lu Liu <lliuu@webrtc.org>
Commit-Queue: Lu Liu <lliuu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21647}
2018-01-17 00:28:27 +00:00
Seth Hampson
18c4261339 Enables/disables simulcast streams by allocating a bitrate of 0 to the spatial layer.
Creates VideoStreams & VideoCodec.simulcastStreams with an active field, and then allocates 0 bitrate to simulcast streams that are inactive. This turns off the encoder for specific simulcast streams.

Bug: webrtc:8653
Change-Id: Id93b03dcd8d1191a7d3300bd77882c8af96ee469
Reviewed-on: https://webrtc-review.googlesource.com/37740
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Seth Hampson <shampson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21646}
2018-01-16 19:36:14 +00:00
Fredrik Solenberg
4613bdf995 Recreate AudioReceiveStreams when header extensions change.
To align behavior with video receive streams. Configuration of header
extensions happen outside the stream classes (i.e. in Call). Recent
changes stopped recreating streams when extensions changed, but relied
on reconfiguring the stream instead.

Bug: webrtc:4690
Change-Id: I9efe944f94b811c353628d3be34f548f998d0efc
Reviewed-on: https://webrtc-review.googlesource.com/39664
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21642}
2018-01-16 14:16:44 +00:00
Patrik Höglund
a97af1f2f5 Complete moving video_coding headers.
Bug: webrtc:7620
Change-Id: Ic553cd083ef267b19897777340120b1f3e4765f2
Reviewed-on: https://webrtc-review.googlesource.com/39663
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21633}
2018-01-16 10:29:12 +00:00
Dan Minor
9c68613080 Update gn files to support Mozilla build
Bug: webrtc:8670
No-Presubmit: true
Change-Id: I085dc63daa8274b5068540cbf56b6330f40643fa
Reviewed-on: https://webrtc-review.googlesource.com/38920
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21624}
2018-01-16 07:51:23 +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
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
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
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
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 Kjellander
c73e1f4378 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}
2018-01-10 15:14:54 +00:00
Per Kjellander
55d1809d0d 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}
2018-01-10 15:12:13 +00:00
Karl Wiberg
60d1792562 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}
2018-01-10 14:28:32 +00:00
Karl Wiberg
588c548657 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}
2018-01-10 13:08:11 +00:00
Seth Hampson
438663e7fc DCHECKS added to GetSimulcastConfig.
GetSimulcastConfig should never return an empty vector of VideoStreams, because lower layers in the code expect atleast one VideoStream. It should also never be given input of max_streams equal to 0.

Bug: webrtc:8648
Change-Id: I60f59b3b267a732f07001e4c8a7fa64963802887
Reviewed-on: https://webrtc-review.googlesource.com/38061
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21545}
2018-01-10 10:29:41 +00:00
Steve Anton
002f921c5d Inline default constructors for MediaChannel structs
Bug: None
Change-Id: I72b534c49d3f26e988d1c92aae09435a9483a930
Reviewed-on: https://webrtc-review.googlesource.com/37143
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21540}
2018-01-10 01:31:40 +00:00
Ivo Creusen
62337e59dd Use AudioProcessingBuilder everywhere AudioProcessing is created.
The AudioProcessingBuilder was recently introduced in https://webrtc-review.googlesource.com/c/src/+/34651 to make it easier to create APM instances. This CL replaces all calls to the old Create methods with the new AudioProcessingBuilder.

Bug: webrtc:8668
Change-Id: Ibb5f0fc0dbcc85fcf3355b01bec916f20fe0eb67
Reviewed-on: https://webrtc-review.googlesource.com/36082
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21534}
2018-01-09 13:45:20 +00:00
Patrik Höglund
825249fd8c Add final missing header files before enabling orphans check.
Bug: None
Change-Id: I4fdac7481ac73b1e6035802530c834e273fb3cdc
Reviewed-on: https://webrtc-review.googlesource.com/38200
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21531}
2018-01-09 12:05:10 +00:00
Seth Hampson
24722b3c84 Reland "Wiring the RTCRtpEncodingParameters.priority down to the bitrate allocator."
This is a reland of d2b912aed132c751919ed286439fb39bbd714dda
Original change's description:
> Wiring the RTCRtpEncodingParameters.priority down to the bitrate allocator.
>
> I followed the wiring path for the max bitrate.
> Doc:
> https://docs.google.com/a/google.com/document/d/1sGT6y00prOIErFuGD44zWZacDpR6Rkjg_HXA_Z3Vw4Q/edit?usp=sharing
>
> Bug: webrtc:8630
> Change-Id: I6b861816670442656721c20f81d035ee5eb6218c
> Reviewed-on: https://webrtc-review.googlesource.com/30380
> Commit-Queue: Seth Hampson <shampson@webrtc.org>
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Elad Alon <eladalon@webrtc.org>
> Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21397}

TBR=solenberg@webrtc.org,eladalon@webrtc.org,sprang@webrtc.org,stefan@webrtc.org

Bug: webrtc:8630
Change-Id: I7429d9e270c9ecb4dfaf6aef85d3055c47658631
Reviewed-on: https://webrtc-review.googlesource.com/35600
Commit-Queue: Seth Hampson <shampson@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21524}
2018-01-08 18:57:19 +00:00
Patrik Höglund
99175c6eb3 Add untracked headers to video_coding.
This creates a new target for pure defines and interfaces. I think
that makes sense (though include/ makes it harder to see when .cc and
.h files should live together).

Bug: webrtc:7620
Change-Id: Ifb0f50faf99166202836c0446feed3443eb52c6e
Reviewed-on: https://webrtc-review.googlesource.com/34657
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21516}
2018-01-08 11:51:52 +00:00
Anders Carlsson
a114c88e78 Reland "Reland "Reland "Put internal video codec factories into separate target"""
This is a reland of 727b7d0470c0515397d21698ee089197c31cb5ff
Original change's description:
> Reland "Reland "Put internal video codec factories into separate target""
> 
> This is a reland of 0efd1e8b7e69900a6a516a176f1ab69d0e6b8a26
> Original change's description:
> > Reland "Put internal video codec factories into separate target"
> > 
> > This is a reland of 51698aefd4925f2dfa0310a321f836d433fa9258
> > Original change's description:
> > > Put internal video codec factories into separate target
> > > 
> > > The purpose is to start splitting out the dependencies to the built-in
> > > SW video codecs, so that clients can decide to not depend on them and
> > > get a reduction in binary size.
> > > 
> > > Replaces https://webrtc-review.googlesource.com/c/src/+/29101
> > > 
> > > Bug: webrtc:7925
> > > Change-Id: I46b95aaf42ead70ba78776de60600b8a66a1fe0c
> > > Reviewed-on: https://webrtc-review.googlesource.com/33420
> > > Commit-Queue: Anders Carlsson <andersc@webrtc.org>
> > > Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#21381}
> > 
> > Bug: webrtc:7925
> > Change-Id: I105287fd41ec3ee5bd964b94efcc9c7b3ecdb842
> > Reviewed-on: https://webrtc-review.googlesource.com/35261
> > Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> > Commit-Queue: Anders Carlsson <andersc@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#21389}
> 
> Bug: webrtc:7925
> Change-Id: Id1c7f270676e9e4ca57ca8aa1305cf5554290754
> Reviewed-on: https://webrtc-review.googlesource.com/35501
> Commit-Queue: Anders Carlsson <andersc@webrtc.org>
> Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21464}

Bug: webrtc:7925
Change-Id: I0b3b5e03d29dadbcbe13cb7ce5369299bb6c0454
Reviewed-on: https://webrtc-review.googlesource.com/37000
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21513}
2018-01-08 09:29:52 +00:00
Steve Anton
dc8b5ab350 Remove dead code for media channel errors
Bug: None
Change-Id: Ifb8f2cd42a5e24ce8386eff97435890766bbd5fc
Reviewed-on: https://webrtc-review.googlesource.com/37142
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21507}
2018-01-06 00:25:29 +00:00
srte
e0c2eeafaa Simplifying video engine test code.
The macros confuses automatic tooling, Qt Creator fails to identify the
tests defined with the special macros used before.

The value for readers of defining the macros is not obvious either.
Macros can sometime make code more compact and therefore quicker to
overview. However they also increases ambiguity of the code and the
reader will have to look up their definition to know what they do.

In this case I argue that the slight decrease in code size does not
outweigh the cost of lost tooling support.

Bug: None
Change-Id: Ic496fbe1fefdc5acd3f50ec99e2c804bb6065c3d
Reviewed-on: https://webrtc-review.googlesource.com/33540
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21503}
2018-01-05 15:30:39 +00:00
Patrik Höglund
9e19403d10 Move videosourceinterface to api.
VideoSourceInterface is clearly an integral part of
mediastreaminterface.h already, so moving that interface to api makes
sense. This also resolves a circular dependency in call/.

Bug: webrc:6828
Change-Id: Ic1862f118363b0b55a235a9c0c35d9adc647184c
Reviewed-on: https://webrtc-review.googlesource.com/37500
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21498}
2018-01-05 09:14:19 +00:00
Patrik Höglund
be214a26f8 Move videosinkinterface.h to common_video to solve a circular dep.
I updated some dependency enforcement rules to allow examples and pc
to depend on common_video. I reckoned depending on common_video is
not controversial when they already dependend on media/base, which
is a lower-level abstraction.

Bug: webrtc:6828
Change-Id: I77dbeb10187b4e70dda1d873a29994fa76070758
Reviewed-on: https://webrtc-review.googlesource.com/34187
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21495}
2018-01-04 13:19:49 +00:00
Anders Carlsson
0942b36af1 Revert "Reland "Reland "Put internal video codec factories into separate target"""
This reverts commit 727b7d0470c0515397d21698ee089197c31cb5ff.

Reason for revert: Breaks build

Original change's description:
> Reland "Reland "Put internal video codec factories into separate target""
> 
> This is a reland of 0efd1e8b7e69900a6a516a176f1ab69d0e6b8a26
> Original change's description:
> > Reland "Put internal video codec factories into separate target"
> > 
> > This is a reland of 51698aefd4925f2dfa0310a321f836d433fa9258
> > Original change's description:
> > > Put internal video codec factories into separate target
> > > 
> > > The purpose is to start splitting out the dependencies to the built-in
> > > SW video codecs, so that clients can decide to not depend on them and
> > > get a reduction in binary size.
> > > 
> > > Replaces https://webrtc-review.googlesource.com/c/src/+/29101
> > > 
> > > Bug: webrtc:7925
> > > Change-Id: I46b95aaf42ead70ba78776de60600b8a66a1fe0c
> > > Reviewed-on: https://webrtc-review.googlesource.com/33420
> > > Commit-Queue: Anders Carlsson <andersc@webrtc.org>
> > > Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#21381}
> > 
> > Bug: webrtc:7925
> > Change-Id: I105287fd41ec3ee5bd964b94efcc9c7b3ecdb842
> > Reviewed-on: https://webrtc-review.googlesource.com/35261
> > Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> > Commit-Queue: Anders Carlsson <andersc@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#21389}
> 
> Bug: webrtc:7925
> Change-Id: Id1c7f270676e9e4ca57ca8aa1305cf5554290754
> Reviewed-on: https://webrtc-review.googlesource.com/35501
> Commit-Queue: Anders Carlsson <andersc@webrtc.org>
> Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21464}

TBR=magjed@webrtc.org,andersc@webrtc.org

Change-Id: I8a0621eb91f9ce4835f012e74b6a1da9bf740963
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7925
Reviewed-on: https://webrtc-review.googlesource.com/36940
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21465}
2018-01-02 09:54:12 +00:00
Anders Carlsson
727b7d0470 Reland "Reland "Put internal video codec factories into separate target""
This is a reland of 0efd1e8b7e69900a6a516a176f1ab69d0e6b8a26
Original change's description:
> Reland "Put internal video codec factories into separate target"
> 
> This is a reland of 51698aefd4925f2dfa0310a321f836d433fa9258
> Original change's description:
> > Put internal video codec factories into separate target
> > 
> > The purpose is to start splitting out the dependencies to the built-in
> > SW video codecs, so that clients can decide to not depend on them and
> > get a reduction in binary size.
> > 
> > Replaces https://webrtc-review.googlesource.com/c/src/+/29101
> > 
> > Bug: webrtc:7925
> > Change-Id: I46b95aaf42ead70ba78776de60600b8a66a1fe0c
> > Reviewed-on: https://webrtc-review.googlesource.com/33420
> > Commit-Queue: Anders Carlsson <andersc@webrtc.org>
> > Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#21381}
> 
> Bug: webrtc:7925
> Change-Id: I105287fd41ec3ee5bd964b94efcc9c7b3ecdb842
> Reviewed-on: https://webrtc-review.googlesource.com/35261
> Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> Commit-Queue: Anders Carlsson <andersc@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21389}

Bug: webrtc:7925
Change-Id: Id1c7f270676e9e4ca57ca8aa1305cf5554290754
Reviewed-on: https://webrtc-review.googlesource.com/35501
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21464}
2018-01-02 09:44:51 +00:00
Patrik Höglund
6213929de5 Add missing files to audio_processing.
Bug: webrtc:7621
Change-Id: I2cab764232fc4e084ed8a489f4cf3a3ac562c894
Reviewed-on: https://webrtc-review.googlesource.com/34658
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21461}
2017-12-31 12:18:38 +00:00
Jonathan Yu
7622048be2 Add an AudioOptions field to force software echo cancellation on iOS.
This is a temporary hack for the iPad Pro 12.9" gen2, which has
non-functional echo cancellation.

Bug: webrtc:8682
Change-Id: I646deeeb4723c4accac6f364c5c76a015791e202
Reviewed-on: https://webrtc-review.googlesource.com/35680
Commit-Queue: Jonathan Yu <yujo@chromium.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21417}
2017-12-22 00:04:43 +00:00
Oleh Prypin
a40f82438a Explicitly specify is_clang=false for Win MSVC bots
Otherwise they're doing exactly the same as Clang bots.

Also fix 64-bit-specific warnings that have sneaked in because we have been testing MSVC build only on 32-bit for a while.

TBR=ehmaldonado@webrtc.org

Bug: webrtc:8664
Change-Id: I875e568d75aa550726f54650c283b288d3f52012
Reviewed-on: https://webrtc-review.googlesource.com/35160
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Guido Urdaneta <guidou@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21414}
2017-12-21 13:22:40 +00:00
Lu Liu
8b77aea2ac Revert "Wiring the RTCRtpEncodingParameters.priority down to the bitrate allocator."
This reverts commit d2b912aed132c751919ed286439fb39bbd714dda.

Reason for revert: broke internal tests

Original change's description:
> Wiring the RTCRtpEncodingParameters.priority down to the bitrate allocator.
> 
> I followed the wiring path for the max bitrate.
> Doc:
> https://docs.google.com/a/google.com/document/d/1sGT6y00prOIErFuGD44zWZacDpR6Rkjg_HXA_Z3Vw4Q/edit?usp=sharing
> 
> Bug: webrtc:8630
> Change-Id: I6b861816670442656721c20f81d035ee5eb6218c
> Reviewed-on: https://webrtc-review.googlesource.com/30380
> Commit-Queue: Seth Hampson <shampson@webrtc.org>
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Elad Alon <eladalon@webrtc.org>
> Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21397}

TBR=solenberg@webrtc.org,eladalon@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,pthatcher@webrtc.org,shampson@webrtc.org

Change-Id: If82810072e21818ae452a0fc3f984d44e5dac70c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8630
Reviewed-on: https://webrtc-review.googlesource.com/35540
Reviewed-by: Lu Liu <lliuu@webrtc.org>
Commit-Queue: Lu Liu <lliuu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21399}
2017-12-20 23:48:09 +00:00
Seth Hampson
d2b912aed1 Wiring the RTCRtpEncodingParameters.priority down to the bitrate allocator.
I followed the wiring path for the max bitrate.
Doc:
https://docs.google.com/a/google.com/document/d/1sGT6y00prOIErFuGD44zWZacDpR6Rkjg_HXA_Z3Vw4Q/edit?usp=sharing

Bug: webrtc:8630
Change-Id: I6b861816670442656721c20f81d035ee5eb6218c
Reviewed-on: https://webrtc-review.googlesource.com/30380
Commit-Queue: Seth Hampson <shampson@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21397}
2017-12-20 21:24:47 +00:00
Lu Liu
6552695e35 Revert "Reland "Put internal video codec factories into separate target""
This reverts commit 0efd1e8b7e69900a6a516a176f1ab69d0e6b8a26.

Reason for revert: Breaking internal builds

Original change's description:
> Reland "Put internal video codec factories into separate target"
> 
> This is a reland of 51698aefd4925f2dfa0310a321f836d433fa9258
> Original change's description:
> > Put internal video codec factories into separate target
> > 
> > The purpose is to start splitting out the dependencies to the built-in
> > SW video codecs, so that clients can decide to not depend on them and
> > get a reduction in binary size.
> > 
> > Replaces https://webrtc-review.googlesource.com/c/src/+/29101
> > 
> > Bug: webrtc:7925
> > Change-Id: I46b95aaf42ead70ba78776de60600b8a66a1fe0c
> > Reviewed-on: https://webrtc-review.googlesource.com/33420
> > Commit-Queue: Anders Carlsson <andersc@webrtc.org>
> > Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#21381}
> 
> Bug: webrtc:7925
> Change-Id: I105287fd41ec3ee5bd964b94efcc9c7b3ecdb842
> Reviewed-on: https://webrtc-review.googlesource.com/35261
> Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> Commit-Queue: Anders Carlsson <andersc@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21389}

TBR=magjed@webrtc.org,andersc@webrtc.org

Change-Id: I8d3b788cc9e43261b3ed6d3d52427b5e26bc827e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7925
Reviewed-on: https://webrtc-review.googlesource.com/35187
Reviewed-by: Lu Liu <lliuu@webrtc.org>
Commit-Queue: Lu Liu <lliuu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21393}
2017-12-20 18:08:48 +00:00
Anders Carlsson
0efd1e8b7e Reland "Put internal video codec factories into separate target"
This is a reland of 51698aefd4925f2dfa0310a321f836d433fa9258
Original change's description:
> Put internal video codec factories into separate target
> 
> The purpose is to start splitting out the dependencies to the built-in
> SW video codecs, so that clients can decide to not depend on them and
> get a reduction in binary size.
> 
> Replaces https://webrtc-review.googlesource.com/c/src/+/29101
> 
> Bug: webrtc:7925
> Change-Id: I46b95aaf42ead70ba78776de60600b8a66a1fe0c
> Reviewed-on: https://webrtc-review.googlesource.com/33420
> Commit-Queue: Anders Carlsson <andersc@webrtc.org>
> Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21381}

Bug: webrtc:7925
Change-Id: I105287fd41ec3ee5bd964b94efcc9c7b3ecdb842
Reviewed-on: https://webrtc-review.googlesource.com/35261
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21389}
2017-12-20 16:26:46 +00:00
Anders Carlsson
bb298acac8 Revert "Put internal video codec factories into separate target"
This reverts commit 51698aefd4925f2dfa0310a321f836d433fa9258.

Reason for revert: Breaks builds because badly formatted deps

Original change's description:
> Put internal video codec factories into separate target
> 
> The purpose is to start splitting out the dependencies to the built-in
> SW video codecs, so that clients can decide to not depend on them and
> get a reduction in binary size.
> 
> Replaces https://webrtc-review.googlesource.com/c/src/+/29101
> 
> Bug: webrtc:7925
> Change-Id: I46b95aaf42ead70ba78776de60600b8a66a1fe0c
> Reviewed-on: https://webrtc-review.googlesource.com/33420
> Commit-Queue: Anders Carlsson <andersc@webrtc.org>
> Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21381}

TBR=magjed@webrtc.org,andersc@webrtc.org

Change-Id: Ib85f77fea756f4beb6a95b45cb132cbdc424ef00
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7925
Reviewed-on: https://webrtc-review.googlesource.com/35260
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21383}
2017-12-20 13:45:27 +00:00
Anders Carlsson
51698aefd4 Put internal video codec factories into separate target
The purpose is to start splitting out the dependencies to the built-in
SW video codecs, so that clients can decide to not depend on them and
get a reduction in binary size.

Replaces https://webrtc-review.googlesource.com/c/src/+/29101

Bug: webrtc:7925
Change-Id: I46b95aaf42ead70ba78776de60600b8a66a1fe0c
Reviewed-on: https://webrtc-review.googlesource.com/33420
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21381}
2017-12-20 13:31:26 +00:00
Steve Anton
4ab68eec96 Move sessiondescription.h/cc from p2p/base to pc/
SDP is a detail of PeerConnection and is not used by anything in p2p, so
it belongs in the pc/ directory. This also allows
MediaContentDescription to be inlined in the future.

Bug: webrtc:8620
Change-Id: I38b65ede9942e29eb15035ab29f2be988da1e5ce
Reviewed-on: https://webrtc-review.googlesource.com/33781
Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21376}
2017-12-20 00:21:52 +00:00
Fredrik Solenberg
d5247510dc Replace VoEBase::[Start/Stop]Playout().
The functionality is moved into AudioState.

TBR: henrika@webrtc.org
Bug: webrtc:4690
Change-Id: I015482ad18a39609634f6ead9e991d5210107f0f
Reviewed-on: https://webrtc-review.googlesource.com/34502
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21338}
2017-12-18 22:51:27 +00:00
Fredrik Solenberg
aaedf75520 Replace VoEBase::[Start/Stop]Send().
The functionality is moved into AudioState.

Bug: webrtc:4690
Change-Id: Iee1bfd185566c9507422e8eea8a2cce02baaefe1
Reviewed-on: https://webrtc-review.googlesource.com/33521
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21324}
2017-12-18 15:20:59 +00:00
Fredrik Solenberg
2a8779763a Remove voe::TransmitMixer
TransmitMixer's functionality is moved into the AudioTransportProxy
owned by AudioState. This removes the need for an AudioTransport
implementation in VoEBaseImpl, which means that the proxy is no longer
a proxy, hence AudioTransportProxy is renamed to AudioTransportImpl.

In the short term, AudioState needs to know which AudioDeviceModule is
used, so it is added in AudioState::Config. AudioTransportImpl needs
to know which AudioSendStream:s are currently enabled to send, so
AudioState maintains a map of them, which is reduced into a simple
vector for AudioTransportImpl.

To encode and transmit audio,
AudioSendStream::OnAudioData(std::unique_ptr<AudioFrame> audio_frame)
is introduced, which is used in both the Chromium and standalone use
cases. This removes the need for two different instances of
voe::Channel::ProcessAndEncodeAudio(), so there is now only one,
taking an AudioFrame as argument. Callers need to allocate their own
AudioFrame:s, which is wasteful but not a regression since this was
already happening in the voe::Channel functions.

Most of the logic changed resides in
AudioTransportImpl::RecordedDataIsAvailable(), where two strange
things were found:

  1. The clock drift parameter was ineffective since
     apm->echo_cancellation()->enable_drift_compensation(false) is
     called during initialization.

  2. The output parameter 'new_mic_volume' was never set - instead it
     was returned as a result, causing the ADM to never update the
     analog mic gain
     (https://cs.chromium.org/chromium/src/third_party/webrtc/voice_engine/voe_base_impl.cc?q=voe_base_impl.cc&dr&l=100).

Besides this, tests are updated, and some dead code is removed which
was found in the process.

Bug: webrtc:4690, webrtc:8591
Change-Id: I789d5296bf5efb7299a5ee05a4f3ce6abf9124b2
Reviewed-on: https://webrtc-review.googlesource.com/26681
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21301}
2017-12-15 16:48:57 +00:00
Patrik Höglund
3e113438b1 Fix circular dependencies in webrtc_common.
One reason for the circular deps is that common_types.h is a
historical dumping ground for various structs and defines that
are believed to be generally useful. I tried moving things out
that did not appear to be used downstream (StreamCounters,
RtpCounters etc) and moved the things that seemed used
(RtpHeader + supporting structs) to a new file api/rtp_headers.h.
This makes their place in the api more clear while moving out
the things that don't belong in the API in the first place.

I had to extract out typedefs.h from webrtc_common to resolve
another circular dependency. I believe checks includes typedefs,
but common depends on checks.

Bug: webrtc:7745
Change-Id: I725d49616b1ec0cdc8b74be7c078f7a4d46f084b
Reviewed-on: https://webrtc-review.googlesource.com/33001
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21295}
2017-12-15 14:33:26 +00:00
Niels Möller
00f934abc4 Add gcc-style annotations for printf-like functions.
Bug: None
Change-Id: I37a553d254cb61a882b98b14274c0fdfba039992
Reviewed-on: https://webrtc-review.googlesource.com/33002
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21281}
2017-12-14 13:22:33 +00:00