Commit Graph

11886 Commits

Author SHA1 Message Date
73276ad7ed - Removes voe_conference_test.
- Adds a new AudioStatsTest, with better coverage of the same features, based on call_test.
- Adds an AudioEndToEndTest utility, which AudioStatsTest and LowBandwidthAudioTest uses.

BUG=webrtc:4690
R=kwiberg@webrtc.org

Review-Url: https://codereview.webrtc.org/3008273002 .
Cr-Commit-Position: refs/heads/master@{#19833}
2017-09-14 12:46:50 +00:00
7d1f493a8b Make toVideoFrame in I420Frame return the original frame.
Bug: webrtc:7749
Change-Id: Ib9a2812e0b3b9b7c9f77ceb284f46c6cf2122467
Reviewed-on: https://webrtc-review.googlesource.com/1187
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19832}
2017-09-14 11:43:59 +00:00
66ca7e3b06 Add a check that sanitizers cause a fatal failure
Inspired by https://chromium.googlesource.com/chromium/src/+/master/base/tools_sanity_unittest.cc

BUG=webrtc:8214
R=kjellander@webrtc.org, kwiberg@webrtc.org

Review-Url: https://codereview.webrtc.org/3005273002 .
Cr-Commit-Position: refs/heads/master@{#19830}
2017-09-14 11:05:01 +00:00
0a2ed5f9b8 Removing webrtc/config.h
The content of webrtc/config.h has been moved to webrtc/api/rtpparameters.h, webrtc/call/rtp_config.h and webrtc/call/video_config.h.

BUG=webrtc:5876
NOTRY=True
TBR=stefan@webrtc.org

Change-Id: Id8d5b3b82b2362d561376d744fd1807c36076cae
Reviewed-on: https://webrtc-review.googlesource.com/1220
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19829}
2017-09-14 11:02:39 +00:00
d4b0c05623 Add new video codec factories
This CL adds interfaces for the new video codec factories and wires them
up in WebRtcVideoEngine. The default behavior is unmodified however, and
the new code is currently unused except for the tests.

A follow-up CL will be uploaded for exposing them in the
PeerConnectionFactory API: https://codereview.webrtc.org/3004353002/.

BUG=webrtc:7925
R=andersc@webrtc.org, stefan@webrtc.org

Review-Url: https://codereview.webrtc.org/3007073002 .
Cr-Commit-Position: refs/heads/master@{#19828}
2017-09-14 08:24:56 +00:00
479d3d75df Drop return value from RtpRtcp::IncomingRtcpPacket.
And from its callee RTCPReceiver::IncomingPacket.

BUG=webrtc:5565

Review-Url: https://codereview.webrtc.org/3009403002
Cr-Commit-Position: refs/heads/master@{#19823}
2017-09-13 14:53:37 +00:00
9a85f0782e Enhance RTCUIApplicationStatusObserver thread safety.
Add locking around waiting for initialization to finish, since calling
dispatch_block_wait from multiple threads leads to undefined behavior.

Initialize RTCUIApplicationStatusObserver earlier to give the
initialization block more time to run on the main thread before
starting to query the application state.

http://www.dailymotion.com/video/x2mckmh

BUG=b/65558688

Review-Url: https://codereview.webrtc.org/3009383002
Cr-Commit-Position: refs/heads/master@{#19822}
2017-09-13 14:31:46 +00:00
f54573bd3b Reland of Delete Rtx-related methods from RTPPayloadRegistry. (patchset #1 id:1 of https://codereview.webrtc.org/3011093002/ )
Reason for revert:
The cl this change depended on has now been successfully relanded.

Original issue's description:
> Revert of Delete Rtx-related methods from RTPPayloadRegistry. (patchset #3 id:40001 of https://codereview.webrtc.org/3006993002/ )
>
> Reason for revert:
> This has to be reverted to enable reverting cl https://codereview.webrtc.org/3006063002/, which seems to have broken ulpfec.
>
> Original issue's description:
> > Delete Rtx-related methods from RTPPayloadRegistry.
> >
> > Delete methods IsRtx, IsEncapsulated and RestoreOriginalPacket.
> >
> > BUG=webrtc:7135
> >
> > Review-Url: https://codereview.webrtc.org/3006993002
> > Cr-Commit-Position: refs/heads/master@{#19739}
> > Committed: 5b4b522641
>
> TBR=stefan@webrtc.org,danilchap@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7135
>
> Review-Url: https://codereview.webrtc.org/3011093002
> Cr-Commit-Position: refs/heads/master@{#19742}
> Committed: a64685325c

TBR=stefan@webrtc.org,danilchap@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:7135

Review-Url: https://codereview.webrtc.org/3012253002
Cr-Commit-Position: refs/heads/master@{#19821}
2017-09-13 14:13:57 +00:00
4e15e67da8 Android AppRTCMobile: Transition local render to new VideoSink interface
BUG=None

Review-Url: https://codereview.webrtc.org/3016443002
Cr-Commit-Position: refs/heads/master@{#19820}
2017-09-13 14:11:16 +00:00
fb2fa3f54e Fixed the overflow in the AGC
BUG=webrtc:8236

Review-Url: https://codereview.webrtc.org/3009373002
Cr-Commit-Position: refs/heads/master@{#19818}
2017-09-13 13:28:16 +00:00
2ab9879af0 Android: Improve handling of RGB texture frames
In the transition period when we have both VideoRenderer.Callbacks and
VideoSinks, and VideoRenderer.I420Frames and VideoFrames, the adapters
between them does not handle RGB frames correctly. This CL improves the
situation somewhat, and at least gives clearer error messages.

BUG=webrtc:7749

Review-Url: https://codereview.webrtc.org/3017433002
Cr-Commit-Position: refs/heads/master@{#19817}
2017-09-13 12:20:45 +00:00
dc80abe975 Reland of move deprecated CodecType methods. (patchset #1 id:1 of https://codereview.webrtc.org/3010553002/ )
Reason for revert:
Fixes have landed in chromium.

Original issue's description:
> Revert of Remove deprecated CodecType methods. (patchset #1 id:1 of https://codereview.webrtc.org/3009583002/ )
>
> Reason for revert:
> It breaks chromium FYI bots.
>
> E.g.: https://build.chromium.org/p/chromium.webrtc.fyi/builders/Win%20Builder/builds/11615
>
> Original issue's description:
> > Remove deprecated CodecType methods.
> >
> > These are no longer needed as all clients have been updated to use the
> > new methods that always return a value.
> >
> > BUG=None
> >
> > Review-Url: https://codereview.webrtc.org/3009583002
> > Cr-Commit-Position: refs/heads/master@{#19559}
> > Committed: 1a92d0de49
>
> TBR=magjed@webrtc.org,tommi@webrtc.org,kthelgason@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=None
>
> Review-Url: https://codereview.webrtc.org/3010553002
> Cr-Commit-Position: refs/heads/master@{#19563}
> Committed: 673caedc39

TBR=magjed@webrtc.org,tommi@webrtc.org,mbonadei@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=None

Review-Url: https://codereview.webrtc.org/3009413002
Cr-Commit-Position: refs/heads/master@{#19816}
2017-09-13 12:16:26 +00:00
d57f9ddfd1 Separate build targets for APM bit exactness tools from unittests.
This places the bit exactness testing tools in audioproc_test_utils,
and removes it from audio_processing_unittests.

Bug: webrtc:8240
Change-Id: I6f54ea3c49c0212888c6f8a779ecc886d1d2baba
Reviewed-on: https://chromium-review.googlesource.com/663545
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19815}
2017-09-13 12:05:23 +00:00
772bd8b6a7 Fix no_size_t_to_int_warning in rtp_rtcp:rtp_rtcp_format target
Change types in interface to plain int.
When putting values into raw buffer / structures with small types, use rtc::dchecked_cast.

BUG=webrtc:1348

Review-Url: https://codereview.webrtc.org/3013623002
Cr-Commit-Position: refs/heads/master@{#19813}
2017-09-13 10:24:28 +00:00
87443ee3e6 Make rtp::Packet's destructor and constructors public
This will allow the RTP-related subclasses of RtcEvent keep an rtp::Packet for the header, rather than hold the heaver, and at the moment unnecessary for logging, RtpPacketReceived/RtpPacketToSend.

BUG=webrtc:8111

Review-Url: https://codereview.webrtc.org/3013023004
Cr-Commit-Position: refs/heads/master@{#19812}
2017-09-13 09:45:15 +00:00
4090f380e5 Fix retain cycles in RTCUIApplicationStatusObserver.
These retain cycles are theoretical since the singleton is supposed to
live for the lifetime of the application.

These measures were removed earlier when the object was turned into
a singleton in a previous CL, see
https://chromium-review.googlesource.com/c/external/webrtc/+/527442/3..4/webrtc/sdk/objc/Framework/Classes/Common/RTCUIApplicationStatusObserver.m

The weak self handling and unused dealloc method is mostly noise and
can make a casual reader think that the object will have a limited
life cycle, i.e. the code may initially look like something it is not,
which could possibly be less readable. On the other hand, for people
looking out for potential retain cycles, the code may be distracting
since it looks like it may be leaking.

BUG=b/65558647

Review-Url: https://codereview.webrtc.org/3013023002
Cr-Commit-Position: refs/heads/master@{#19811}
2017-09-13 09:18:36 +00:00
47791cf0f8 Remove definition of thread annotation macros without RTC_ prefix
BUG=webrtc:8198

Review-Url: https://codereview.webrtc.org/3007363002
Cr-Commit-Position: refs/heads/master@{#19810}
2017-09-13 08:25:46 +00:00
6d64e9a4e0 Remove JsepSessionDescription's string Initialize method
Most clients already use webrtc::CreateSessionDescription which
does the same thing and has the benefit of initializing in one
step instead of two and freeing the newly-created session
description if there was a parse error.

Bug: None
Change-Id: Ibeafdf7a6dd73eaea696700bc5eb420838371b75
Reviewed-on: https://chromium-review.googlesource.com/662402
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19808}
2017-09-13 01:38:52 +00:00
db45ca80d1 Change PeerConnection test helpers to take unique_ptr
This changes DoSet(Local|Remote)Description helper function in
the PeerConnection unit tests to take a unique_ptr to the new
session rather than a bare pointer (of which it took ownership).

Bug: None
Change-Id: I75ef0992f09676455423980972634e3e6a700b85
Reviewed-on: https://chromium-review.googlesource.com/662365
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19807}
2017-09-13 01:22:52 +00:00
43697f6da5 Add javadoc comment for PeerConnection.dispose.
Specifically calling out issue 3721 ("dispose can't be called from a
callback"), which developers frequently run into.

BUG=webrtc:3721
NOTRY=True

Review-Url: https://codereview.webrtc.org/3013573002
Cr-Commit-Position: refs/heads/master@{#19804}
2017-09-12 17:52:14 +00:00
e997381743 Move reencode logic for screenshare bitrate overshoot from generic
encoder to vp8impl.
BUG=none

Review-Url: https://codereview.webrtc.org/3011213002
Cr-Commit-Position: refs/heads/master@{#19803}
2017-09-12 17:24:46 +00:00
09f4481173 Break rtp_rtcp_format out of rtp_rtcp, to resolve circular dependencies
BUG=webrtc:8111

patch from issue 3011233002 at patchset 1 (http://crrev.com/3011233002#ps1)

Review-Url: https://codereview.webrtc.org/3014463002
Cr-Commit-Position: refs/heads/master@{#19801}
2017-09-12 16:23:24 +00:00
3fe3e3b8fd Add assignment operator to AudioEncoderRuntimeConfig
Since the copy-constructor is explicitly defined, the coding-style guide mandates explicitly defining the assignment operator, too.

BUG=None
TBR=stefan@webrtc.org

Review-Url: https://codereview.webrtc.org/3014473002
Cr-Commit-Position: refs/heads/master@{#19800}
2017-09-12 16:00:24 +00:00
c3d2bfd244 Remove no- prefix from command line flags in rtc_event_log2text and rtc_event_log2rtp_dump and negate their meaning.
BUG=webrtc:8202

Review-Url: https://codereview.webrtc.org/3008113002
Cr-Commit-Position: refs/heads/master@{#19798}
2017-09-12 12:57:36 +00:00
661d94996b Only use BBRs pacer if the unit test is running BBR.
Otherwise use WebRTCs default pacer.

BUG=None

Review-Url: https://codereview.webrtc.org/3009363002
Cr-Commit-Position: refs/heads/master@{#19797}
2017-09-12 12:47:34 +00:00
0c011d9499 Make sure send and receive deltas are positive for remote estimated probe clusters.
BUG=b/65531353

Review-Url: https://codereview.webrtc.org/3005393002
Cr-Commit-Position: refs/heads/master@{#19796}
2017-09-12 12:13:53 +00:00
bcc2176e64 Decoupling audio_device from Obj-C code
The goal of this CL is to separate Obj-C/Obj-C++ code from targets which have
also C++ code (see https://bugs.chromium.org/p/webrtc/issues/detail?id=7743
for more information).

To achieve this we have created 2 targets (audio_device_ios_objc and
audio_device_generic) and audio_device will act as a proxy between these targets
(this way we can avoid a circular dependency between audio_device_generic and
audio_device_ios_objc).

BUG=webrtc:7743

Review-Url: https://codereview.webrtc.org/2991343002
Cr-Commit-Position: refs/heads/master@{#19795}
2017-09-12 11:45:24 +00:00
2475ae2e4c Simplify passing video coded factories in media engine
We soon want to be able to pass in a new type of video codec factories,
see issue 7925 for more information. We currently plumb these video
codec factories in a clumsy way from the media engine to the video
engine, which will require us to update a lot of places when we add
new video codec factory types. This CL cleans up the way we pass in
video codec factories to make it easier to add the new factory types.

In particular, this CL:
 * Updates WebRtcVideoEngine to take the video codec factories as
   arguments in ctor instead of in SetExternalVideoCodec functions.
 * Remove the Init() function from the vidoe engines - this function is
   not used.
 * Update CompositeMediaEngine to take generic variadic arguments, so we
   can send different arguments for different engines, without having to
   update this class.
 * Simplify ownership of video codec factories in WebRtcVideoEngine.
   WebRtcVideoEngine outlives WebRtcVideoChannel,
   WebRtcVideoSendStream and WebRtcVideoReceiveStream, so it can
   keep ownership without having to share ownership with these classes.

BUG=webrtc:7925

Review-Url: https://codereview.webrtc.org/3008043002
Cr-Commit-Position: refs/heads/master@{#19794}
2017-09-12 11:42:15 +00:00
1e7dd31001 Break the ANA build-target into ANA and ANA-config
This is done to solve a dependency-cycle with the RtcEventLog - now the RtcEventLog can depend on the config part of ANA, and be able to peer inside, while the implementation part of ANA can invoke the RtcEventLog.

BUG=webrtc:8111
TBR=stefan@webrtc.org

Review-Url: https://codereview.webrtc.org/3010343002
Cr-Commit-Position: refs/heads/master@{#19793}
2017-09-12 11:38:25 +00:00
43467b09c8 ObjC EncodedImage: Use fixed width integer types
We currently use long for some variables, which causes warnings when
converting from int64_t. We should use fixed width integer types
instead.

BUG=b/65491700

Review-Url: https://codereview.webrtc.org/3009293002
Cr-Commit-Position: refs/heads/master@{#19791}
2017-09-12 09:29:43 +00:00
18ee1d55b4 Move SDP m= line matching from BaseChannel to WebRtcSession
This is part of the work towards implementing Unified Plan.

The logic for correlating m= lines to channels is changing in
Unified Plan. Moving this logic to WebRtcSession means that we do
not need to add a flag to BaseChannel to indicate which logic it
should use (i.e., Plan B vs. Unified Plan) and can keep those
details in WebRtcSession.

Bug: webrtc:8183
Change-Id: I729da73ece01fd20f45e82f8956a02c4cad2469e
Reviewed-on: https://chromium-review.googlesource.com/653490
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19786}
2017-09-11 20:46:16 +00:00
ce25181714 Remove RtpPacketToSend::GetHeader as almost unused.
Merge rtp::Packet::GetHeader into RtpPacketReceived::GetHeader removing
error-prone code where latter shadow former version

BUG=None

Review-Url: https://codereview.webrtc.org/3012983002
Cr-Commit-Position: refs/heads/master@{#19784}
2017-09-11 19:24:41 +00:00
063f0c0d3a Reland of Prepare for injectable SW decoders (patchset #1 id:1 of https://codereview.webrtc.org/3010953002/ )
Reason for revert:
Fix bug introduced by keeping the allocated decoders in a map.

Original issue's description:
> Revert of Prepare for injectable SW decoders (patchset #3 id:40001 of https://codereview.webrtc.org/3009973002/ )
>
> Reason for revert:
> Tentative revert since it seems to cause problems in Chrome, MAC.
>
> https://build.chromium.org/p/chromium.webrtc.fyi/builders/Mac%20Tester/builds/42684
>
>
>
> Original issue's description:
> > Prepare for injectable SW decoders
> >
> > Pretty much mirrors the work done on the encoding side in CLs:
> >
> > "Clean up ownership of webrtc::VideoEncoder"
> > https://codereview.webrtc.org/3007643002/
> >
> > "Let VideoEncoderSoftwareFallbackWrapper own the wrapped encoder"
> > https://codereview.webrtc.org/3007683002/
> >
> > "WebRtcVideoEngine: Encapsulate logic for unifying internal and external video codecs"
> > https://codereview.webrtc.org/3006713002/
> >
> > BUG=webrtc:7925
> >
> > Review-Url: https://codereview.webrtc.org/3009973002
> > Cr-Commit-Position: refs/heads/master@{#19641}
> > Committed: 084c55a63a
>
> TBR=magjed@webrtc.org,andersc@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=webrtc:7925
>
> Review-Url: https://codereview.webrtc.org/3010953002
> Cr-Commit-Position: refs/heads/master@{#19647}
> Committed: 1f88531038

TBR=magjed@webrtc.org,perkj@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:7925

Review-Url: https://codereview.webrtc.org/3005363002
Cr-Commit-Position: refs/heads/master@{#19782}
2017-09-11 18:50:51 +00:00
357429dd1e Rudimentary optimization with APM/QA.
Added script 'apm_quality_assessment_optimize' for finding parameters
that minimize a custom function of the scores generated by APM-QA. The
script reuses the existing functionality for filtering the data on
configs/scores/outputs.

To archieve that, some modularization has been done: the part from
apm_quality_assessment_export that reads in data into a
pandas.DataFrame has been moved into quality_assessment.collect_data.

TESTED = though extensive manual tests. Unit tests for the user
scripts and 'collect_data' are missing, because we don't have a test
framework for loading/exporting fake data.

BUG=webrtc:7218

Change-Id: I5521b952970243da05fc4db1b9feef87a2e5ccad
Reviewed-on: https://chromium-review.googlesource.com/643292
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19780}
2017-09-11 17:00:37 +00:00
3b3c9c4eb0 Don't treat picture ids as wrapping in the FrameBuffer2 class.
Picture ids are now unwrapped in the RtpFrameReferenceFinder class, so the
FrameBuffer2 no longer need to treat them as wrapping.

BUG=webrtc:7874

Review-Url: https://codereview.webrtc.org/3012883002
Cr-Commit-Position: refs/heads/master@{#19779}
2017-09-11 16:38:36 +00:00
4232273061 Use RaceChecker instead of ThreadChecker in remote_bitrate_estimator.
BUG=webrtc:7826

Review-Url: https://codereview.webrtc.org/3006173002
Cr-Commit-Position: refs/heads/master@{#19778}
2017-09-11 16:23:37 +00:00
98b1b7d59e Add explicit copy constructors to RTPHeader and RTPHeaderExtension
Explicit copy-constructors are required by chromium. (No copy constructors were used until now, but a different CL requires them.)

BUG=None
TBR=stefan@webrtc.org

Review-Url: https://codereview.webrtc.org/3006343002
Cr-Commit-Position: refs/heads/master@{#19777}
2017-09-11 15:48:26 +00:00
4bb3b9c6cb Move StreamConfig into its own file
Move StreamConfig into its own file, to allow it to be seen from different RtcEvent subclasses (introduces in upcoming CL).

BUG=webrtc:8111

Review-Url: https://codereview.webrtc.org/3013523002
Cr-Commit-Position: refs/heads/master@{#19776}
2017-09-11 14:25:26 +00:00
c36daecd77 Add support for H264 high-profile in injectable video encoder.
BUG=webrtc:7760

Review-Url: https://codereview.webrtc.org/3007133002
Cr-Commit-Position: refs/heads/master@{#19774}
2017-09-11 13:53:27 +00:00
c6b1041d67 Removed the timeout for the delay estimate quality.
BUG=webrtc:8223, chromium:763761

Review-Url: https://codereview.webrtc.org/3011193002
Cr-Commit-Position: refs/heads/master@{#19773}
2017-09-11 13:46:07 +00:00
ea154106a8 Lowered the allowed jitter in the api calls to a reasonable level
This CL reduces the allowed jitter in the api calls to a reasonable
level in order to ensure a quicker revery from audio path glitches.

BUG=webrtc:8224, chromium:763775

Review-Url: https://codereview.webrtc.org/3009273002
Cr-Commit-Position: refs/heads/master@{#19772}
2017-09-11 13:44:37 +00:00
d207a39d09 Add |RTCUIApplicationStatusObserver sharedInstance| call in ios test AppDelegate.
We want to perform the observation setup as soon as possible to avoid deadlocking,
especially for test scenario where most of the work is done on main thread.

BUG=webrtc:6634

Review-Url: https://codereview.webrtc.org/3012913002
Cr-Commit-Position: refs/heads/master@{#19771}
2017-09-11 13:43:28 +00:00
0ea0310b89 android: add IceServer.urls field
This makes api more consistent with ios and native library

BUG=None

Review-Url: https://codereview.webrtc.org/3012843002
Cr-Commit-Position: refs/heads/master@{#19770}
2017-09-11 13:41:38 +00:00
e0406fd955 Removes unused ADM APIs (final stage)
BUG=webrtc:7306

Review-Url: https://codereview.webrtc.org/3006333003
Cr-Commit-Position: refs/heads/master@{#19769}
2017-09-11 13:17:38 +00:00
7cede379c7 Android: Add helper class VideoFrameDrawer that can render VideoFrames
This CL adds a helper class VideoFrameDrawer that provides an
abstraction for rendering arbitrary video frames using OpenGL. The class
takes care of dispatching on the video buffer type and uploading
I420 data to textures.

BUG=None

Review-Url: https://codereview.webrtc.org/3008423002
Cr-Commit-Position: refs/heads/master@{#19768}
2017-09-11 13:12:07 +00:00
bc37847978 Decoupling rtc_base_approved from Obj-C code
The goal of this CL is to separate Obj-C/Obj-C++ code from targets which have
also C++ code (see https://bugs.chromium.org/p/webrtc/issues/detail?id=7743
for more information).

To achieve this we have created 2 targets (rtc_base_approved_objc and
rtc_base_approved_generic) and rtc_base_approved will act as a proxy between
these targets (this way we can avoid a circular dependency between
rtc_base_approved_generic and rtc_base_approved_objc).

BUG=webrtc:7743
NOTRY=True

Review-Url: https://codereview.webrtc.org/2988433002
Cr-Commit-Position: refs/heads/master@{#19767}
2017-09-11 10:43:34 +00:00
0677904e1b Delete Filesystem::CreateFolder.
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2891923002
Cr-Commit-Position: refs/heads/master@{#19766}
2017-09-11 09:36:28 +00:00
ca5706d8b5 Reland of Use RtxReceiveStream. (patchset #1 id:1 of https://codereview.webrtc.org/3007303002/ )
Reason for revert:
Identified a configuration problem in the video quality tests. Intend to fix and reland.

Original issue's description:
> Revert of Use RtxReceiveStream. (patchset #5 id:320001 of https://codereview.webrtc.org/3006063002/ )
>
> Reason for revert:
> This change appears to break ulpfec, with severe regressions, e.g., for webrtc_perf_test FullStackTest.ForemanCifPlr5Ulpfec
>
> Original issue's description:
> > Reland of Use RtxReceiveStream. (patchset #1 id:1 of https://codereview.webrtc.org/3010983002/ )
> >
> > Reason for revert:
> > Intend to fix perf failures and reland.
> >
> > Original issue's description:
> > > Revert of Use RtxReceiveStream. (patchset #5 id:80001 of https://codereview.webrtc.org/3008773002/ )
> > >
> > > Reason for revert:
> > > A few perf tests broken, including
> > >
> > > RampUpTest.UpDownUpAbsSendTimeSimulcastRedRtx
> > > RampUpTest.UpDownUpTransportSequenceNumberRtx
> > > RampUpTest.UpDownUpTransportSequenceNumberPacketLoss
> > >
> > >
> > > Original issue's description:
> > > > Use RtxReceiveStream.
> > > >
> > > > This also has the beneficial side-effect that when a media stream
> > > > which is protected by FlexFEC receives an RTX retransmission, the
> > > > retransmitted media packet is passed into the FlexFEC machinery,
> > > > which should improve its ability to recover packets via FEC.
> > > >
> > > > BUG=webrtc:7135
> > > >
> > > > Review-Url: https://codereview.webrtc.org/3008773002
> > > > Cr-Commit-Position: refs/heads/master@{#19649}
> > > > Committed: 5c0f6c62ea
> > >
> > > TBR=brandtr@webrtc.org,danilchap@webrtc.org,stefan@webrtc.org,magjed@webrtc.org
> > > # Skipping CQ checks because original CL landed less than 1 days ago.
> > > NOPRESUBMIT=true
> > > NOTREECHECKS=true
> > > NOTRY=true
> > > BUG=webrtc:7135
> > >
> > > Review-Url: https://codereview.webrtc.org/3010983002
> > > Cr-Commit-Position: refs/heads/master@{#19653}
> > > Committed: 3c39c0137a
> >
> > TBR=brandtr@webrtc.org,danilchap@webrtc.org,stefan@webrtc.org,magjed@webrtc.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > BUG=webrtc:7135
> >
> > Review-Url: https://codereview.webrtc.org/3006063002
> > Cr-Commit-Position: refs/heads/master@{#19715}
> > Committed: 35713eaf56
>
> TBR=brandtr@webrtc.org,danilchap@webrtc.org,stefan@webrtc.org,magjed@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=webrtc:7135
>
> Review-Url: https://codereview.webrtc.org/3007303002
> Cr-Commit-Position: refs/heads/master@{#19744}
> Committed: 8e7eee0351

TBR=brandtr@webrtc.org,danilchap@webrtc.org,stefan@webrtc.org,magjed@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:7135

Review-Url: https://codereview.webrtc.org/3012963002
Cr-Commit-Position: refs/heads/master@{#19765}
2017-09-11 09:32:16 +00:00
8412fd333d Fix code formating in api/video/video_content_type.*
Generated by "git cl format".

BUG=none

Review-Url: https://codereview.webrtc.org/3006333002
Cr-Commit-Position: refs/heads/master@{#19764}
2017-09-11 09:20:45 +00:00
76535de14f Improves stereo/mono audio support on Android.
Fixes some issues related to calling WebRtcAudioManager.setStereoOutput(true)
and WebRtcAudioManager.setStereoInput(true) and ensures that the ADM reports
correct values related to stereo support given these settings.

Also makes it more clear that the OpenSLES audio implementation does not support
stereo (we now fail in Init()).

To summarize: this change ensures that the user can ask for stereo input
and/or stereo output audio on Android in combination with the Java based
audio layer. By default (if no WebRtcAudioManager.setStereoXXX() APIs are called), mono will be used.

BUG=webrtc:7962

Review-Url: https://codereview.webrtc.org/3009193002
Cr-Commit-Position: refs/heads/master@{#19763}
2017-09-11 08:25:55 +00:00