Commit Graph

5069 Commits

Author SHA1 Message Date
fa6228e221 Introduced the render sample queue for the aec and aecm.
BUG=webrtc:5099

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

Cr-Commit-Position: refs/heads/master@{#10662}
2015-11-17 00:27:50 +00:00
4c27e4b62d Several Tick counter improvements.
Move logic into cc file
Simplify interval calculation
Remove unused QUERY_PERFORMANCE_COUNTER windows implementation
Remove double divide on each ::Now() invocation on mac

Move TickTime and TickInterval funcitons to cc file in prep for refactoring.

BUG=
R=mflodman@webrtc.org, pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10661}
2015-11-16 22:37:59 +00:00
eb8b388273 Fix VP9 support in AppRTCDemo.
Default VP9 selection is no longer triggered by field trial string
after https://codereview.webrtc.org/1432673002, so VP9 need to
be selected now through SDP mangling.

R=wzh@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10660}
2015-11-16 22:12:01 +00:00
6f8ce060a2 common_video: rename interface -> include
To avoid breaking downstream, the "interface" directories were copied
into a new "common_video/include" dir. The old headers got pragma
warnings added about deprecation (a very short deprecation since I plan
to remove them as soon downstream is updated).
The header guards are also identical to avoid mixing them up in the transition.

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

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

Cr-Commit-Position: refs/heads/master@{#10659}
2015-11-16 21:52:31 +00:00
b27f590ece Create rtc::AtomicInt POD struct.
Prevents accidental non-atomic reads, increments and stores since
"volatile int" doesn't enforce atomic usage.

BUG=
R=kwiberg@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10657}
2015-11-16 19:03:06 +00:00
3528a27b1b Flesh out webrtc/.gitignore
Chromium only checks out the webrtc directory so it misses the root
level .gitignore file which leads to messy "git status" reports inside
third_party/webrtc. This copies the root level .gitignore so that
.vcxproj files, the OSX equivalent, and other files will be ignored.

Some of the entries are irrelevant, but it is better too have a few
irrelevant entries than to be missing some, and the simplicity of
copying is valuable.

NOTRY=True
TBR=henrika@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10656}
2015-11-16 19:02:02 +00:00
8b85de2ba1 Converted a bunch of error checking in Audio[Receive|Send]Stream to RTC_CHECKs instead. They should never fail.
BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#10654}
2015-11-16 17:48:12 +00:00
9a7c838ec4 Adding stddef.h to opus_inst.h.
This is to prevent size_t from undefined. This does not happen in current WebRTC since the sources that opus_inst.h gets used have proper definitions. But it would be good to add the definition in itself.

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

Cr-Commit-Position: refs/heads/master@{#10653}
2015-11-16 16:07:04 +00:00
3a94154035 Move some send stream configuration into webrtc::AudioSendStream.
BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#10652}
2015-11-16 15:34:59 +00:00
e155ae671c Move CNG and RED management into the Rent-A-Codec
This leaves CodecOwner without a job, so we eliminate it.

BUG=webrtc:5028

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

Cr-Commit-Position: refs/heads/master@{#10650}
2015-11-16 12:50:02 +00:00
54e92326af Revert of Do not delete the turn port entry right away when the respective connection is deleted. (patchset #5 id:260001 of https://codereview.webrtc.org/1426673007/ )
Reason for revert:
I have to revert this unfortunately because it adds a dependency on AsyncInvoker, which is not included when building libjingle_nacl in Chromium.
AsyncInvoker needs to first be added to the list of sources in Chromium.

Original issue's description:
> Do not delete the turn port entry right away when the respective connection is deleted.
> BUG=webrtc:5120
>
> Committed: https://crrev.com/e58fe8ef0e6d959f54adee3ed77764927d3845cc
> Cr-Commit-Position: refs/heads/master@{#10641}

TBR=pthatcher@webrtc.org,honghaiz@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5120

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

Cr-Commit-Position: refs/heads/master@{#10649}
2015-11-16 12:13:02 +00:00
0b9e29c87d Remove include dirs from modules/{media_file,pacing}
Also move files out of media_file/source.

BUG=webrtc:5095
TESTED=git cl try -c --bot=android_compile_rel --bot=linux_compile_rel --bot=win_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
R=asapersson@webrtc.org, perkj@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10647}
2015-11-16 10:12:32 +00:00
d9b75bef5d Fix a data race in the thread unit tests.
The flag used in thread_unittest.cc:FunctorB is subject to a (mostly
harmless) data race. In a tsan build, reproduce using

  out/Release/rtc_unittests --gtest_filter=AsyncInvokeTest.FireAndForget

There are additional tsan warnings, not all deterministic, when
running all the rtc_unittets: Some data races related to destructors,
and a locking-order-inversion warning. Hence applying this patch does
not make the unit tests tsan-clean.

I should also add that this is my very first cl, so I'm not at all
familiar with the process.

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

Cr-Commit-Position: refs/heads/master@{#10645}
2015-11-16 08:54:10 +00:00
6f14be8df8 Add limit for minimum number of required samples before recording input and sent framerate stats.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#10644}
2015-11-16 08:40:57 +00:00
e58fe8ef0e Do not delete the turn port entry right away when the respective connection is deleted.
BUG=webrtc:5120

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

Cr-Commit-Position: refs/heads/master@{#10641}
2015-11-14 01:54:47 +00:00
fa5d0dbd1e cleanup: get rid of basicdefs.h include
The ARRAY_SIZE macro it defines is not used anymore, as all the usages
were converted to arraysize macro from arraysize.h.

BUG=None
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10640}
2015-11-13 22:37:43 +00:00
a4845efe14 Fix flaky tests
BUG=webrtc:5190,webrtc:5136

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

Cr-Commit-Position: refs/heads/master@{#10639}
2015-11-13 17:53:01 +00:00
f8506cbdd8 rtcp::Ij renamed to rtcp::ExtendedJitterReport
to match name given in the RFC5450
  private member renamed to inter_arrival_jitters_ for the same reason.
rtcp::ExtendedJitterReport moved into own file
accessors and Parse function added
  to make class usable for parsing packet

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

Cr-Commit-Position: refs/heads/master@{#10636}
2015-11-13 15:33:26 +00:00
0fa9b22789 Remove scoped_ptrs for VCM sender_ and receiver_.
Put VideoSender/VideoReceiver flat within the object, not as
scoped_ptrs, giving fewer allocations and looking a bit nicer.

BUG=
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10634}
2015-11-13 13:59:59 +00:00
df948f03b3 rtcp::ReportBlock refactored to contain parsing
Review URL: https://codereview.webrtc.org/1420283022

Cr-Commit-Position: refs/heads/master@{#10633}
2015-11-13 11:03:18 +00:00
0a41893e36 Remove BitrateController dependency fromVideoReceiveStream.
I have another CL moving REMB from CongestonController to Call, then
I'll remove CongestoinController from this class too.

R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10632}
2015-11-13 10:12:16 +00:00
464c0878d9 Rename screenshare test.
Renamed the test to reflect what is actually tested. What the old test
did I don't know since there has never been possible to use screenshare
with two temporal layers in VP9.

BUG=chromium:554515

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

Cr-Commit-Position: refs/heads/master@{#10631}
2015-11-13 10:08:11 +00:00
0e7e259ebd Move BitrateAllocator from BitrateController logic to Call.
This is a step on the way to have variable bitrate for audio and is
intended to be as much of a no-op as possible.

BUG=webrtc:5079

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

Cr-Commit-Position: refs/heads/master@{#10630}
2015-11-13 05:02:46 +00:00
2cd7afe7e2 Do not delete a connection until it has not received anything for 30 seconds.
BUG=
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10626}
2015-11-12 19:14:38 +00:00
8597543ae8 Schedule a CreatePermissionRequest after the success of a previous request
unless a channel binding request is already scheduled.

BUG=5178
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10625}
2015-11-12 19:07:25 +00:00
68876f990e Introduces Android API level linting, fixes all current API lint errors.
This CL attempts to annotate accesses on >16 API levels using as
small scopes as possible. The TargetApi notations mean "yes, I know
I'm accessing a higher API and I take responsibility for gating the
call on Android API level". The Encoder/Decoder classes are annotated
on the whole class, but they're only accessed through JNI; we should
annotate on method level otherwise and preferably on private methods.

This patch also fixes some compiler-level deprecation warnings (i.e.
-Xlint:deprecation), but probably not all of them.

BUG=webrtc:5063
R=henrika@webrtc.org, kjellander@webrtc.org, magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10624}
2015-11-12 16:37:01 +00:00
56a34df928 Re-add a thread check in Call::Call that was removed by mistake in a rebase.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#10623}
2015-11-12 16:24:50 +00:00
5dda80abea Remove webrtc/modules/video_{capture,render}/include
BUG=webrtc:5095
TESTED=git cl try -c --bot=android_compile_rel --bot=linux_compile_rel --bot=win_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
R=pbos@webrtc.org, perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10619}
2015-11-12 11:47:02 +00:00
e71b24e421 OpenSL ES stability improvements.
This CL does two things:

1) Improves stability in the existing OpenSL ES implementation for devices that
supports OpenSL ES. The cost is a slight increase in latency since the focus here
has been on avoiding audio glitches.

2) Adds a new Java API to exclude usage of OpenSL ES to enable comparisons between
OpenSL ES and Java based audio backends.

BUG=b/22452539

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

Cr-Commit-Position: refs/heads/master@{#10618}
2015-11-12 09:48:36 +00:00
96839648a0 Trivial initialization fix in AudioDeviceIOS
NOTRY=TRUE
TBR=tkchin
BUG=webrtc:5058

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

Cr-Commit-Position: refs/heads/master@{#10616}
2015-11-12 09:01:24 +00:00
a8e9f5e4e4 A little cleanup in p2ptransportchannel and transportchannel.
No functional changes.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#10614}
2015-11-12 00:15:12 +00:00
066ded99cb Relax the stun ping check on valid result.
1. allow situation where all ping is lost
2. use the raw count to calculate the interval.

Since we now send 1 request per IP, the chance of losing all of them is higher and we shouldn't just quit if we don't have any response.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#10613}
2015-11-11 23:04:10 +00:00
6b14f9377d Adjust parameter for VP9 resize unittest.
Needed for upcoming libvpx roll.

TBR=stefan@webrtc.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#10611}
2015-11-11 21:42:13 +00:00
9b5ee9c0d9 Send back ping response if the ping comes from an unknown address.
BUG=webrtc:5171

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

Cr-Commit-Position: refs/heads/master@{#10610}
2015-11-11 21:19:25 +00:00
653b8e02f2 Reland of Adding the ability to change ICE servers through SetConfiguration. (patchset #1 id:1 of https://codereview.webrtc.org/1424803004/ )
Reason for revert:
Relanding with compile warning fixed.

Original issue's description:
> Revert of Adding the ability to change ICE servers through SetConfiguration. (patchset #7 id:120001 of https://codereview.webrtc.org/1391013007/ )
>
> Reason for revert:
> Caused compiler warning, breaking Chrome FYI bots.
>
> Original issue's description:
> > Adding the ability to change ICE servers through SetConfiguration.
> >
> > Added a SetIceServers method to PortAllocator. Also added a new
> > PeerConnection Initialize method that takes a PortAllocator, in the
> > hope that we can get rid of PortAllocatorFactoryInterface, since the
> > only substantial thing a factory does is convert the webrtc:: ICE
> > servers to cricket:: versions.
> >
> > Committed: https://crrev.com/d3b26d94399ff539db375a9b84010ee75479d4cf
> > Cr-Commit-Position: refs/heads/master@{#10420}
>
> TBR=pthatcher@webrtc.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://crrev.com/18a944bf0ac9eed872dc009bd58e6bc12c946303
> Cr-Commit-Position: refs/heads/master@{#10421}

TBR=pthatcher@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#10609}
2015-11-11 20:55:18 +00:00
9b72af94cd Remove webrtc/modules/audio_processing/{aec,aecm,ns}/include
BUG=webrtc:5095
TESTED=git cl try -c --bot=android_compile_rel --bot=linux_compile_rel --bot=win_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
R=henrik.lundin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10608}
2015-11-11 19:16:28 +00:00
e03cab94c1 When running this code in chromium on a machine with IPv6 disabled, the RTC_DCHECK fails and in release build, it could leak to further crash in chromium's rtc_peer_connection_hanlder.cc.
Here is the right fix.

BUG=webrtc:5061
R=pthatcher@google.com
TBR=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10607}
2015-11-11 19:11:28 +00:00
ee2bac26dd AcmReceiver::InsertPacket and NetEq::InsertPacket: Take ArrayView arguments
Instead of separate pointer and size arguments.

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

Cr-Commit-Position: refs/heads/master@{#10606}
2015-11-11 18:34:07 +00:00
91d926038f Add receive bitrate UMA stats.
Review URL: https://codereview.webrtc.org/1440603002

Cr-Commit-Position: refs/heads/master@{#10605}
2015-11-11 18:13:07 +00:00
4dc941128f CodecManager::RegisterEncoder: Call SetFec on new encoder, not old
BUG=webrtc:5028

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

Cr-Commit-Position: refs/heads/master@{#10604}
2015-11-11 16:34:28 +00:00
4b56904b70 Fix race in VideoSendStreamTest.RtcpSenderReportContainsMediaBytesSent.
BUG=webrtc:5194

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

Cr-Commit-Position: refs/heads/master@{#10602}
2015-11-11 14:40:03 +00:00
00ac85e2e3 Update temporal up switch field for non-flexible mode according to updates in the RTP payload profile.
The U bit is no longer obtained from the SS data.

https://tools.ietf.org/id/draft-ietf-payload-vp9-01.txt

BUG=chromium:500602

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

Cr-Commit-Position: refs/heads/master@{#10601}
2015-11-11 13:30:55 +00:00
fa566d610f Remove webrtc/examples/android/media_demo.
The JNI code for VoiceEngine is not maintained and VoiceEngine is being
refactored. This is not a supported Java interface, use AppRTCDemo as a
starting point instead.

Also renames webrtc/libjingle_examples.gyp webrtc/webrtc_examples.gyp to
replace the previous file (that only contained media_demo).

BUG=
R=henrika@webrtc.org, kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10599}
2015-11-11 12:11:21 +00:00
1323fc39ba Remove webrtc/test/channel_transport/include
Move the header file into webrtc/test/channel_transport instead.

BUG=webrtc:5095
TESTED=git cl try -c --bot=android_compile_rel --bot=linux_compile_rel --bot=win_compile_rel --bot=mac_compile_rel -m tryserver.webrtc --bot=ios_rel
R=henrika@webrtc.org, henrikg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10595}
2015-11-11 09:34:35 +00:00
5237aaf243 Convert usage of ARRAY_SIZE to arraysize.
ARRAY_SIZE is the old version of arraysize and does not cover
all the cases in C++, arraysize is a copy of Chromium's
version and thus have wider coverage.

BUG=None
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10594}
2015-11-11 07:44:39 +00:00
ad13d2f817 Round Rate computations from RateTracker.
BUG=534221
R=asapersson@webrtc.org, pbos@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10592}
2015-11-11 00:34:58 +00:00
9af97f8910 WebRTC should generate default private address even when adapter enumeration is disabled.
Introduce a DefaultAddressProvider such that rtc::Network can't access other part of NetworkManager.

This also removes the hack of generating the loopback address. The dependency has been removed by https://codereview.chromium.org/1417023003/

BUG=webrtc:5061
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10590}
2015-11-10 22:47:49 +00:00
be57983f4b Rename Maybe to Optional
And add examples of good and bad usage to the documentation.

R=aluebs@webrtc.org, henrik.lundin@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10588}
2015-11-10 21:34:32 +00:00
ed8275a44f CodecManager: Eliminate the stereo_send_ member
It can be computed from other members, notably the current encoder's
number of channels.

BUG=webrtc:5028

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

Cr-Commit-Position: refs/heads/master@{#10585}
2015-11-10 17:47:41 +00:00
c94bd9bf86 If a desktop captured window switches on/off it full screen mode, the capture may be unexpectedly terminated. During the transition of full screen mode on/off, the window can be temporarily invisible.
BUG=498484

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

Cr-Commit-Position: refs/heads/master@{#10583}
2015-11-10 15:33:58 +00:00