21603 Commits

Author SHA1 Message Date
Sebastian Jansson
45d9c1de9c Added congestion control functionality to pacer.
This adds the ability to the pacer to apply a congestion window by
tracking sent data. This makes it more reliable when the congestion
window is small enough to be filled at a high rate as there are less
thread context switches that might affect the timing and performance.

Outstanding data is not reduced by the pacer as it has no information
about acknowledged packet feedback. This is by design as the pacer would
also need to keep track of on which connection packets were sent or
received, requiring a larger, more complex, change to the pacer.

Bug: webrtc:8415
Change-Id: I4ecd303e835552ced042cd21186da910288a8258
Reviewed-on: https://webrtc-review.googlesource.com/51764
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22371}
2018-03-09 17:40:24 +00:00
Sebastian Jansson
dae6aad6e7 Providing bitrate constraints in SSCC constructor.
This ensures that SendSideCongestionController is always initialized
with starting bitrate and bitrate limits.

Bug: webrtc:8415
Change-Id: If3b75e935dda755f9e0f40af1021f97ff150c9e9
Reviewed-on: https://webrtc-review.googlesource.com/59224
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22370}
2018-03-09 17:26:14 +00:00
Niels Möller
09ae92a38f Delete unused method RTPPayloadRegistry::SetRtxPayloadType.
And write-only mapping rtx_payload_type_map_.

Bug: webrtc:8995
Change-Id: I5193d411587bc4eadb9521250519990781515a76
Reviewed-on: https://webrtc-review.googlesource.com/61041
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22369}
2018-03-09 16:51:44 +00:00
Danil Chapovalov
dd7e284ce8 Reland "Enable and fix chromium clang warnings in rtp_rtcp test targets"
This reverts commit 01aa210fad68f1006528d32d388b307c22990734.

Reason for revert: downstream project adjusted

Original change's description:
> Revert "Enable and fix chromium clang warnings in rtp_rtcp test targets"
> 
> This reverts commit 9486b117daac09c9f7ac8450ccda835938cf3150.
> 
> Reason for revert: Breaks downstream project
> 
> Original change's description:
> > Enable and fix chromium clang warnings in rtp_rtcp test targets
> > 
> > Bug: webrtc:163
> > Change-Id: I4ed3e63296d8bf06536a83196d597c7a906ba11c
> > Reviewed-on: https://webrtc-review.googlesource.com/60802
> > Reviewed-by: Björn Terelius <terelius@webrtc.org>
> > Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> > Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#22357}
> 
> TBR=danilchap@webrtc.org,phoglund@webrtc.org,terelius@webrtc.org
> 
> Change-Id: I2c3777ea9f26813bdb395e7fd68f6b49443586ea
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:163
> Reviewed-on: https://webrtc-review.googlesource.com/61060
> Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
> Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22365}

TBR=danilchap@webrtc.org,phoglund@webrtc.org,oprypin@webrtc.org,terelius@webrtc.org

Change-Id: I0b4cb6d05b37caeb52cca9abf95417ad3ad6f76b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:163
Reviewed-on: https://webrtc-review.googlesource.com/61080
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22368}
2018-03-09 16:04:35 +00:00
Harald Alvestrand
5081c0cc6d Change error handlers for Set*Description to use RTCError
Needed in order to return error codes to Chromium.

Bug: chromium:819629, chromium:589455
Change-Id: Iab22250db62a348eee21c6d8bfc44020a7380586
Reviewed-on: https://webrtc-review.googlesource.com/60522
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22367}
2018-03-09 15:37:34 +00:00
Autoroller
a5aa68b73f Roll chromium_revision 6f54ca247b..a6afb13552 (541802:542089)
Change log: 6f54ca247b..a6afb13552
Full diff: 6f54ca247b..a6afb13552

Changed dependencies:
* src/base: 824c18ebe1..15daf4df4a
* src/build: f8a8dffa89..d8b353b735
* src/ios: 60b03e72b3..b4344e2cca
* src/testing: d78e3853ae..e7b24ec1ba
* src/third_party: 5275c46747..98ea2bc461
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/6fbfa7cb20..8f3d6b77ac
* src/third_party/depot_tools: 53014653d8..44048672dc
* src/tools: 2e8f687275..8ff992fb51
DEPS diff: 6f54ca247b..a6afb13552/DEPS

No update to Clang.

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

Change-Id: I7a12ed81f7203e4bba17036d5577d729f399a0f1
Reviewed-on: https://webrtc-review.googlesource.com/60981
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22366}
2018-03-09 14:59:34 +00:00
Oleh Prypin
01aa210fad Revert "Enable and fix chromium clang warnings in rtp_rtcp test targets"
This reverts commit 9486b117daac09c9f7ac8450ccda835938cf3150.

Reason for revert: Breaks downstream project

Original change's description:
> Enable and fix chromium clang warnings in rtp_rtcp test targets
> 
> Bug: webrtc:163
> Change-Id: I4ed3e63296d8bf06536a83196d597c7a906ba11c
> Reviewed-on: https://webrtc-review.googlesource.com/60802
> Reviewed-by: Björn Terelius <terelius@webrtc.org>
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22357}

TBR=danilchap@webrtc.org,phoglund@webrtc.org,terelius@webrtc.org

Change-Id: I2c3777ea9f26813bdb395e7fd68f6b49443586ea
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:163
Reviewed-on: https://webrtc-review.googlesource.com/61060
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22365}
2018-03-09 14:49:15 +00:00
Sergey Silkin
d4bc01b7dd Added printing of frame level statistics.
Bug: none
Change-Id: I0fa607c4f26ccf2bceac116c7869698c9d16cfa3
Reviewed-on: https://webrtc-review.googlesource.com/61000
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22364}
2018-03-09 14:20:54 +00:00
Niels Moller
465e96291d Revert "Delete VideoCodec::plName"
This reverts commit 89d88c0b9d61975bc63623ab8028377d8f9733dc.

Reason for revert: Breaks an internal project.

Original change's description:
> Delete VideoCodec::plName
> 
> All use was deleted in cl https://webrtc-review.googlesource.com/56100, now
> delete the actual member too.
> 
> Bug: webrtc:8830
> Change-Id: Iabbfd8eb08078e39a8e57f33f7c6a9de4bc3b6cb
> Reviewed-on: https://webrtc-review.googlesource.com/60300
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22353}

TBR=kwiberg@webrtc.org,nisse@webrtc.org

Change-Id: I4901d2a7ef6de5f87520d7026906608904cf825e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8830
Reviewed-on: https://webrtc-review.googlesource.com/60901
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22363}
2018-03-09 13:58:35 +00:00
Oleh Prypin
72467c24ac Fix NarrowingCompoundAssignment warning
This ErrorProne warning was enabled in
http://crrev.com/96c7ab0153ae97a8d8e05949f36cd7bb8eedbf1d
https://webrtc-review.googlesource.com/60849

Bug: None
Change-Id: I5e622f84925ee96e7743d2c08d17fcdb4c4a0f55
Reviewed-on: https://webrtc-review.googlesource.com/60940
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22362}
2018-03-09 13:52:09 +00:00
Danil Chapovalov
a06f360d5b in RtcpTransceiverImplTest relax expectation on wait time between reports
If 10ms delayed report is scheduled at 1.9ms (truncated by TaskQueue clock to 1ms)
it may run at 11.1ms (truncated to 11ms, i.e. first time it look like 10ms passed).
But (test) clock with different time offset may see passed time as 9ms
which result in a test failure for a wrong reason.

Relaxing period expectation by 1ms should mitigate the issue

Bug: webrtc:8945
Change-Id: I902d8af436fc74d4a3a0ad8ffdb5a6d3565adb7d
Reviewed-on: https://webrtc-review.googlesource.com/58095
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22361}
2018-03-09 13:51:04 +00:00
Henrik Lundin
8fabab1509 CNG fuzzer: avoid long fuzzer runs by limiting generator calls
The number of calls to ComfortNoiseDecoder::Generate() was determined
by the fuzzer input, and was chosen between 0 and 255. This would
sometimes lead to very long runs, with questionable merit. With this
change, the number of call to Generate() is limited to 17 (an
arbitrary small integer).

Bug: chromium:820078
Change-Id: I27b5c7f0b72d53370d002a6b157d4451079a0ba9
Reviewed-on: https://webrtc-review.googlesource.com/60941
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22360}
2018-03-09 13:16:44 +00:00
Sergey Silkin
3285897c1f Cleaning up modules_tests resources.
* Removed video files which were not used by any tests.
* Removed ConferenceMotion_1280_720_50.yuv for mobile builds.

Bug: webrtc:8936
Change-Id: I0539e9fce20470fcc2f0af84bd297faffc4b587a
Reviewed-on: https://webrtc-review.googlesource.com/60942
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22359}
2018-03-09 12:57:24 +00:00
Oleh Prypin
5a98049f6a Revert "Reland "Rework rtp packet history""
This reverts commit 7bb37b884b197ea22e2830b043c09018c186bad5.

Reason for revert: Breaks downstream projects

Original change's description:
> Reland "Rework rtp packet history"
> 
> This is a reland of 6328d7cbbc8a72fdc81a766c0bf4039e1e2e7887
> 
> Original change's description:
> > Rework rtp packet history
> > 
> > This CL rewrites the history from the ground up, but keeps the logic
> > (mostly) intact. It does however lay the groundwork for adding a new
> > mode where TransportFeedback messages can be used to remove packets
> > from the history as we know the remote end has received them.
> > 
> > This should both reduce memory usage and make the payload based padding
> > a little more likely to be useful.
> > 
> > My tests show a reduction of ca 500-800kB reduction in memory usage per
> > rtp module. So with simulcast and/or fec this will increase. Lossy
> > links and long RTT will use more memory.
> > 
> > I've also slightly update the interface to make usage with/without
> > pacer less unintuitive, and avoid making a copy of the entire RTP
> > packet just to find the ssrc and sequence number to put into the pacer.
> > 
> > The more aggressive culling is not enabled by default. I will
> > wire that up in a follow-up CL, as there's some interface refactoring
> > required.
> > 
> > Bug: webrtc:8975
> > Change-Id: I0c1bb528f32eeed0fb276b4ae77ae3235656980f
> > Reviewed-on: https://webrtc-review.googlesource.com/59441
> > Commit-Queue: Erik Språng <sprang@webrtc.org>
> > Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#22347}
> 
> Bug: webrtc:8975
> Change-Id: Ibbdbcc3c13bd58d994ad66f789a95ef9bd9bc19b
> Reviewed-on: https://webrtc-review.googlesource.com/60900
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> Commit-Queue: Erik Språng <sprang@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22356}

TBR=danilchap@webrtc.org,sprang@webrtc.org

Change-Id: Id698f5dbba6f9f871f37501d056e2b8463ebae50
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8975
Reviewed-on: https://webrtc-review.googlesource.com/61020
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22358}
2018-03-09 12:28:39 +00:00
Danil Chapovalov
9486b117da Enable and fix chromium clang warnings in rtp_rtcp test targets
Bug: webrtc:163
Change-Id: I4ed3e63296d8bf06536a83196d597c7a906ba11c
Reviewed-on: https://webrtc-review.googlesource.com/60802
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22357}
2018-03-09 12:27:35 +00:00
Erik Språng
7bb37b884b Reland "Rework rtp packet history"
This is a reland of 6328d7cbbc8a72fdc81a766c0bf4039e1e2e7887

Original change's description:
> Rework rtp packet history
> 
> This CL rewrites the history from the ground up, but keeps the logic
> (mostly) intact. It does however lay the groundwork for adding a new
> mode where TransportFeedback messages can be used to remove packets
> from the history as we know the remote end has received them.
> 
> This should both reduce memory usage and make the payload based padding
> a little more likely to be useful.
> 
> My tests show a reduction of ca 500-800kB reduction in memory usage per
> rtp module. So with simulcast and/or fec this will increase. Lossy
> links and long RTT will use more memory.
> 
> I've also slightly update the interface to make usage with/without
> pacer less unintuitive, and avoid making a copy of the entire RTP
> packet just to find the ssrc and sequence number to put into the pacer.
> 
> The more aggressive culling is not enabled by default. I will
> wire that up in a follow-up CL, as there's some interface refactoring
> required.
> 
> Bug: webrtc:8975
> Change-Id: I0c1bb528f32eeed0fb276b4ae77ae3235656980f
> Reviewed-on: https://webrtc-review.googlesource.com/59441
> Commit-Queue: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22347}

Bug: webrtc:8975
Change-Id: Ibbdbcc3c13bd58d994ad66f789a95ef9bd9bc19b
Reviewed-on: https://webrtc-review.googlesource.com/60900
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22356}
2018-03-09 11:42:34 +00:00
Karl Wiberg
881f16891b Make SimpleStringBuilder into a non-template
So that future CLs can de-inline its methods.

We do this by asking the caller to allocate the buffer instead of
having it as a data member.

Bug: webrtc:8982
Change-Id: I246b0973e54510fdd880c3b6875336c31334d008
Reviewed-on: https://webrtc-review.googlesource.com/60000
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22355}
2018-03-09 11:32:34 +00:00
Joachim Bauch
4c6a30c1bf Add templated version of ByteBufferWriter.
This CL switches to a Buffer for storing the data and allows using
a different class, e.g. "ZeroOnFreeBuffer" for sensitive data.

Bug: webrtc:8905
Change-Id: Ic56f3f51cc6d640135c4ee0e1ad0fd48d27bbbdf
Reviewed-on: https://webrtc-review.googlesource.com/60660
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Joachim Bauch <jbauch@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22354}
2018-03-09 10:50:34 +00:00
Niels Möller
89d88c0b9d Delete VideoCodec::plName
All use was deleted in cl https://webrtc-review.googlesource.com/56100, now
delete the actual member too.

Bug: webrtc:8830
Change-Id: Iabbfd8eb08078e39a8e57f33f7c6a9de4bc3b6cb
Reviewed-on: https://webrtc-review.googlesource.com/60300
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22353}
2018-03-09 09:45:33 +00:00
Sam Zackrisson
ab1aee0be4 Reland "Deprecate the adaptive level controller"
This is a reland of 6f37ed78d99daa36e964ff0a65b205f0916d9949

CQ dry run OK except for missing iOS swarming bots.
NOTRY=True

Original change's description:
> Deprecate the adaptive level controller
>
> Level control handled by default-on AGC.
>
> Bug: none
> Change-Id: I405daeceece12c896d41156b649fcfd556726f77
> Reviewed-on: https://webrtc-review.googlesource.com/59682
> Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
> Reviewed-by: Alex Loiko <aleloi@webrtc.org>
> Commit-Queue: Sam Zackrisson <saza@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22305}

Bug: none
Change-Id: I0b9b8e2f3457d5efd4603efbfbbc6b84651df315
Reviewed-on: https://webrtc-review.googlesource.com/60720
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22352}
2018-03-09 09:42:13 +00:00
Qingsi Wang
e6826d2461 Add configurable connectivity check intervals.
The connectivity check intervals for candidate pairs with strong and
weak connectivity are currently constants in the ICE implementation. A
set of suboptimal value of these constants for a given application may
result in undesirable behavior including excessive network switching
latency. This CL adds these intervals to RTCConfiguration that is
available to applications to configure, while maintaining the original
constants as their default value for compatibility with existing
applications.

Bug: webrtc:8988
Change-Id: I804b0f4cf7881be7d3c8aec2776bc9596de72482
Reviewed-on: https://webrtc-review.googlesource.com/60585
Commit-Queue: Qingsi Wang <qingsi@google.com>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22351}
2018-03-09 08:09:43 +00:00
Taylor Brandstetter
6d72c3258f Revert "Rework rtp packet history"
This reverts commit 6328d7cbbc8a72fdc81a766c0bf4039e1e2e7887.

Reason for revert: Breaks downstream build, due to use of std::pair constructor that some compilers appear to not support yet. See comment.

Original change's description:
> Rework rtp packet history
> 
> This CL rewrites the history from the ground up, but keeps the logic
> (mostly) intact. It does however lay the groundwork for adding a new
> mode where TransportFeedback messages can be used to remove packets
> from the history as we know the remote end has received them.
> 
> This should both reduce memory usage and make the payload based padding
> a little more likely to be useful.
> 
> My tests show a reduction of ca 500-800kB reduction in memory usage per
> rtp module. So with simulcast and/or fec this will increase. Lossy
> links and long RTT will use more memory.
> 
> I've also slightly update the interface to make usage with/without
> pacer less unintuitive, and avoid making a copy of the entire RTP
> packet just to find the ssrc and sequence number to put into the pacer.
> 
> The more aggressive culling is not enabled by default. I will
> wire that up in a follow-up CL, as there's some interface refactoring
> required.
> 
> Bug: webrtc:8975
> Change-Id: I0c1bb528f32eeed0fb276b4ae77ae3235656980f
> Reviewed-on: https://webrtc-review.googlesource.com/59441
> Commit-Queue: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22347}

TBR=danilchap@webrtc.org,sprang@webrtc.org

Change-Id: I2fa7efc7d008c56f7a8f77bc9958c19119f69de8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8975
Reviewed-on: https://webrtc-review.googlesource.com/60880
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22350}
2018-03-08 23:41:24 +00:00
Erik Språng
8493594dc2 Cleanup of TransportFeedbackObserver interface
The GetTransportFeedbackVector() method is only used in tests, and they
can access the class directly anyway. Keeping it is adding code bloat
and is also making upcoming refactoring more difficult.

Bug: webrtc:8975
Change-Id: I8323addb3c1461dd73b30353c8d9fe9410471c15
Reviewed-on: https://webrtc-review.googlesource.com/60860
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22349}
2018-03-08 22:51:53 +00:00
Taylor Brandstetter
25e022fd5c Deliver cached stats reports asynchronously.
This has the following benefits:
* Stats reports are always delivered asynchronously. This means the API
  client doesn't need to worry about *possibly* getting a synchronous
  callback depending on when the last report was generated.
* Stats callbacks will always be invoked in the same order that the
  GetStats calls were made, even in cases where a callback recursively
  calls GetStats again.

Bug: webrtc:8973
Change-Id: I94ca4b5dc5c21a8f2df42adfcddf357f40a32025
Reviewed-on: https://webrtc-review.googlesource.com/60473
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22348}
2018-03-08 19:12:43 +00:00
Erik Språng
6328d7cbbc Rework rtp packet history
This CL rewrites the history from the ground up, but keeps the logic
(mostly) intact. It does however lay the groundwork for adding a new
mode where TransportFeedback messages can be used to remove packets
from the history as we know the remote end has received them.

This should both reduce memory usage and make the payload based padding
a little more likely to be useful.

My tests show a reduction of ca 500-800kB reduction in memory usage per
rtp module. So with simulcast and/or fec this will increase. Lossy
links and long RTT will use more memory.

I've also slightly update the interface to make usage with/without
pacer less unintuitive, and avoid making a copy of the entire RTP
packet just to find the ssrc and sequence number to put into the pacer.

The more aggressive culling is not enabled by default. I will
wire that up in a follow-up CL, as there's some interface refactoring
required.

Bug: webrtc:8975
Change-Id: I0c1bb528f32eeed0fb276b4ae77ae3235656980f
Reviewed-on: https://webrtc-review.googlesource.com/59441
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22347}
2018-03-08 19:01:53 +00:00
Rasmus Brandt
d062a3c626 Prepare VideoProcessor for async simulcast support.
* Add support for SimulcastEncoderAdapter wrapping of encoder.
* Store input frame timestamps out-of-band, so we don't need to keep
  a raw VideoFrame around just for it's timestamp.
* Store current frame rate in |framerate_fps_|, instead of in
  codec settings struct.
* Add some comments and reorder some data members.
* Explicitly include VideoBitrateAllocator.
* Change type of |input_frames_|, to avoid one layer of indirection.
* Move VideoProcessor::CalculateFrameQuality to anonymous namespace.

This change should have no functional implications.

Bug: webrtc:8448
Change-Id: I10c140eeda750d9bd37bfb6cb1e8acb401fb91d3
Reviewed-on: https://webrtc-review.googlesource.com/60520
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22346}
2018-03-08 17:41:13 +00:00
Autoroller
22229215a9 Roll chromium_revision 90346c9657..6f54ca247b (541700:541802)
Change log: 90346c9657..6f54ca247b
Full diff: 90346c9657..6f54ca247b

Changed dependencies:
* src/base: 9d5451c41e..824c18ebe1
* src/build: 84410477ef..f8a8dffa89
* src/ios: 6e4b15e880..60b03e72b3
* src/testing: 63840e3f78..d78e3853ae
* src/third_party: 2c26e360d9..5275c46747
* src/third_party/depot_tools: c29602466d..53014653d8
* src/tools: 7b3fdcf7c9..2e8f687275
DEPS diff: 90346c9657..6f54ca247b/DEPS

No update to Clang.

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

Change-Id: Ie141f4663d2310f96e06e62292d212bfea95e703
Reviewed-on: https://webrtc-review.googlesource.com/60842
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22345}
2018-03-08 16:53:13 +00:00
Per Åhgren
ad09d74f67 Extend the audioproc_f input parameters to match what is supported by AEC3
This CL extends the options for the audioproc_f tool to match the options
for AEC3.

Bug: webrtc:8671
Change-Id: I39972eae33dba461b94118ec47a8560eb9cfe5a6
Reviewed-on: https://webrtc-review.googlesource.com/43120
Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22344}
2018-03-08 16:04:23 +00:00
Mirko Bonadei
a51bbd8701 Adding PRESUBMIT check to stop using istream, ostream and sstream.
WebRTC would like to stop using std::stringstream (in favor of
rtc::SimpleStringStream) and in order to avoid to introduce new
dependencies on it (and on other streams), this CL adds a PRESUBMIT
check.

The check will trigger anytime an #include of istream, ostream or
sstream is detected. It also ensures that new usages of types defined
in these headers are not introduced in the codebase.

Bug: webrtc:8982
Change-Id: I3e44d6a53772f25405234f10d4cf0a7209fedf99
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/60542
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22343}
2018-03-08 15:25:53 +00:00
Sami Kalliomäki
564299a2a3 Fix applicationContext passed to NetworkMonitor from NDK being unused.
Bug: webrtc:8769
Change-Id: I7c50f5efece88019b04f8c298f44886ca8258509
Reviewed-on: https://webrtc-review.googlesource.com/60740
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22342}
2018-03-08 15:17:53 +00:00
Rasmus Brandt
bbf146587a Delete dead code for video quality calculation.
Previously, the only user of this code was the
VideoProcessorIntegrationTest. We have now changed that
test to directly calculate image quality metrics using libyuv,
similar to how the full stack tests and browser tests work.

Bug: webrtc:8448
Change-Id: Ia7a607d7ddc37741fba76d56aa7297851ffa1c6b
Reviewed-on: https://webrtc-review.googlesource.com/43760
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22341}
2018-03-08 14:05:03 +00:00
Anders Carlsson
9823ee47d3 Fix native api in preparation for native_api example.
Add native api conversions for video frames and video renderer. This
also requires some changes to sdk/BUILD to avoid cyclic dependencies.

Bug: webrtc:8832
Change-Id: Ibf21e63bdcae195dcb61d63f9262e6a8dc4fa790
Reviewed-on: https://webrtc-review.googlesource.com/57142
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22340}
2018-03-08 13:22:13 +00:00
Kári Tristan Helgason
a2d89fc9f5 Remove ObjC static library target.
It's been unused for a while and starting to be a maintainance burden.

Bug: webrtc:8943
Change-Id: Ie49d6b06bdeb002496007725009ea194b8130f2b
Reviewed-on: https://webrtc-review.googlesource.com/60160
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22339}
2018-03-08 12:22:13 +00:00
Autoroller
a9bb99e516 Roll chromium_revision 344076e53b..90346c9657 (541591:541700)
Change log: 344076e53b..90346c9657
Full diff: 344076e53b..90346c9657

Changed dependencies:
* src/build: 2510755a7d..84410477ef
* src/ios: 50eff0d56e..6e4b15e880
* src/testing: e07416eb57..63840e3f78
* src/third_party: 314ff56302..2c26e360d9
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/f8058d4114..a6bfc45b62
* src/tools: 4e5eff1378..7b3fdcf7c9
DEPS diff: 344076e53b..90346c9657/DEPS

No update to Clang.

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

Change-Id: Ibfb9f3e6887053748167cfc92b15aa5b1963136b
Reviewed-on: https://webrtc-review.googlesource.com/60643
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22338}
2018-03-08 03:48:21 +00:00
Taylor Brandstetter
081136fe53 Revert "Reland "Add multiplex case to webrtc_perf_tests""
This reverts commit 7c5bc1cbd66d2436f80a1ddafbdc4fbff5389c6e.

Reason for revert: Breaks downstream test that was relying on FrameGeneratorCapturer::Create

Original change's description:
> Reland "Add multiplex case to webrtc_perf_tests"
> 
> This is a reland of d90a7e842437f5760a34bbfa283b3c4182963889
> 
> Original change's description:
> > Add multiplex case to webrtc_perf_tests
> >
> > This CL adds two new tests to perf, covering I420 and I420A input to multiplex
> > codec. In order to have the correct input, it adds I420A case to
> > SquareGenerator and corresponding PSNR and SSIM calculations.
> >
> > Bug: webrtc:7671
> > Change-Id: I9735d725bbfba457e804e29907cee55406ae5c8d
> > Reviewed-on: https://webrtc-review.googlesource.com/52180
> > Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> > Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
> > Reviewed-by: Erik Språng <sprang@webrtc.org>
> > Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#22330}
> 
> Bug: webrtc:7671
> Change-Id: Iba2e89aee73a73a0372edea26933d6a7ea2e0ec9
> TBR: niklas.enbom@webrtc.org, phoglund@webrtc.org, sprang@webrtc.org
> Reviewed-on: https://webrtc-review.googlesource.com/60600
> Reviewed-by: Emircan Uysaler <emircan@webrtc.org>
> Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22336}

TBR=phoglund@webrtc.org,sprang@webrtc.org,niklas.enbom@webrtc.org,qiangchen@chromium.org,emircan@webrtc.org

Change-Id: I26d32f9fe8d97ea341aac15cbbd43ed89a0b5b9d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7671
Reviewed-on: https://webrtc-review.googlesource.com/60680
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22337}
2018-03-08 01:54:22 +00:00
Emircan Uysaler
7c5bc1cbd6 Reland "Add multiplex case to webrtc_perf_tests"
This is a reland of d90a7e842437f5760a34bbfa283b3c4182963889

Original change's description:
> Add multiplex case to webrtc_perf_tests
>
> This CL adds two new tests to perf, covering I420 and I420A input to multiplex
> codec. In order to have the correct input, it adds I420A case to
> SquareGenerator and corresponding PSNR and SSIM calculations.
>
> Bug: webrtc:7671
> Change-Id: I9735d725bbfba457e804e29907cee55406ae5c8d
> Reviewed-on: https://webrtc-review.googlesource.com/52180
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22330}

Bug: webrtc:7671
Change-Id: Iba2e89aee73a73a0372edea26933d6a7ea2e0ec9
TBR: niklas.enbom@webrtc.org, phoglund@webrtc.org, sprang@webrtc.org
Reviewed-on: https://webrtc-review.googlesource.com/60600
Reviewed-by: Emircan Uysaler <emircan@webrtc.org>
Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22336}
2018-03-08 00:17:20 +00:00
Autoroller
8861da8356 Roll chromium_revision f5178a2db6..344076e53b (541490:541591)
Change log: f5178a2db6..344076e53b
Full diff: f5178a2db6..344076e53b

Changed dependencies:
* src/base: 66f7459477..9d5451c41e
* src/ios: 6e00a2af30..50eff0d56e
* src/testing: 464e09fdb9..e07416eb57
* src/third_party: d554df7c36..314ff56302
* src/tools: b5bf9cfcc0..4e5eff1378
DEPS diff: f5178a2db6..344076e53b/DEPS

No update to Clang.

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

Change-Id: I75643122791fb1990f9aca6de210bba277ad8cde
Reviewed-on: https://webrtc-review.googlesource.com/60584
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22335}
2018-03-07 22:19:30 +00:00
Joachim Bauch
5b32f238f3 Securely clear memory containing key information / passwords before freeing.
The previously used "memset(ptr, 0, size)" can get optimized away by compilers
if "ptr" is not used afterwards.

A new class "ZeroOnFreeBuffer" is introduced that can hold sensitive data and
that automatically clears underlying memory when it's no longer used.

Bug: webrtc:8806, webrtc:8897, webrtc:8905
Change-Id: Iedddddf80790f9af0addaab3346ec5bff102917d
Reviewed-on: https://webrtc-review.googlesource.com/41941
Commit-Queue: Joachim Bauch <jbauch@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22334}
2018-03-07 22:06:20 +00:00
Emircan Uysaler
fdd5eae9f4 Fix incorrect explicit marks
Bug: webrtc:7671
Change-Id: I0905b759833ed7c3511bd65d38c2d9b0e984152f
Reviewed-on: https://webrtc-review.googlesource.com/60580
Reviewed-by: Qiang Chen <qiangchen@chromium.org>
Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22333}
2018-03-07 21:56:50 +00:00
Emircan Uysaler
5aac372db9 Revert "Add multiplex case to webrtc_perf_tests"
This reverts commit d90a7e842437f5760a34bbfa283b3c4182963889.

Reason for revert: 
Fails on Win ASan bots.
https://logs.chromium.org/v/?s=chromium%2Fbb%2Fclient.webrtc%2FWin32_ASan%2F4002%2F%2B%2Frecipes%2Fsteps%2Fvideo_engine_tests%2F0%2Fstdout

Original change's description:
> Add multiplex case to webrtc_perf_tests
> 
> This CL adds two new tests to perf, covering I420 and I420A input to multiplex
> codec. In order to have the correct input, it adds I420A case to
> SquareGenerator and corresponding PSNR and SSIM calculations.
> 
> Bug: webrtc:7671
> Change-Id: I9735d725bbfba457e804e29907cee55406ae5c8d
> Reviewed-on: https://webrtc-review.googlesource.com/52180
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22330}

TBR=phoglund@webrtc.org,sprang@webrtc.org,niklas.enbom@webrtc.org,qiangchen@chromium.org,emircan@webrtc.org

Change-Id: If6bfdd42556517db0dd6bda01f5d3d901ff56b0c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7671
Reviewed-on: https://webrtc-review.googlesource.com/60560
Reviewed-by: Emircan Uysaler <emircan@webrtc.org>
Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22332}
2018-03-07 19:10:22 +00:00
Sebastian Jansson
a06e919b9f Removing interface to access pacer via SSCC.
SSCC was accessing the pacer just to report values back to
RtpTransportControllerSend which already owns the pacer.
This CL moves those access methods.

To make RtpTransportControllerSend simpler, Call is made
responsible to keep track of network status used only as a
condition for report the pacer queuing delay.

Bug: webrtc:8415
Change-Id: I306bc9fcd3d8dcc7a637d51f2629ececebd48cad
Reviewed-on: https://webrtc-review.googlesource.com/60483
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22331}
2018-03-07 19:01:50 +00:00
Emircan Uysaler
d90a7e8424 Add multiplex case to webrtc_perf_tests
This CL adds two new tests to perf, covering I420 and I420A input to multiplex
codec. In order to have the correct input, it adds I420A case to
SquareGenerator and corresponding PSNR and SSIM calculations.

Bug: webrtc:7671
Change-Id: I9735d725bbfba457e804e29907cee55406ae5c8d
Reviewed-on: https://webrtc-review.googlesource.com/52180
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22330}
2018-03-07 18:40:30 +00:00
Autoroller
98bb968f7b Roll chromium_revision ec5ab775db..f5178a2db6 (541385:541490)
Change log: ec5ab775db..f5178a2db6
Full diff: ec5ab775db..f5178a2db6

Changed dependencies:
* src/base: 5daf8f3473..66f7459477
* src/build: 8c04da5f28..2510755a7d
* src/ios: 9e39e1dc9a..6e00a2af30
* src/testing: 7fb4f2160c..464e09fdb9
* src/third_party: e9c2db0e52..d554df7c36
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/406b235a95..6fbfa7cb20
* src/tools: 437d435a01..b5bf9cfcc0
DEPS diff: ec5ab775db..f5178a2db6/DEPS

No update to Clang.

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

Change-Id: I99eca772a85dffe8358ee8bdab3f330a86a0bf6c
Reviewed-on: https://webrtc-review.googlesource.com/60472
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22329}
2018-03-07 18:19:50 +00:00
Karl Wiberg
12edf4ce34 Separate build target for rtc_base/numerics/safe_minmax.h
So that we can avoid dependency cycles.

Bug: none
Change-Id: I821d9f1319dff01403d6e4e310cbb2d4b2b125e8
Reviewed-on: https://webrtc-review.googlesource.com/60500
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22328}
2018-03-07 14:12:00 +00:00
Sebastian Jansson
1b2e90beb6 Replaced DestructAndGetRtpStateTask with lambda.
Slight change in functionality: send_stream_ member is no longer moved
to the QueuedTask. This means that a possible race on access to
send_stream_ will not cause nullpointer dereferencing until the posted
task has been run. Most usages of send_stream_ are protected by
thread_checker_, but not DeliverRtcp and EnableEncodedFrameRecording.

This change in behavior should be be able to cause new failures, but it
could potentially make existing race conditions less likely to happen.

Bug: None
Change-Id: Ife42071a4aa2811fcaf2f3ef21ca1888e6640ca3
Reviewed-on: https://webrtc-review.googlesource.com/59800
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22327}
2018-03-07 12:52:20 +00:00
Sebastian Jansson
e4d79c73cc Replaced EncoderReconfiguredTask with lambda.
Bug: None
Change-Id: If5f72592926d60235c1306a34b9126e0074cb92b
Reviewed-on: https://webrtc-review.googlesource.com/59200
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22326}
2018-03-07 12:47:05 +00:00
Artem Titov
0f03973365 Separate test/fake_audio_device on API and implementation. Step 1.
Adding ability of injecting audio in end to end tests, that are using
WebRTC. It will be done in 3 steps:
1. Test/fake_audio_device will be moved to production part of WebRTC
source code and renamed to test_audio_device_module. Old header is
replaced with alias to the new one.
2. Internal usage of FakeAudioDevice will be switch to TestAudioDevice.
3. test/fake_audio_device will be removed.

This CL implements 1st step.

Bug: webrtc:8946
Change-Id: Ia8df5155d369d83b3c2818a1129f78dd0848b01f
Reviewed-on: https://webrtc-review.googlesource.com/59740
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22325}
2018-03-07 12:46:00 +00:00
Harald Alvestrand
2e18061033 Count key protocol for all media sections
This will give accurate stats for the number of calls
that use video that are using SDES.

Bug: chromium:804275
Change-Id: I35b045a2301fb5267b656b424b9b3482b1b72f9a
Reviewed-on: https://webrtc-review.googlesource.com/60481
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22324}
2018-03-07 11:32:55 +00:00
philipel
db4fa4b944 Propagating total_bitrate_bps from BitrateAllocator to ProbeController, part 3.
Trigger on total bitrate change.

Bug: webrtc:8955
Change-Id: I2373a1b7f139c7ea748a9641593e714d6895c8f6
Reviewed-on: https://webrtc-review.googlesource.com/59323
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22323}
2018-03-07 10:31:35 +00:00
Anders Carlsson
7dbb701076 Fix crash when setting duplicate receive codecs.
Instead of crashing, log a warning.

Bug: chromium:810173
Change-Id: I7e43889fdab429fcb231657f5770b0ff26f34a8f
Reviewed-on: https://webrtc-review.googlesource.com/59020
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22322}
2018-03-07 09:57:16 +00:00