Commit Graph

10180 Commits

Author SHA1 Message Date
c03bdf9ae9 Roll chromium_revision aa8e58a..664fe1e (361601:361806)
webrtc/modules/audio_device/android/ensure_initialized.cc needed to
be updated due to https://codereview.chromium.org/1407233017

Change log: aa8e58a..664fe1e
Full diff: aa8e58a..664fe1e

No dependencies changed.
No update to Clang.

NOTRY=True
CQ_EXTRA_TRYBOTS=tryserver.webrtc:win_baremetal,mac_baremetal,linux_baremetal
R=henrika@webrtc.org

Review URL: https://codereview.webrtc.org/1482443003 .

Cr-Commit-Position: refs/heads/master@{#10798}
2015-11-26 10:12:34 +00:00
26ab91b73f Add symlink to src/third_party/libc++-static
This is used on Mac to link against a precompiled libc++
library on Mac (see https://crbug.com/400091 for details)

TBR=tkchin@webrtc.org
TESTED=Verified the warnings like:
ld: warning: directory not found for option '-L../../third_party/libc++-static'
are no longer printed on Mac.

Review URL: https://codereview.webrtc.org/1475643010 .

Cr-Commit-Position: refs/heads/master@{#10797}
2015-11-26 09:26:39 +00:00
cdb38e5397 Strip IP addresses in NDEBUG (release) builds.
Also removes the ability to override (set) this.

BUG=
R=pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/1480743002 .

Cr-Commit-Position: refs/heads/master@{#10796}
2015-11-25 23:36:20 +00:00
b86c5027a0 Roll chromium_revision 68cf0b8..aa8e58a (361406:361601)
Due to Chromium moving over to building with a sysroot
image on Linux in
a931efd5dc
we need to disable that until http://crbug.com/561584 is fixed
(libudev.h is missing and is used by talk/media/devices/libudevsymboltable.h).

Change log: 68cf0b8..aa8e58a
Full diff: 68cf0b8..aa8e58a

No dependencies changed.
No update to Clang.

BUG=chromium:561584
CQ_EXTRA_TRYBOTS=tryserver.webrtc:win_baremetal,mac_baremetal,linux_baremetal
NOTRY=True
NOPRESUBMIT=True

Review URL: https://codereview.webrtc.org/1468313006

Cr-Commit-Position: refs/heads/master@{#10795}
2015-11-25 21:20:11 +00:00
a34c39e549 GetDefaultLocalAddress should return false when the address is invalid
BUG=
R=pthatcher@webrtc.org

Committed: https://crrev.com/67c6df6153b7b6dceb2b569daf683a498b2fc13c
Cr-Commit-Position: refs/heads/master@{#10779}

Review URL: https://codereview.webrtc.org/1471203002 .

Cr-Commit-Position: refs/heads/master@{#10794}
2015-11-25 21:12:34 +00:00
89d658f6b4 Fix fuzzer breakage in Chromium.
Removes log disabling under Chromium which doesn't compile due to
missing LS_INFO in the override log implementation.

Also removes dependency on webrtc/test/BUILD.gn which doesn't build in
Chromium (due to third_party/gflags not being present). Instead the
no-op implementation of field_trials in system_wrappers is used.

BUG=chromium:561667, webrtc:4771
R=kjellander@webrtc.org
TBR=henrikg@webrtc.org

Review URL: https://codereview.webrtc.org/1473713004 .

Cr-Commit-Position: refs/heads/master@{#10793}
2015-11-25 20:58:43 +00:00
11e022904d Move Chromium logging into rtc_base_approved.
The corresponding set of overrides weren't moved when logging.cc etc.
was moved over. This wasn't noticed because all existing targets before
webrtc fuzzers used to link both rtc_base and rtc_base_approved in
Chromium. Also adding //base:base as a dependency, this used to be
linked in by other targets either way before but generated build errors
when a target solely depends on rtc_base_approved.

BUG=webrtc:4771
R=kjellander@webrtc.org
TBR=henrikg@webrtc.org

Review URL: https://codereview.webrtc.org/1473223005 .

Cr-Commit-Position: refs/heads/master@{#10792}
2015-11-25 20:40:13 +00:00
6e004a44e8 Revert of Created a test that reports the statistics for the duration of APM stream processing API calls. (patchset #15 id:280001 of https://codereview.webrtc.org/1436553004/ )
Reason for revert:
This breaks the Win32 Release [large tests] bot (webrtc_perf_tests times out after 1h23m): https://build.chromium.org/p/client.webrtc/builders/Win32%20Release%20%5Blarge%20tests%5D

The Mac64 Release [large tests] bot's runtime also increased with +20 minutes.

These bot configs are not a part of the default trybot set, so please run them manually or add this to the CL description:
CQ_EXTRA_TRYBOTS=tryserver.webrtc:win_baremetal,mac_baremetal,linux_baremetal

Original issue's description:
> A unittest that reports the statistics for the duration of an APM stream processing API call.
>
> BUG=webrtc:5099
>
> Committed: https://crrev.com/880896ab0976bbf86a6753d0c900c70e51f421cb
> Cr-Commit-Position: refs/heads/master@{#10786}

TBR=henrik.lundin@webrtc.org,solenberg@webrtc.org,peah@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5099

Review URL: https://codereview.webrtc.org/1473733004

Cr-Commit-Position: refs/heads/master@{#10791}
2015-11-25 20:27:46 +00:00
fac0655fd7 Reland of Adding the ability to create an RtpSender without a track.
(patchset #8 id:140001 of https://codereview.webrtc.org/1413713003/ )

Relanding after fixing CallAndModifyStream to account for new
procedures for adding/removing a track from a stream.

Original issue's description:
> Adding the ability to create an RtpSender without a track.
>
> This CL also changes AddStream to immediately create a sender, rather
> than waiting until the track is seen in SDP. And the PeerConnection now
> builds the list of "send streams" from the list of senders, rather than
> the collection of local media streams.
>
> Committed: https://crrev.com/ac9d92ccbe2b29590c53f702e11dc625820480d5
> Cr-Commit-Position: refs/heads/master@{#10414}

Review URL: https://codereview.webrtc.org/1468113002

Cr-Commit-Position: refs/heads/master@{#10790}
2015-11-25 19:26:08 +00:00
376e1235c7 Destroy a Connection if a CreatePermission request fails.
This means that if a TURN server denies permission for an
unreachable address, we'll no longer ping it fruitlessly.

BUG=webrtc:4917

Review URL: https://codereview.webrtc.org/1415313004

Cr-Commit-Position: refs/heads/master@{#10789}
2015-11-25 17:00:12 +00:00
13725089ef Open backdoor in VoiceEngineImpl to get at the actual voe::Channel objects from an ID.
This will allow Audio[Send|Receive]Stream to bypass the VoE interfaces in many cases and talk directly to the channel.

BUG=webrtc:4690

Review URL: https://codereview.webrtc.org/1459083007

Cr-Commit-Position: refs/heads/master@{#10788}
2015-11-25 16:16:57 +00:00
54eb5e2e9a Removed the aec state as an input parameter to the FilterFar function.
BUG=webrtc:5201

Review URL: https://codereview.webrtc.org/1454983006

Cr-Commit-Position: refs/heads/master@{#10787}
2015-11-25 15:43:20 +00:00
880896ab09 A unittest that reports the statistics for the duration of an APM stream processing API call.
BUG=webrtc:5099

Review URL: https://codereview.webrtc.org/1436553004

Cr-Commit-Position: refs/heads/master@{#10786}
2015-11-25 10:07:57 +00:00
9cd5c8ca79 Move the FEC enabling logic from CodecManager to Rent-A-Codec
BUG=webrtc:5028

Review URL: https://codereview.webrtc.org/1476743002

Cr-Commit-Position: refs/heads/master@{#10785}
2015-11-25 09:25:14 +00:00
989b4abcf3 Move the stereo-disables-CNG logic from CodecManager to Rent-A-Codec
BUG=webrtc:5028

Review URL: https://codereview.webrtc.org/1473563004

Cr-Commit-Position: refs/heads/master@{#10784}
2015-11-25 09:19:19 +00:00
46a491bcbb Set mac_deployment_target default to 10.7
This overrides the default (10.6) in Chromium's
build/common.gypi. It's needed since we want ARC and libc++.

TESTED=Ran webrtc/build/gyp_webrtc before this patch and then
grep -r macosx-version-min out/Debug/* | grep 10.6
which gave a lot of output.
Then with this patch applied, there were no output for 10.6 (only 10.7).

R=tkchin@webrtc.org

Review URL: https://codereview.webrtc.org/1474623002 .

Cr-Commit-Position: refs/heads/master@{#10783}
2015-11-25 07:35:12 +00:00
65ef3199b3 Roll chromium_revision b1d79c3..68cf0b8 (361146:361406)
Change log: b1d79c3..68cf0b8
Full diff: b1d79c3..68cf0b8

Changed dependencies:
* src/tools/swarming_client: 05e1787..df99a00
DEPS diff: b1d79c3..68cf0b8/DEPS

No update to Clang.

TBR=
CQ_EXTRA_TRYBOTS=tryserver.webrtc:win_baremetal,mac_baremetal,linux_baremetal

Review URL: https://codereview.webrtc.org/1470343002

Cr-Commit-Position: refs/heads/master@{#10782}
2015-11-25 07:08:36 +00:00
444682acf9 Remove frame time scheduing in IncomingVideoStream
This is part of the project that makes RTC rendering more
smooth. We've already finished the developement of the
frame selection algorithm in WebMediaPlayerMS, where we
managed a frame pool, and based on the vsync interval, we
actively select the best frame to render in order to
maximize the rendering smoothness.

Thus the frame timeline control in IncomingVideoStream is
no longer needed, because with sophisticated frame
selection algorithm in WebMediaPlayerMS, the time control
in IncomingVideoStream will do nothing but add some extra
delay.

BUG=514873

Review URL: https://codereview.webrtc.org/1419673014

Cr-Commit-Position: refs/heads/master@{#10781}
2015-11-25 02:08:03 +00:00
953eabc027 Revert "GetDefaultLocalAddress should return false when the address is invalid"
This reverts commit 67c6df6153b7b6dceb2b569daf683a498b2fc13c.

TBR=pthatcher@webrtc.org
BUG=

Review URL: https://codereview.webrtc.org/1470363002 .

Cr-Commit-Position: refs/heads/master@{#10780}
2015-11-24 20:00:38 +00:00
67c6df6153 GetDefaultLocalAddress should return false when the address is invalid
BUG=
R=pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/1471203002 .

Cr-Commit-Position: refs/heads/master@{#10779}
2015-11-24 19:59:26 +00:00
7d842d660e Move thread_ conditional back under defines.
Unbreaks Windows builds.

BUG=
TBR=tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1476543002 .

Cr-Commit-Position: refs/heads/master@{#10778}
2015-11-24 17:23:29 +00:00
c661213a63 Skip setting thread priorities in NaCl.
Fixes Chromium build since PlatformThread is now built under NaCl.

BUG=
R=tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1472083002 .

Cr-Commit-Position: refs/heads/master@{#10777}
2015-11-24 17:10:36 +00:00
b2514725a9 Add JNI interface for functions to start and stop recording AEC dumps and RTC event logs.
BUG=webrtc:4741

Review URL: https://codereview.webrtc.org/1409323009

Cr-Commit-Position: refs/heads/master@{#10776}
2015-11-24 17:00:39 +00:00
c3ddb3e127 Improve documentation for ArrayView
Review URL: https://codereview.webrtc.org/1468183003

Cr-Commit-Position: refs/heads/master@{#10775}
2015-11-24 16:59:40 +00:00
4c5eea3c73 Android SurfaceViewRenderer: Don't rely on widthSpec/heightSpec after onMeasure() returns
SurfaceViewRenderer currently stores widthSpec/heightSpec internally, and triggers requestLayout() from renderFrameOnRenderThread()->checkConsistentLayout() when it detects a change using widthSpec/heightSpec. This is not reliable, because onMeasure() might be called several times during the layout process negotiation. For example it might look like this:
-> onMeasure(at most 1920, at most 1080)
<- setMeasuredDimension(1080, 1080)
-> onMeasure(exactly 1080, exactly 1080)
<- setMeasuredDimension(1080, 1080)
Then we store (exactly 1080, exactly 1080) even though we are allowed to be bigger than this, and requestLayout() will never be triggered.

This CL moves the requestLayout() trigger to updateFrameDimensionsAndReportEvents() when the frame size changes.

Other small changes in this CL are:
* Replace with/height variables with Point.
* Add logging in updateFrameDimensionsAndReportEvents() even when rendererEvents is null.
* Use Math.round() in RendererCommon.getDisplaySize() instead of integer cast.

R=hbos@webrtc.org

Review URL: https://codereview.webrtc.org/1453413005 .

Cr-Commit-Position: refs/heads/master@{#10774}
2015-11-24 16:45:32 +00:00
b7a88291dc Remove duplicated headers after updating downstream code.
Remove the headers that were kept to provide non-breaking updates
of downstream code for https://codereview.webrtc.org/1418913006/
and https://codereview.webrtc.org/1417283007/.

BUG=webrtc:5095
TESTED=Passing compile-trybots with --clobber flag:
git cl try --clobber --bot=win_compile_rel --bot=linux_compile_rel --bot=android_compile_rel --bot=mac_compile_rel --bot=ios_rel --bot=linux_gn_rel --bot=win_x64_gn_rel --bot=mac_x64_gn_rel --bot=android_gn_rel -m tryserver.webrtc
NOTRY=True

Review URL: https://codereview.webrtc.org/1467173003

Cr-Commit-Position: refs/heads/master@{#10773}
2015-11-24 15:13:52 +00:00
302c978c92 Work around data race in TransmitMixer.
BUG=chromium:389098

Review URL: https://codereview.webrtc.org/1466353003

Cr-Commit-Position: refs/heads/master@{#10772}
2015-11-24 14:28:30 +00:00
7baf79fb9e Temporary remove spamming MediaDecoder log
This log will write for each decoded frame if the textures are rendered using VideoRenderGUI
and the the screen is locked.

TBR=glaznew@webrtc.org

Review URL: https://codereview.webrtc.org/1465093004

Cr-Commit-Position: refs/heads/master@{#10771}
2015-11-24 14:26:46 +00:00
92f8dbde77 Remove VIDEOCODEC_* from engine_configurations.h.
Removes index-based codec fetching from the VCM and overall cleans up
the code.

BUG=webrtc:1695
R=mflodman@webrtc.org

Review URL: https://codereview.webrtc.org/1425613004 .

Cr-Commit-Position: refs/heads/master@{#10770}
2015-11-24 12:56:05 +00:00
4f2152e328 Android SurfaceViewRenderer: Make sure not to call eglCreateSurface() twice
eglCreateSurface() calls are posted to the render thread from both init() and surfaceCreated(). If the render thread does not process the eglCreateSurface() message from init() before surfaceCreated() is called, eglCreateSurface() will be called twice resulting in a crash.

This CL makes sure eglCreateSurface() is only called once.

BUG=b/25815604
R=hbos@webrtc.org

Review URL: https://codereview.webrtc.org/1466133002 .

Cr-Commit-Position: refs/heads/master@{#10769}
2015-11-24 12:54:36 +00:00
97c821dc56 Inline ConvertToSystemPriority.
Unused function when building Chromium, triggered build errors when
importing webrtc.

BUG=
R=tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1471073005 .

Cr-Commit-Position: refs/heads/master@{#10768}
2015-11-24 12:48:20 +00:00
9237559b16 Add SurfaceTextureHelper.disconnect(Handler handler) method
This method should be used when the SurfaceTextureHelper is created to use a specific handler.
This now guarantee that the looper used by handler is destroyed after a frame has been returned.

Review URL: https://codereview.webrtc.org/1465163003

Cr-Commit-Position: refs/heads/master@{#10767}
2015-11-24 11:03:19 +00:00
Per
d48015364d Add option to capture to texture in AppRTCDemo for Android.
The purpose is to be able to easier test and find differences between the path when capturing to textures or byte buffers.

This require https://codereview.webrtc.org/1403713002/ to work.

BUG=webrtc:4993
R=magjed@webrtc.org
TBR=glaznew@webrtc.org

Review URL: https://codereview.webrtc.org/1452423003 .

Cr-Commit-Position: refs/heads/master@{#10766}
2015-11-24 10:13:34 +00:00
978244ecb0 Adding a bunch of Agora IO team members to the watch lists
BUG=

Review URL: https://codereview.webrtc.org/1470833002

Cr-Commit-Position: refs/heads/master@{#10765}
2015-11-24 08:22:19 +00:00
d860523112 First part of the preparatory work before the actual work for solving the ducking problem starts.
This works aims to:
-More clearly separate the functionalities in the AEC.
-Make the inputs and outputs to functions more clear (currently the state struct is often passed as a parameter to the functions and the functions use members of the state both as inputs and outputs, which reduces the readability of the code and makes it difficult to change/refactor.

What is done in this CL:
-Most of what belongs to the echo subtraction functionality has been moved to a separate function.
-The NonLinearProcessing function has been renamed to EchoSuppressor which I think is more appropriate.
-Part of the code was replaced by a call to the TimeToFrequency function (which was also suggested by an existing todo).
-For consistency, a function FrequencyToTime doing the opposite of TimeToFrequency was added and part of the code was moved to that.
-The ScaleErrorSignal function was changed to no longer have the state as an input parameter. This entailed also changing the corresponding assembly optimized files accordingly.

Testing:
-The changes have been tested for bitexactness on Linux using a fairly extensive test.
-All the unittests pass on linux.

BUG=webrtc:5201

Review URL: https://codereview.webrtc.org/1455163006

Cr-Commit-Position: refs/heads/master@{#10764}
2015-11-24 07:05:49 +00:00
70bed7d415 GN: Fix iOS error in audio_device and rtc_base
With this in, the only compilation errors left seems
related to yasm and libjpeg_turbo.
Notice the below example builds x86 builds (not ARM) since if
specifying target_cpu="arm", the gn step fails (separate issue).

BUG=webrtc:5213, webrtc:5195, chromium:459705
TESTED=Passing compilation with:
gn gen --args="target_os=\"ios\"" out/Default
ninja -C out/Default rtc_base audio_device

Review URL: https://codereview.webrtc.org/1471663002

Cr-Commit-Position: refs/heads/master@{#10763}
2015-11-24 01:23:47 +00:00
b5cb19b37c Fixing direction attribute in answer for non-RTP protocols.
"non-RTP protocols" refers to SCTP data channels. Because
there are no streams for SCTP data channels, the answer was being
set to RECVONLY.

BUG=webrtc:5228

Review URL: https://codereview.webrtc.org/1473013002

Cr-Commit-Position: refs/heads/master@{#10762}
2015-11-24 00:39:18 +00:00
05816eb8d7 Fix target_arch for ios devices
Replace armv7 by arm and arm64 in documentation for iOS build
instructions.

BUG=5125

Review URL: https://codereview.webrtc.org/1418513014

Cr-Commit-Position: refs/heads/master@{#10761}
2015-11-24 00:22:32 +00:00
12411ef40e Move ThreadWrapper to ProcessThread in base.
Also removes all virtual methods. Permits using a thread from
rtc_base_approved (namely event tracing).

BUG=webrtc:5158
R=tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1469013002

Cr-Commit-Position: refs/heads/master@{#10760}
2015-11-23 22:48:01 +00:00
255d6f6fb2 Test case for CL 1437933002.
This is to make sure that we don't have any assert failure when running with adapter enumeration disabled and we have no IPv6 default local address.

BUG=webrtc:5061

Review URL: https://codereview.webrtc.org/1456663002

Cr-Commit-Position: refs/heads/master@{#10759}
2015-11-23 22:12:44 +00:00
9c80bbe46c Roll chromium_revision e038f1d..b1d79c3 (361088:361146)
Change log: e038f1d..b1d79c3
Full diff: e038f1d..b1d79c3

No dependencies changed.
No update to Clang.

TBR=
CQ_EXTRA_TRYBOTS=tryserver.webrtc:win_baremetal,mac_baremetal,linux_baremetal

Review URL: https://codereview.webrtc.org/1470913003

Cr-Commit-Position: refs/heads/master@{#10758}
2015-11-23 20:54:01 +00:00
1aa6efe885 Android ThreadUtils: Make the class public for access outside org.webrtc
Also make the class non-final. We shouldn't use non-final classes, because then we can't mock them.

R=henrika@webrtc.org

Review URL: https://codereview.webrtc.org/1470973002 .

Cr-Commit-Position: refs/heads/master@{#10757}
2015-11-23 19:13:36 +00:00
057fb89f83 Add new method AcmReceiver::last_packet_sample_rate_hz()
This change allows us to delete AcmReceiver::last_audio_codec_id().

BUG=webrtc:3520

Review URL: https://codereview.webrtc.org/1467183002

Cr-Commit-Position: refs/heads/master@{#10756}
2015-11-23 16:19:58 +00:00
74e35f1d62 Remove the special case for std::vector in rtc::ArrayView
We don't need it anymore now that we can use std::vector::data().

Review URL: https://codereview.webrtc.org/1470843003

Cr-Commit-Position: refs/heads/master@{#10755}
2015-11-23 14:54:56 +00:00
d89814bfd7 NetEq: Add new method last_output_sample_rate_hz
This change moves the logics for keeping track of the last ouput
sample rate from AcmReceiver to NetEq, where it fits better. The
getter function AcmReceiver::current_sample_rate_hz() is renamed to
last_output_sample_rate_hz().

BUG=webrtc:3520

Review URL: https://codereview.webrtc.org/1467163002

Cr-Commit-Position: refs/heads/master@{#10754}
2015-11-23 14:49:31 +00:00
dfafd12418 Remove ThreadWrapper::GetThreadId. The method just calls rtc::CurrentThreadId(), which also has a more descriptive name.
R=pbos@webrtc.org

Review URL: https://codereview.webrtc.org/1467243003 .

Cr-Commit-Position: refs/heads/master@{#10753}
2015-11-23 14:37:34 +00:00
62e9bda7bf Implement fuzzing of VP9 depacketization.
Provides an example for how to use fuzzing within the webrtc tree.

BUG=webrtc:4771
R=aizatsky@chromium.org, asapersson@webrtc.org, kjellander@webrtc.org

Review URL: https://codereview.webrtc.org/1463523002 .

Cr-Commit-Position: refs/heads/master@{#10752}
2015-11-23 14:12:13 +00:00
ee37de3c13 Add screenshare perf tests with lossy links
This is a re-land of https://codereview.webrtc.org/1409513005/
Fingers crossed, the problems previously seen have been resolved by
https://codereview.webrtc.org/1412233003/

BUG=

Review URL: https://codereview.webrtc.org/1409993011

Cr-Commit-Position: refs/heads/master@{#10751}
2015-11-23 14:10:28 +00:00
1379f1f1e6 Extract the parameters for the encoder stack from the CodecManager
BUG=webrtc:5028

Review URL: https://codereview.webrtc.org/1459193002

Cr-Commit-Position: refs/heads/master@{#10750}
2015-11-23 12:30:56 +00:00
30a5e563ea Roll chromium_revision 3796a7a..e038f1d (361065:361088)
Change log: 3796a7a..e038f1d
Full diff: 3796a7a..e038f1d

No dependencies changed.
No update to Clang.

TBR=
CQ_EXTRA_TRYBOTS=tryserver.webrtc:win_baremetal,mac_baremetal,linux_baremetal

Review URL: https://codereview.webrtc.org/1466283002

Cr-Commit-Position: refs/heads/master@{#10749}
2015-11-23 12:22:48 +00:00