162 Commits

Author SHA1 Message Date
Ilya Nikolaevskiy
ad55676f73 Add logs in *_loopback tools in release builds
Bug: none
Change-Id: I2dc902a0643baa333b335374164c65878fb47a2b
Reviewed-on: https://webrtc-review.googlesource.com/40120
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21669}
2018-01-18 09:18:47 +00:00
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
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
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
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
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
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
Å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
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
Oskar Sundbom
8e07c134ab Optional: Use nullopt and implicit construction in /video
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: Ie622c215e06956d8d5629733c76f531b7af45012
Reviewed-on: https://webrtc-review.googlesource.com/23568
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Oskar Sundbom <ossu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21535}
2018-01-09 15:14:10 +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
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
Qiang Chen
a9329dbae2 Bug Fix: Peers Cannot Communicate If One With Stereo Codec, One Not
When Chromium hooks up with the stereo codec, then it has difficulty
communicating with a google chrome without stereo codec. By design, we
do allow codec choice for the standalone codecs, but the problem is
that we do not handle the payload correctly, and thus the existence
of stereo codec will remove the payload registry of the standalone
version of its associated codec. (For example, stereo codec on top of
VP9 will remove the payload registry of standalone VP9 codec.)

This CL fixes the issue. When generating payload data, we should use
"stereo" as payload name, instead of its associated codecs.


Bug: webrtc:8657
Change-Id: I9e0b54de6bd41d370b9353f9553c998e4049789f
Reviewed-on: https://webrtc-review.googlesource.com/33122
Reviewed-by: Emircan Uysaler <emircan@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Qiang Chen <qiangchen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#21523}
2018-01-08 17:53:39 +00:00
Edward Lemur
e66572bede Reland "iOS: Save perf results under Documents/perf_result.json"
This will require a manual roll to downstream projects, since
the //test:perf_test target was introduced.

This is a reland of 10a8e7a9b5261a7e3ce19900ba3511be3b5911f8
Original change's description:
> iOS: Save perf results under Documents/perf_result.json
>
> TBR=henrika@webrtc.org
>
> Bug: webrtc:7156
> Change-Id: Ib00992cce0007e0b5c9274340df1a892f810b0c5
> Reviewed-on: https://webrtc-review.googlesource.com/29202
> Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
> Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21244}

R=henrika@webrtc.org, phoglund@webrtc.org

Bug: webrtc:7156
Change-Id: I85fc7bc5fce0894af90017b71b9952b61b523424
Reviewed-on: https://webrtc-review.googlesource.com/37643
Reviewed-by: Patrik Höglund <phoglund@google.com>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21518}
2018-01-08 14:12:42 +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
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
Edward Lemur
d1d674348f Use PrintResult* instead of printf in video/video_quality_test.cc
Use the PrintResult* functions from test/testsupport/perf_test.h
instead of using printf directly.

Bug: webrtc:8566
Change-Id: Icc3418402e5fbe4e695a64d0523e1f64aa27edf8
Reviewed-on: https://webrtc-review.googlesource.com/36420
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21483}
2018-01-03 15:38:56 +00:00
Edward Lemur
35d2b7e9de Fix reporting of perf results on video full stack tests.
For DualStreamsTest, the name of the metric reported
("dualstreams_moderately_restricted_screenshare") was repeated 4 times:
- Conference_Restricted/0
- Conference_Restricted/1
- ModeratelyRestricted_SlidesVp8_3TL_Simulcast_Video_Simulcast_High/0
- ModeratelyRestricted_SlidesVp8_3TL_Simulcast_Video_Simulcast_High/1

So only one of those tests (whichever ran last) has its metrics reported
to the perf dashboard, while the others have their metrics ignored.

I added the "/0" or "/1" as part of the metric name, to differentiate
between them.

Bug: webrtc:8566
Change-Id: I088807b66f9b7957571dccdb8fe3df0d87486bb0
Reviewed-on: https://webrtc-review.googlesource.com/36400
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21481}
2018-01-03 12:42:46 +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
Mirko Bonadei
5f99e65679 Removing unneeded dependencies from video_quality_test.
Bug: None
Change-Id: I559804f8583cff119abdf431d750ce179acad6f7
Reviewed-on: https://webrtc-review.googlesource.com/34653
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21463}
2018-01-02 08:46:11 +00:00
Ilya Nikolaevskiy
38aaf69b7b Fix broken FEC full stack tests
Bug: webrtc:8588
Change-Id: Iac476fc2031d2687fb6ac45f4f159f1ac87fdaba
Reviewed-on: https://webrtc-review.googlesource.com/36061
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21428}
2017-12-22 14:06:33 +00:00
Ilya Nikolaevskiy
255d1cd3b4 Implement dual stream full stack test and loopback tool
Bug: webrtc:8588
Change-Id: I0abec4891a723c98001f4580f0cfa57a5d6d6bdb
Reviewed-on: https://webrtc-review.googlesource.com/34441
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21416}
2017-12-21 17:30:31 +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
Ying Wang
38a31b0af6 Revert "Revert "Revert "Add ProtectionBitrateCalculator as an abstract class. ProtectionBitrateCalculatorDefault implements ProtectionBitrateCalculator. Register VideoSendStream to packet feedback"""
This reverts commit 718d8631b0294a8bdc56366b68c51e2f04cd0c9e.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Revert "Revert "Add ProtectionBitrateCalculator as an abstract class. ProtectionBitrateCalculatorDefault implements ProtectionBitrateCalculator. Register VideoSendStream to packet feedback""
> 
> This reverts commit 53d901332c2eb43cad0da5768c6f7a8c4aeb9590.
> 
> Reason for revert: root cause has been found and will be addressed in the patch.The root cause was protection_bitrate_calculator_ is now destructed before worker_queue_, and worker_queue_ may contain tasks which involves protection_bitrate_calculator_, so they need to be destructed in the opposite order.
> That was not an issue since before this cl we didn't allocate protection_bitrate_calculator_ on the heap.
> 
> Original change's description:
> > Revert "Add ProtectionBitrateCalculator as an abstract class. ProtectionBitrateCalculatorDefault implements ProtectionBitrateCalculator. Register VideoSendStream to packet feedback"
> >
> > This reverts commit e58e91b6d143ef847f8df24b19de4ba98cdb6f72.
> >
> > Reason for revert: Breaks downstream project b/70848177
> >
> > Original change's description:
> > > Add ProtectionBitrateCalculator as an abstract class. ProtectionBitrateCalculatorDefault implements ProtectionBitrateCalculator. Register VideoSendStream to packet feedback
> > >
> > > Bug: webrtc:8656
> > > Change-Id: Iab4f6ab8997cb082762218afc8580e9985ac2522
> > > Reviewed-on: https://webrtc-review.googlesource.com/33010
> > > Commit-Queue: Ying Wang <yinwa@webrtc.org>
> > > Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#21348}
> >
> > TBR=stefan@webrtc.org,philipel@webrtc.org,yinwa@webrtc.org
> >
> > Change-Id: Ic186ba78be429bd1046ceac15051a3382b6ffc4f
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: webrtc:8656
> > Reviewed-on: https://webrtc-review.googlesource.com/35080
> > Commit-Queue: Lu Liu <lliuu@webrtc.org>
> > Reviewed-by: Lu Liu <lliuu@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#21374}
> 
> TBR=stefan@webrtc.org,philipel@webrtc.org,lliuu@webrtc.org,yujo@chromium.org,yinwa@webrtc.org
> 
> Change-Id: Ie2b5a2a2ead0f20ac67c1ea9b8d192af66bddf8d
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:8656
> Reviewed-on: https://webrtc-review.googlesource.com/35320
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Reviewed-by: Ying Wang <yinwa@webrtc.org>
> Commit-Queue: Ying Wang <yinwa@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21409}

TBR=stefan@webrtc.org,philipel@webrtc.org,lliuu@webrtc.org,yujo@chromium.org,yinwa@webrtc.org

Change-Id: I9773aaa942054dcfbab6002a5d713ab3526b0534
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8656
Reviewed-on: https://webrtc-review.googlesource.com/35700
Reviewed-by: Ying Wang <yinwa@webrtc.org>
Commit-Queue: Ying Wang <yinwa@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21410}
2017-12-21 12:26:31 +00:00
Ying Wang
718d8631b0 Revert "Revert "Add ProtectionBitrateCalculator as an abstract class. ProtectionBitrateCalculatorDefault implements ProtectionBitrateCalculator. Register VideoSendStream to packet feedback""
This reverts commit 53d901332c2eb43cad0da5768c6f7a8c4aeb9590.

Reason for revert: root cause has been found and will be addressed in the patch.The root cause was protection_bitrate_calculator_ is now destructed before worker_queue_, and worker_queue_ may contain tasks which involves protection_bitrate_calculator_, so they need to be destructed in the opposite order.
That was not an issue since before this cl we didn't allocate protection_bitrate_calculator_ on the heap.

Original change's description:
> Revert "Add ProtectionBitrateCalculator as an abstract class. ProtectionBitrateCalculatorDefault implements ProtectionBitrateCalculator. Register VideoSendStream to packet feedback"
>
> This reverts commit e58e91b6d143ef847f8df24b19de4ba98cdb6f72.
>
> Reason for revert: Breaks downstream project b/70848177
>
> Original change's description:
> > Add ProtectionBitrateCalculator as an abstract class. ProtectionBitrateCalculatorDefault implements ProtectionBitrateCalculator. Register VideoSendStream to packet feedback
> >
> > Bug: webrtc:8656
> > Change-Id: Iab4f6ab8997cb082762218afc8580e9985ac2522
> > Reviewed-on: https://webrtc-review.googlesource.com/33010
> > Commit-Queue: Ying Wang <yinwa@webrtc.org>
> > Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#21348}
>
> TBR=stefan@webrtc.org,philipel@webrtc.org,yinwa@webrtc.org
>
> Change-Id: Ic186ba78be429bd1046ceac15051a3382b6ffc4f
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:8656
> Reviewed-on: https://webrtc-review.googlesource.com/35080
> Commit-Queue: Lu Liu <lliuu@webrtc.org>
> Reviewed-by: Lu Liu <lliuu@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21374}

TBR=stefan@webrtc.org,philipel@webrtc.org,lliuu@webrtc.org,yujo@chromium.org,yinwa@webrtc.org

Change-Id: Ie2b5a2a2ead0f20ac67c1ea9b8d192af66bddf8d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8656
Reviewed-on: https://webrtc-review.googlesource.com/35320
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Ying Wang <yinwa@webrtc.org>
Commit-Queue: Ying Wang <yinwa@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21409}
2017-12-21 11:57:35 +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
Jonathan Yu
53d901332c Revert "Add ProtectionBitrateCalculator as an abstract class. ProtectionBitrateCalculatorDefault implements ProtectionBitrateCalculator. Register VideoSendStream to packet feedback"
This reverts commit e58e91b6d143ef847f8df24b19de4ba98cdb6f72.

Reason for revert: Breaks downstream project b/70848177

Original change's description:
> Add ProtectionBitrateCalculator as an abstract class. ProtectionBitrateCalculatorDefault implements ProtectionBitrateCalculator. Register VideoSendStream to packet feedback
>
> Bug: webrtc:8656
> Change-Id: Iab4f6ab8997cb082762218afc8580e9985ac2522
> Reviewed-on: https://webrtc-review.googlesource.com/33010
> Commit-Queue: Ying Wang <yinwa@webrtc.org>
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21348}

TBR=stefan@webrtc.org,philipel@webrtc.org,yinwa@webrtc.org

Change-Id: Ic186ba78be429bd1046ceac15051a3382b6ffc4f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8656
Reviewed-on: https://webrtc-review.googlesource.com/35080
Commit-Queue: Lu Liu <lliuu@webrtc.org>
Reviewed-by: Lu Liu <lliuu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21374}
2017-12-19 22:57:02 +00:00
philipel
49b46e0085 Added WEBRTC_VIDEO_CODEC_OK_REQUEST_KEYFRAME decoder return code.
Bug: None
Change-Id: I71e1d42c92273dc4ce3f5f5e7052615d68e65a38
Reviewed-on: https://webrtc-review.googlesource.com/31860
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21363}
2017-12-19 14:57:41 +00:00
Mirko Bonadei
0594a7ca5d Stop using public_deps in common_video/.
Bug: webrtc:8603
Change-Id: I467f07a6bd07585455d1d1f9e8bcfa59f0dce9f0
Reviewed-on: https://webrtc-review.googlesource.com/34185
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21359}
2017-12-19 12:50:00 +00:00
Ying Wang
e58e91b6d1 Add ProtectionBitrateCalculator as an abstract class. ProtectionBitrateCalculatorDefault implements ProtectionBitrateCalculator. Register VideoSendStream to packet feedback
Bug: webrtc:8656
Change-Id: Iab4f6ab8997cb082762218afc8580e9985ac2522
Reviewed-on: https://webrtc-review.googlesource.com/33010
Commit-Queue: Ying Wang <yinwa@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21348}
2017-12-19 09:23:00 +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
Åsa Persson
aa329e7cc3 Reland: googBandwidthLimitedResolution stat is not always set depending on configuration.
TBR=brandtr@webrtc.org,stefan@webrtc.org

Currently |bw_resolutions_disabled| is set per VP8EncoderImpl instance and reported via
OnEncodedImage callback.

Instead move logic to SendStatisticsProxy to determine if resolution is bw limited or not based
on info that is reported to SendStatisticsProxy::OnEncodedImage.

Bug: webrtc:8643
Change-Id: I553cea30dcda34b753b5224f15094a1b7b70a750
Reviewed-on: https://webrtc-review.googlesource.com/31460
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Cr-Original-Commit-Position: refs/heads/master@{#21249}
Reviewed-on: https://webrtc-review.googlesource.com/33360
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21319}
2017-12-18 11:20:13 +00:00
Jonathan Yu
bc771b7585 Remove limits on CPU adaptation.
In balanced adaptation mode, a 1280x720 feed would only ever be reduced in
resolution twice, and would never have its framerate reduced (due to an
interaction with MinFps()).

This change removes the hard limits entirely, instead relying only on
kMinFramerateFps and VideoEncoder::ScalingSettings::min_pixels_per_frame.

Deleted SinkWantsFromOveruseDetector test because it duplicates other tests.
Fixed DoesntAdaptDownPastMinFramerate; it wasn't testing what it claimed to
because it wasn't updating the fake clock correctly, meaning FPS was detected as
0, meaning framerate adaptation was never triggered.

Bug: webrtc:8068, b/38207842
Change-Id: If99d0e74c1334879c1b0c3117eb079f5f2139851
Reviewed-on: https://webrtc-review.googlesource.com/31644
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Jonathan Yu <yujo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#21312}
2017-12-15 22:32:27 +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
83dbeacb1a Add alternative load estimator to OverUseFrameDetector.
The new estimator uses the timestamps attached to EncodedImage, and is
taken from the reverted cl
https://webrtc-review.googlesource.com/c/src/+/23720.

Bug: webrtc:8504
Change-Id: I273bbe3eb6ea2ab9628c9615b803a379061ad44a
Reviewed-on: https://webrtc-review.googlesource.com/31380
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21289}
2017-12-15 10:10:06 +00:00
Guido Urdaneta
62e9ebe589 Revert "googBandwidthLimitedResolution stat is not always set depending on configuration."
This reverts commit 59283e4c66d038a00923736685457f4b53f922fe.

Reason for revert: This CL is preventing rolls into Chromium because it fails to compile with MSVC.

Sample error log:

[13258/43857] CXX obj/third_party/webrtc/video/video/send_statistics_proxy.obj
FAILED: obj/third_party/webrtc/video/video/send_statistics_proxy.obj 
ninja -t msvc -e environment.x64 -- E:\b\c\goma_client/gomacc.exe "e:\b\c\win_toolchain\vs_files\a9e1098bba66d2acccc377d5ee81265910f29272\vc\tools\msvc\14.11.25503\bin\hostx64\x64/cl.exe" /nologo /showIncludes  @obj/third_party/webrtc/video/video/send_statistics_proxy.obj.rsp /c ../../third_party/webrtc/video/send_statistics_proxy.cc /Foobj/third_party/webrtc/video/video/send_statistics_proxy.obj /Fd"obj/third_party/webrtc/video/video_cc.pdb"
../../third_party/webrtc/video/send_statistics_proxy.cc(217): error C2220: warning treated as error - no 'object' file generated
../../third_party/webrtc/video/send_statistics_proxy.cc(217): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
../../third_party/webrtc/video/send_statistics_proxy.cc(632): warning C4267: '=': conversion from 'size_t' to 'uint32_t', possible loss of data


Original change's description:
> googBandwidthLimitedResolution stat is not always set depending on configuration.
> 
> Currently |bw_resolutions_disabled| is set per VP8EncoderImpl instance and reported via
> OnEncodedImage callback.
> 
> Instead move logic to SendStatisticsProxy to determine if resolution is bw limited or not based
> on info that is reported to SendStatisticsProxy::OnEncodedImage.
> 
> Bug: webrtc:8643
> Change-Id: I6c148e3507a0f04a793775b9f84ce54028b64d0f
> Reviewed-on: https://webrtc-review.googlesource.com/31460
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Commit-Queue: Åsa Persson <asapersson@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21249}

TBR=brandtr@webrtc.org,asapersson@webrtc.org,stefan@webrtc.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: webrtc:8643
Change-Id: Ib9ef55b8894ea72236a5dc1e9a839adecd401afb
Reviewed-on: https://webrtc-review.googlesource.com/33100
Reviewed-by: Guido Urdaneta <guidou@webrtc.org>
Commit-Queue: Guido Urdaneta <guidou@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21284}
2017-12-14 17:35:53 +00:00
philipel
1610f94ee3 Don't cast picture ids (of type int64_t) to int.
Also cleaned up a bit in RtpFrameReferenceFinder.

Bug: chromium:762556
Change-Id: Ib08d2e7ce4b146b359ce9ba823f3aa15776c71bc
Reviewed-on: https://webrtc-review.googlesource.com/32301
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21282}
2017-12-14 14:22:13 +00:00
Mirko Bonadei
712989d86d Revert "Reland "iOS: Save perf results under Documents/perf_result.json""
This reverts commit 8b886bb077d54e2bf6198559557ae97b03023611.

Reason for revert: Breaks downstream projects.

Original change's description:
> Reland "iOS: Save perf results under Documents/perf_result.json"
> 
> This will require a manual roll to downstream projects, since
> the //test:perf_test target was introduced.
> 
> This is a reland of 10a8e7a9b5261a7e3ce19900ba3511be3b5911f8
> Original change's description:
> > iOS: Save perf results under Documents/perf_result.json
> >
> > TBR=henrika@webrtc.org
> >
> > Bug: webrtc:7156
> > Change-Id: Ib00992cce0007e0b5c9274340df1a892f810b0c5
> > Reviewed-on: https://webrtc-review.googlesource.com/29202
> > Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
> > Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
> > Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#21244}
> 
> TBR=henrika@webrtc.org, phoglund@webrtc.org
> 
> No-Try: true
> Bug: webrtc:7156
> Change-Id: Iecdb108f605fd1c98acde4d50ab4f5a7b5f6bfaf
> Reviewed-on: https://webrtc-review.googlesource.com/32761
> Reviewed-by: Edward Lemur <ehmaldonado@webrtc.org>
> Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21252}

TBR=phoglund@webrtc.org,ehmaldonado@webrtc.org,henrika@webrtc.org

Change-Id: If4c72fa61dba3a3157fb9696b7f22664522b9467
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7156
Reviewed-on: https://webrtc-review.googlesource.com/33040
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21279}
2017-12-14 12:51:15 +00:00