Commit Graph

19736 Commits

Author SHA1 Message Date
e78bcb97c3 Enable cpplint in media/
Bug: webrtc:5584
Change-Id: I2fd1395d35596d9002e19cc90fcda3a5d4cde9e7
Reviewed-on: https://webrtc-review.googlesource.com/16564
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20504}
2017-10-31 17:46:42 +00:00
7995d8cdde Fix clang style warnings in p2p/base/portallocator files
Bug: webrtc:163
Change-Id: Id576819149a6a9dcd65a03668bc51e76c71ad820
Reviewed-on: https://webrtc-review.googlesource.com/17003
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20503}
2017-10-31 16:58:22 +00:00
2bc93b0d6f Fix AudioLevel print-out in rtc_event_log2text
uint8_t was being printed as a char; a conversion to int was necessary.

Bug: None
Change-Id: I4c6875c693350b95b8742a6a8e17157743db62cb
Reviewed-on: https://webrtc-review.googlesource.com/17400
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20502}
2017-10-31 14:42:03 +00:00
07e0d015b7 Reland "Add helper functions for migrating to new video codec factories"
This reverts commit a7678667fc726979ca27d2429689d5735cca425d.

Reason for reland: Fix initializer list constructor.

Original change's description:
> Revert "Add helper functions for migrating to new video codec factories"
> 
> This reverts commit 1c9623c70db42550d152c127e01434004087f743.
> 
> Reason for revert: Breaks brace initialization:
> 
> cricket::VideoDecoderParams params = { "deadbeef" };
> 
> I suggest adding an initializer list constructor.
> 
> Original change's description:
> > Add helper functions for migrating to new video codec factories
> > 
> > This CL adds helper functions in media/engine/convert_legacy_video_factory.h to
> > convert from the old WebRtcVideoEncoder and WebRtcVideoDecoder to the new
> > webrtc::VideoEncoder and webrtc::VideoDecoder.
> > 
> > The purpose is to make it as easy as possible for clients to migrate to the new
> > API and allow us to stop depending on the internal SW codecs as soon as possible.
> > 
> > There still exists an ugly decoder adapter class in the video engine. The reason
> > is that we need to continue to pass in the |receive_stream_id| decoder params to
> > some legacy clients.
> > 
> > Bug: webrtc:7925
> > Change-Id: I43ff03e036411a85d4940fe517a34489f171d698
> > Reviewed-on: https://webrtc-review.googlesource.com/15181
> > Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
> > Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#20475}
> 
> TBR=magjed@webrtc.org,andersc@webrtc.org
> 
> Change-Id: I0d1084dc86979fbca748d9ba287d1db3dbe52b44
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:7925
> Reviewed-on: https://webrtc-review.googlesource.com/17160
> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20486}

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

Change-Id: Ic825d133b6e1c6e5aad811ba528751dd5ed85e67
Bug: webrtc:7925
Reviewed-on: https://webrtc-review.googlesource.com/17360
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20501}
2017-10-31 13:32:22 +00:00
0110d3e0ca Roll chromium_revision de566f6b16..07493032b5 (512797:512803)
Change log: de566f6b16..07493032b5
Full diff: de566f6b16..07493032b5

Changed dependencies:
* src/base: f073360234..e8fcacc606
* src/testing: 9648a9d6ce..1d0ff6c8e8
* src/third_party: 6251859a70..2609167cd8
DEPS diff: de566f6b16..07493032b5/DEPS

No update to Clang.

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

Change-Id: I907a6f1a92ffa02b8d920ad06fc75903406c6e72
Reviewed-on: https://webrtc-review.googlesource.com/17284
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20500}
2017-10-31 13:13:02 +00:00
90bace0958 Add SetAudioPlayout and SetAudioRecording methods to the PeerConnection API
(this CL is based on the work by Taylor and Steve in https://webrtc-review.googlesource.com/c/src/+/10201)

This SetAudioPlayout method lets applications disable audio playout while
still processing incoming audio data and generating statistics on the
received audio.

This may be useful if the application wants to set up media flows as
soon as possible, but isn't ready to play audio yet. Currently, native
applications don't have any API point to control this, unless they
completely implement their own AudioDeviceModule.

The SetAudioRecording works in a similar fashion but for the recorded
audio. One difference is that calling SetAudioRecording(false) does not
keep any audio processing alive.

TBR=solenberg

Bug: webrtc:7313
Change-Id: I0aa075f6bfef9818f1080f85a8ff7842fb0750aa
Reviewed-on: https://webrtc-review.googlesource.com/16180
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20499}
2017-10-31 12:35:42 +00:00
9d4af0130e New PacedSender constructor with injected PacketQueue
Intended to enable unit testing of the pacer with a mock PacketQueue.

Bug: webrtc:8422
Change-Id: I142386b2d91ad0d5ba8f3f9d876e67972c490de4
Reviewed-on: https://webrtc-review.googlesource.com/17300
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20498}
2017-10-31 11:39:22 +00:00
996eb9e353 Fix typo in VideoSendTiming header extension structure
Bug: None
Change-Id: Ic6c5613bea1fad3ac7456a691eb8e87efb6eeb2c
Reviewed-on: https://webrtc-review.googlesource.com/16980
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20497}
2017-10-31 11:20:22 +00:00
5af9b9df6e Roll chromium_revision 1bcd59dde0..de566f6b16 (512788:512797)
Change log: 1bcd59dde0..de566f6b16
Full diff: 1bcd59dde0..de566f6b16

Changed dependencies:
* src/ios: f2795dcfe8..be2bcf71e6
* src/testing: 596142d858..9648a9d6ce
* src/third_party: 4544cd3b9a..6251859a70
DEPS diff: 1bcd59dde0..de566f6b16/DEPS

No update to Clang.

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

Change-Id: Id98c40c21ee44d54da7810faacff5fb6299349ae
Reviewed-on: https://webrtc-review.googlesource.com/17283
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20496}
2017-10-31 11:16:12 +00:00
47b65546d2 Roll chromium_revision 9cb2824d43..1bcd59dde0 (512781:512788)
Change log: 9cb2824d43..1bcd59dde0
Full diff: 9cb2824d43..1bcd59dde0

No dependencies changed.
No update to Clang.

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

Change-Id: I84ef339811ca651fa18c99c9ff66d3096576d935
Reviewed-on: https://webrtc-review.googlesource.com/17282
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20495}
2017-10-31 10:07:52 +00:00
187c6992fb Replacing undefined left shifts with multiplication.
Issue was found by the Audio Processing fuzzer.

Bug: chromium:778939, chromium:778921, chromium:778919
Change-Id: If613cf4c533f546d118f10a6358cecd329958177
Reviewed-on: https://webrtc-review.googlesource.com/16161
Commit-Queue: Alex Loiko <aleloi@google.com>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20494}
2017-10-31 09:43:02 +00:00
e68c951691 Roll chromium_revision 10d25b18c1..9cb2824d43 (512772:512781)
Change log: 10d25b18c1..9cb2824d43
Full diff: 10d25b18c1..9cb2824d43

Changed dependencies:
* src/third_party: de3a178acf..4544cd3b9a
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/6fd9f08dcb..d62be5b8d8
* src/tools: cc50fc1b23..13e2b05f72
DEPS diff: 10d25b18c1..9cb2824d43/DEPS

No update to Clang.

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

Change-Id: I9eaf12e45c88decc2f7bff7df4166c2870e51d00
Reviewed-on: https://webrtc-review.googlesource.com/17281
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20493}
2017-10-31 09:24:22 +00:00
294be2fbcf Roll chromium_revision 87f4947e86..10d25b18c1 (512764:512772)
Change log: 87f4947e86..10d25b18c1
Full diff: 87f4947e86..10d25b18c1

Changed dependencies:
* src/ios: 8a0bc313fc..f2795dcfe8
* src/third_party: f34f0afe78..de3a178acf
DEPS diff: 87f4947e86..10d25b18c1/DEPS

No update to Clang.

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

Change-Id: I1f60f9ea65fcbf7aa26538fde65a93721325109f
Reviewed-on: https://webrtc-review.googlesource.com/17245
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20492}
2017-10-31 08:15:22 +00:00
97bc514df0 Roll chromium_revision c44c3a556e..87f4947e86 (512751:512764)
Change log: c44c3a556e..87f4947e86
Full diff: c44c3a556e..87f4947e86

Changed dependencies:
* src/third_party: 82501a6a08..f34f0afe78
DEPS diff: c44c3a556e..87f4947e86/DEPS

No update to Clang.

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

Change-Id: Ib2d7ce1f3d788cf761931ef6e4cbe6f3c6451e3f
Reviewed-on: https://webrtc-review.googlesource.com/17243
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20491}
2017-10-31 07:05:22 +00:00
dbcac7fefe Add StereoCodecAdapter classes
This CL is the step 1 for adding alpha channel support over the wire in webrtc.
- Add the footprint for adapter classes that wraps actual codecs.
- This CL does not add a webrtc::VideoFrame container that can carry alpha to 
make the CL shorter for an easier review. Therefore, it exercises a code path
for when we receive no alpha input, just regular I420 frames.
- Unittest sends a video frame for encode/decode through these adapters and 
checks the output PSNR.
- See https://webrtc-review.googlesource.com/c/src/+/7800 for the experimental 
CL that gives an idea about how it will come together.
Design Doc: https://goo.gl/sFeSUT

Bug: webrtc:7671
Change-Id: I9d3be13647a0a958feceb8d7a9aa93852fc6a1fa
Reviewed-on: https://webrtc-review.googlesource.com/11841
Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20490}
2017-10-31 06:39:52 +00:00
1b8205f9ee Roll chromium_revision 7b8dc77cd5..c44c3a556e (512739:512751)
Change log: 7b8dc77cd5..c44c3a556e
Full diff: 7b8dc77cd5..c44c3a556e

Changed dependencies:
* src/ios: a9b9da8a76..8a0bc313fc
* src/third_party: 835e148124..82501a6a08
* src/tools: a705bd3076..cc50fc1b23
DEPS diff: 7b8dc77cd5..c44c3a556e/DEPS

No update to Clang.

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

Change-Id: I14dad8c93c4d7e37c071d9b591166cef199d42f7
Reviewed-on: https://webrtc-review.googlesource.com/17241
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20489}
2017-10-31 05:56:02 +00:00
23fc22ed59 Roll chromium_revision fc9df5d5ac..7b8dc77cd5 (512725:512739)
Change log: fc9df5d5ac..7b8dc77cd5
Full diff: fc9df5d5ac..7b8dc77cd5

Changed dependencies:
* src/ios: 314a0f2012..a9b9da8a76
* src/testing: da54118c24..596142d858
* src/third_party: 6e6ee356d4..835e148124
* src/tools: 7776c991de..a705bd3076
DEPS diff: fc9df5d5ac..7b8dc77cd5/DEPS

No update to Clang.

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

Change-Id: I83a95b2cbb0bab0bc13d4951b82c79a12afac8cb
Reviewed-on: https://webrtc-review.googlesource.com/17240
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20488}
2017-10-31 05:09:12 +00:00
30fa06343e Roll chromium_revision 6e83f76015..fc9df5d5ac (512266:512725)
Change log: 6e83f76015..fc9df5d5ac
Full diff: 6e83f76015..fc9df5d5ac

Changed dependencies:
* src/base: f8b71b318a..f073360234
* src/build: 67705982fa..776578738f
* src/buildtools: e043d81e91..3275a099f3
* src/ios: 526cdcf5a0..314a0f2012
* src/testing: 5debfb28c2..da54118c24
* src/third_party: 9a8e49ec43..6e6ee356d4
* src/third_party/android_tools: https://chromium.googlesource.com/android_tools.git/+log/110e5f6c0d..ca0bd08387
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/52d748d48b..6fd9f08dcb
* src/third_party/depot_tools: 105e11e251..7d1c484ecd
* src/third_party/gtest-parallel: 3fee5ae8cb..89ab65d56d
* src/tools: 09c01c34bb..7776c991de
DEPS diff: 6e83f76015..fc9df5d5ac/DEPS

No update to Clang.

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

Change-Id: I3557030182a92402a3539a9613f879b68738cbe4
Reviewed-on: https://webrtc-review.googlesource.com/17221
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20487}
2017-10-31 04:06:52 +00:00
a7678667fc Revert "Add helper functions for migrating to new video codec factories"
This reverts commit 1c9623c70db42550d152c127e01434004087f743.

Reason for revert: Breaks brace initialization:

cricket::VideoDecoderParams params = { "deadbeef" };

I suggest adding an initializer list constructor.

Original change's description:
> Add helper functions for migrating to new video codec factories
> 
> This CL adds helper functions in media/engine/convert_legacy_video_factory.h to
> convert from the old WebRtcVideoEncoder and WebRtcVideoDecoder to the new
> webrtc::VideoEncoder and webrtc::VideoDecoder.
> 
> The purpose is to make it as easy as possible for clients to migrate to the new
> API and allow us to stop depending on the internal SW codecs as soon as possible.
> 
> There still exists an ugly decoder adapter class in the video engine. The reason
> is that we need to continue to pass in the |receive_stream_id| decoder params to
> some legacy clients.
> 
> Bug: webrtc:7925
> Change-Id: I43ff03e036411a85d4940fe517a34489f171d698
> Reviewed-on: https://webrtc-review.googlesource.com/15181
> Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
> Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20475}

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

Change-Id: I0d1084dc86979fbca748d9ba287d1db3dbe52b44
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7925
Reviewed-on: https://webrtc-review.googlesource.com/17160
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20486}
2017-10-30 22:52:59 +00:00
33f69db1c8 Fix clang style warnings in p2p/base/packettransport files
Bug: webrtc:163
Change-Id: I10fb72c1ae01b6715f4d13e43860c80a6dfc9d87
Reviewed-on: https://webrtc-review.googlesource.com/16362
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20485}
2017-10-30 19:51:49 +00:00
5e7d177ef2 Remove references to and implementation of GetHistogramName().
The method prototype is being changed to returning a const char*,
we don't rely on it in webrtc and the point of the DCHECK that
previously referenced it, was to avoid usage of std::string for
histogram names.

Bug: webrtc:8472
Change-Id: I69b588d4a8f339911a051fd232d63ea5bb1f9a45
Reviewed-on: https://webrtc-review.googlesource.com/16940
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20484}
2017-10-30 19:20:49 +00:00
1cf1b7d66f Fix clang style warnings in p2p/base/port.h and its subclasses
Bug: webrtc:163
Change-Id: I8308bf1f1b4cf57edd2eb8fda010cb8b667771a2
Reviewed-on: https://webrtc-review.googlesource.com/16361
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20483}
2017-10-30 18:44:09 +00:00
36b29d1df3 Enable cpplint in pc/
Enable cpplint check in the PRESUBMIT for pc/ and fix all existing
warnings.

Bug: webrtc:5583
Change-Id: If39994692ab6f6f3c83c74f23850f02fdfe810e8
Reviewed-on: https://webrtc-review.googlesource.com/16540
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20482}
2017-10-30 18:08:29 +00:00
ef1140eec0 Expose TurnCustomizer as a native ObjC property.
Bug: webrtc:8471
Change-Id: Ic0d904b0c3742e552f20fbebb26d55d2bdd76c72
Reviewed-on: https://webrtc-review.googlesource.com/16566
Commit-Queue: Zeke Chin <tkchin@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20481}
2017-10-30 17:30:39 +00:00
8c8d49ea0f Add periodic compound packet sending to RtcpTransceiver
Bug: webrtc:8239
Change-Id: I1511db63a15e8c5101a933e55e66d3877ff963be
Reviewed-on: https://webrtc-review.googlesource.com/15440
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20480}
2017-10-30 16:51:29 +00:00
e5c4265619 Allow external audio device module to be passed in to the objc peer connection factory interface.
Bug: webrtc:8466
Change-Id: I87091cb32206f5f3bed310ec23963bcc053c59db
Reviewed-on: https://webrtc-review.googlesource.com/16734
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Sean Rosenbaum <srosenba@google.com>
Cr-Commit-Position: refs/heads/master@{#20479}
2017-10-30 16:46:19 +00:00
828cf2443d Android: Change H264 constrained baseline profile from 4200xx to 42e0xx.
This affects the new injectable codecs.

Bug: webrtc:8459
Change-Id: I484a3ae4c29fd8bae8b13308315758b3689bdd4d
Reviewed-on: https://webrtc-review.googlesource.com/16861
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20478}
2017-10-30 16:20:29 +00:00
bde473e4fa Fix/suppress new warnings introduced in Chromium roll.
TBR=henrika@webrtc.org

Bug: webrtc:6597
Change-Id: Id26945a7be05250673b58de8220f78bc62886688
Reviewed-on: https://webrtc-review.googlesource.com/16860
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20477}
2017-10-30 16:10:29 +00:00
1d4c152a38 Reland "Simple Default ObjC video codec factories."
This is a reland of 30915a742d86df55ac5c04501c0e8104675a612e
Original change's description:
> Simple Default ObjC video codec factories.
> 
> Move the simple video encoder/decoder factory from AppRTCMobile into the
> public API so users who don't have special requirements for video codecs
> can easily get started.
> 
> Also clean up the API a little.
> 
> This CL replaces the more flexible default factories in
> https://webrtc-review.googlesource.com/c/src/+/7741 and clients that
> want to implement their own codecs will have to supply their own
> encoder/decoder factories as well. The benefits of the approach in
> this CL are a simpler API and less effects on the rest of the code.
> 
> Bug: None
> Change-Id: I4ed94090d778b4fc38b49864de1d4de4ff125d6a
> Reviewed-on: https://webrtc-review.googlesource.com/15141
> Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
> Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> Commit-Queue: Anders Carlsson <andersc@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20441}

Bug: None
Change-Id: If0910cc540dc835dfec4eeb5bea527d88482d110
Reviewed-on: https://webrtc-review.googlesource.com/16780
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20476}
2017-10-30 14:48:39 +00:00
1c9623c70d Add helper functions for migrating to new video codec factories
This CL adds helper functions in media/engine/convert_legacy_video_factory.h to
convert from the old WebRtcVideoEncoder and WebRtcVideoDecoder to the new
webrtc::VideoEncoder and webrtc::VideoDecoder.

The purpose is to make it as easy as possible for clients to migrate to the new
API and allow us to stop depending on the internal SW codecs as soon as possible.

There still exists an ugly decoder adapter class in the video engine. The reason
is that we need to continue to pass in the |receive_stream_id| decoder params to
some legacy clients.

Bug: webrtc:7925
Change-Id: I43ff03e036411a85d4940fe517a34489f171d698
Reviewed-on: https://webrtc-review.googlesource.com/15181
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20475}
2017-10-30 14:18:30 +00:00
9da7c7480b Change Resampler to not change state on invalid Reset and ResetIfNeeded calls.
Adds a unittest to test this.

A Reset() with unsupported frequencies will fail, but currently leaves the resampler in an illegal state.
Subsequent calls to ResetIfNeeded(), which depends on the internal state, will then have unreliable behavior.

The following sequence of calls demonstrate this: It appears as though the resampler is successfully reinitialized to upsample from 44 kHz to 48 kHz, but will in fact crash on Push().

Resampler::Reset() with in=44000, out=32000           // Returns 0
Resampler::ResetIfNeeded() with in=44000, out=48000   // Returns -1
Resampler::ResetIfNeeded() with in=44000, out=48000   // Returns 0
Resampler::Push() with some data

Bug: webrtc:8426
Change-Id: Id1e0528ffcb7a86702d4c2f4c5103a1db419c07d
Reviewed-on: https://webrtc-review.googlesource.com/16424
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20474}
2017-10-30 10:03:19 +00:00
90397d9aa9 Remove use of RTPFragmentationHeader from RTPSenderAudio
The RTPFragmentationHeader was used when sending audio using RED
for loss protection. This feature has been deprecated and
gradually removed. This cl removes remnants of support from
the RTP send path.

Bug: webrtc:6471
Change-Id: Ia1249047b09c16f79498827f74c2ce07aa38b8f7
Reviewed-on: https://webrtc-review.googlesource.com/16427
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20473}
2017-10-30 09:56:19 +00:00
ce50239558 Roll gradle to version 4.3-rc4.
a88ebd6be7..89af43c4d0

Bug: None
Change-Id: I092ffc7414851840427a2125e9ee92e646d931a7
Reviewed-on: https://webrtc-review.googlesource.com/16431
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20472}
2017-10-30 08:41:25 +00:00
6bfac0383f .gn files in the API directories are part of the API too...
...since we can break users by changing the build targets they're
using.

BUG=webrtc:8445

Change-Id: Iaa549ce9802bd99639d8b966807ae2db43e7f14b
Reviewed-on: https://webrtc-review.googlesource.com/16460
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20471}
2017-10-29 03:04:33 +00:00
c7b18fef19 Shifted value doesn't fit in 'int32_t'.
This CL replaces one 'int32_t' with 'uint32_t'. The value is a
non-negative energy, and the number of leading zeros is
computed. During computation, a shift can cause it to overflow.

Issue was found by the Audio Processing fuzzer.

Bug: chromium:778939, chromium:778921, chromium:778919
Change-Id: I3d7e0b547e6b0edcd9995903517ea851142a08c1
Reviewed-on: https://webrtc-review.googlesource.com/16433
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20470}
2017-10-28 10:22:32 +00:00
45bc087c9b Roll chromium_revision 318723cc57..6e83f76015 (512265:512266)
Change log: 318723cc57..6e83f76015
Full diff: 318723cc57..6e83f76015

No dependencies changed.
No update to Clang.

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

Change-Id: I1f8bbced48cfb60ddeb8c10b42fdea03ca2fa307
Reviewed-on: https://webrtc-review.googlesource.com/16561
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20469}
2017-10-27 21:22:12 +00:00
ba5c8ad98c Roll chromium_revision a6e2558f89..318723cc57 (512183:512265)
Change log: a6e2558f89..318723cc57
Full diff: a6e2558f89..318723cc57

Changed dependencies:
* src/base: 27320273c9..f8b71b318a
* src/build: 417efa81c3..67705982fa
* src/ios: e04b060e11..526cdcf5a0
* src/testing: ac33c8abc1..5debfb28c2
* src/third_party: 7da260dd10..9a8e49ec43
* src/tools: 615eadce30..09c01c34bb
DEPS diff: a6e2558f89..318723cc57/DEPS

No update to Clang.

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

Change-Id: Ieaf08ffcdffb53fcf0bdd45e6a91e47eb6008334
Reviewed-on: https://webrtc-review.googlesource.com/16560
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20468}
2017-10-27 20:48:42 +00:00
6a5c6f6f5b Roll chromium_revision f1b66c7b37..a6e2558f89 (512062:512183)
Change log: f1b66c7b37..a6e2558f89
Full diff: f1b66c7b37..a6e2558f89

Changed dependencies:
* src/base: 987a84e03a..27320273c9
* src/build: e1ba03bda3..417efa81c3
* src/ios: ef56503ef5..e04b060e11
* src/testing: 94d5c035a5..ac33c8abc1
* src/third_party: bd60ce1398..7da260dd10
* src/third_party/depot_tools: 781e71e49f..105e11e251
* src/tools: 8bff363f00..615eadce30
DEPS diff: f1b66c7b37..a6e2558f89/DEPS

No update to Clang.

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

Change-Id: I3d433184d7b41ca6d9d09910d676d927dca5f6ea
Reviewed-on: https://webrtc-review.googlesource.com/16520
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20467}
2017-10-27 19:52:21 +00:00
fb1a8661db Add support for H.264 constrained high profile in VideoProcessor.
BUG=webrtc:8448

Change-Id: I968d6cd78dd4f3c19a7944ae4cc73c5eddb9a949
Reviewed-on: https://webrtc-review.googlesource.com/16160
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20466}
2017-10-27 13:30:34 +00:00
3ebed36b01 Roll chromium_revision f4ecd4bed3..f1b66c7b37 (508787:512062) + Windows fix
Includes a fix for Windows build by mbonadei@:
Adding rc to DEPS using checked-in hashes.
https://webrtc-review.googlesource.com/14780

Change log: f4ecd4bed3..f1b66c7b37
Full diff: f4ecd4bed3..f1b66c7b37

Changed dependencies:
* src/base: 041cecf43e..987a84e03a
* src/build: 8afa1551c5..e1ba03bda3
* src/buildtools: f6d165d9d8..e043d81e91
* src/ios: f556c12cad..ef56503ef5
* src/testing: 744b907c60..94d5c035a5
* src/third_party: 96b848f800..bd60ce1398
* src/third_party/android_tools: https://chromium.googlesource.com/android_tools.git/+log/ca9dc7245b..110e5f6c0d
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/6f19655f67..52d748d48b
* src/third_party/depot_tools: 7de54ef0a2..781e71e49f
* src/third_party/errorprone/lib: 6a55852cd7..16b8b7298b
* src/third_party/ffmpeg: 3098b6a245..f9e8b42758
* src/third_party/gtest-parallel: ee20273811..3fee5ae8cb
* src/third_party/libvpx/source/libvpx: caa116c9be..401e6d48bf
* src/third_party/libyuv: 5b1af9a335..8fa02df3c0
* src/third_party/lss: https://chromium.googlesource.com/linux-syscall-support.git/+log/63f24c8221..e6527b0cd4
* src/tools: b6a9a695f5..8bff363f00
* src/tools/swarming_client: 5e8001d9a7..fe94e7274e
DEPS diff: f4ecd4bed3..f1b66c7b37/DEPS

Clang version changed 313786:315613
Details: f4ecd4bed3..f1b66c7b37/tools/clang/scripts/update.py

CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Bug: chromium:777448
Change-Id: I362bec887805f8d4a6649d57d752dcd34f0ea9c0
Reviewed-on: https://webrtc-review.googlesource.com/16422
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Edward Lemur <ehmaldonado@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20465}
2017-10-27 13:26:15 +00:00
5d7fd19c20 Don't build windows core audio if using dummy file devices.
If WEBRTC_DUMMY_FILE_DEVICES is set, WEBRTC_CORE_AUDIO_BUILD should not.
Otherwise audio_device_core_win.h will be included [1] when it shouldn't
(according to [2]).

[1] https://webrtc.googlesource.com/src/+/master/modules/audio_device/audio_device_impl.cc#22
[2] https://webrtc.googlesource.com/src/+/master/modules/audio_device/BUILD.gn#177

Bug: webrtc:6265
Change-Id: Ia6ccb9dda39f411c0d8a548a0501408e87d11a40
Reviewed-on: https://webrtc-review.googlesource.com/16430
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20464}
2017-10-27 12:53:34 +00:00
293158b707 Revert ObjC API changes for BWE allocation strategy
The ObjC API (the files in sdk/objc/Framework/Headers/WebRTC/) needs to
be pure ObjC. The changes that are reverted here introduced C++ which
turns it into ObjC++.

We don't have a test protectcing this right now, but it's probably
something we should add to catch changes like this in the future.

TBR=alexnarest@webrtc.org,deadbeef@webrtc.org

Bug: webrtc:8243
Change-Id: Idea688f4014cd44c27cf2cb2a5ec8a9ea7da3c00
Reviewed-on: https://webrtc-review.googlesource.com/16429
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20463}
2017-10-27 12:33:24 +00:00
b0576ecc71 Reland of Improves native Android audio implementations
Second attempt to land https://webrtc-review.googlesource.com/c/src/+/15481.
This time with an extra (dummy) interface to ensure that we don't
break downstream clients.

Improves native Android audio implementations.

Bug: webrtc:8453
Change-Id: I659a3013ae523a2588e4c41ca44b7d0d2d65efb7
Reviewed-on: https://webrtc-review.googlesource.com/16425
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20462}
2017-10-27 10:53:20 +00:00
e4c6915b87 Remove verbose setting and reorder some print statements in VideoProcessor.
Always enabling verbose mode means about 100% more text is printed,
but this should not be a problem as the only time that we explicitly
look at the logs is when the bots are failing, or when we want to save
all output for plotting.

BUG=webrtc:8448

Change-Id: Ia5feab5220d047440d15cddb7d3fbca1c5a4aaf5
Reviewed-on: https://webrtc-review.googlesource.com/16140
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20461}
2017-10-27 10:52:14 +00:00
fd9149f842 Temporarily remove linux_ubsan from commit queue
DEPS roll is blocked on it because it pins a broken clang version,
but Chromium has no commitment to fixing it.

Bug: chromium:774973
Change-Id: Id04fadde599293bca7b6c25faa2e9926c1265dc7
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/16423
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20460}
2017-10-27 09:49:17 +00:00
34fa295d47 Delete unused VP8 packetization modes.
Always use the packetization formely known as kEqualSize.
The RTPFragementation header is ignored, which is no change 
in behaviour, since the caller previously always passed null.

Bug: webrtc:6471
Change-Id: Id9e2f985280c2ee8cc33fcf0e5c1fc3ee61c1aff
Reviewed-on: https://webrtc-review.googlesource.com/15222
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20459}
2017-10-27 09:18:17 +00:00
e87cfe2315 Remove unused method PacketLossModeToStr.
Add method FrameType for frame to TestConfig.

Bug: none
Change-Id: Icfeb12fcb961559c9b36a3aedb081a840b9d8556
Reviewed-on: https://webrtc-review.googlesource.com/16120
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20458}
2017-10-27 08:51:27 +00:00
71c62b438e Roll gradle to version 4.2.1.
Bug: webrtc:8458
Change-Id: Ic27afae8907f4915a1256743c5a6b7d4671f425d
Reviewed-on: https://webrtc-review.googlesource.com/16421
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20457}
2017-10-27 08:32:47 +00:00
8ed8e56149 Adding RTC_ prefixed LOG macros.
In order to avoid conflicts with downstream projects WebRTC is going
to prefix its LOG macros with RTC_.

This CL renames all the LOG macros to macros with the RTC_ prefix and
it also defines backward compatibility LOG macros in order to let
downstream projects to switch to RTC_ prefixed macros without breaking
them.

A follow-up CL will remove the usage of LOG macros in WebRTC.

Bug: webrtc:8452
Change-Id: Ic3e495cba6c772f65259dc65ee278560a59d02d7
Reviewed-on: https://webrtc-review.googlesource.com/15442
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20456}
2017-10-27 08:24:37 +00:00
b2d355ed1f Reland: Reject the description with fewer m= sections.
If the subsequent offer contains fewer m= sections than the existing
description, it would be rejected.

The helper method MediaSectionsInSameOrder is modified and it will
compare the number of m= sections before matching the media type.

The original CL: https://webrtc-review.googlesource.com/c/src/+/9621
Reland it after the web-platform-tests are updated:
https://chromium-review.googlesource.com/c/chromium/src/+/736318

TBR=deadbeef@webrtc.org

Bug: chromium:773620
Change-Id: I60e972eb856efc3cef4a18777791053c9f8e0491
Reviewed-on: https://webrtc-review.googlesource.com/16382
Reviewed-by: Zhi Huang <zhihuang@webrtc.org>
Commit-Queue: Zhi Huang <zhihuang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20455}
2017-10-27 01:07:27 +00:00