Commit Graph

10698 Commits

Author SHA1 Message Date
46ad5426b0 Revert of "Create rtc::AtomicInt POD struct." (patchset #3 id:40001 of https://codereview.webrtc.org/1498953002/ )
Reason for revert:
Broke downstream compile step, possibly relandable when using a MSVC version that has constexpr, other than that I'm out of ideas.

.../webrtc/base/atomicops.h:71:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const rtc::AtomicInt&'

Original issue's description:
> Reland of "Create rtc::AtomicInt POD struct."
>
> Relands https://codereview.webrtc.org/1420043008/ with brace initializers
> instead of constructors hoping that they won't introduce static
> initializers.
>
> BUG=
> R=tommi@webrtc.org
>
> Committed: https://crrev.com/84f0970d100e67a1dc4fe9a1b16b7d293302044e
> Cr-Commit-Position: refs/heads/master@{#10920}

TBR=tommi@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#10922}
2015-12-07 22:29:21 +00:00
6f28cf0b95 Implement standalone event tracing in AppRTCDemo.
Logs tracing events (TRACE_EVENT0 and friends) to storage in a format
compatible with chrome://tracing which can be used for performance
evaluation, finding lock contention and other sweet things). Tracing is
still basic and doesn't contain thread metadata or logging of tracing
arguments.

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

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

Cr-Commit-Position: refs/heads/master@{#10921}
2015-12-07 22:17:26 +00:00
84f0970d10 Reland of "Create rtc::AtomicInt POD struct."
Relands https://codereview.webrtc.org/1420043008/ with brace initializers
instead of constructors hoping that they won't introduce static
initializers.

BUG=
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10920}
2015-12-07 22:07:11 +00:00
0f490a5b86 Add logs when stun or turn host lookup is completed.
This will help investigate issues caused by DNS lookup.

BUG=
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10919}
2015-12-07 20:06:27 +00:00
cd4003f3df Use @webrtc.org addresses for OWNERS.
Fixes talk/app/webrtc/OWNERS and removes houssainy@google.com from
webrtc/tools/rtcbot/OWNERS.

BUG=
R=andresp@webrtc.org, perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10918}
2015-12-07 18:53:25 +00:00
cf890bc58e Roll gtest-parallel.
Brings in fixes that save log output to disk instead of piping them
through Python. Should fix problem where output from tests stall for
more than 10 seconds.

Also enabling JsepPeerConnectionP2PTestClient on all platforms again.

BUG=webrtc:5231
R=kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10917}
2015-12-07 15:45:08 +00:00
0608dc5db5 Roll chromium_revision 4918765..3b8be21 (363393:363445)
Change log: 4918765..3b8be21
Full diff: 4918765..3b8be21

No dependencies changed.
No update to Clang.

TBR=
NOTRY=True

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

Cr-Commit-Position: refs/heads/master@{#10916}
2015-12-07 15:41:31 +00:00
5f6deaf525 Remove unused RTP-header parser.
D'oh.

BUG=
R=sprang@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10915}
2015-12-07 15:18:18 +00:00
ab82cbbfd9 Disable RtcEventLogTest.DropOldEvents on memcheck.
BUG=webrtc:5312
TBR=terelius@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10914}
2015-12-07 14:30:22 +00:00
03671cb38a Use existing parser in ReceivesAndRetransmitsNack.
Removes logspam of "Failed to find extension id:".

BUG=
TBR=sprang@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10913}
2015-12-07 14:22:34 +00:00
fc47ed6c05 rtcp::Rrtr block moved into own file and got Parse function
BUG=webrtc:5260
R=asapersson@webrtc.org, åsapersson

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

Cr-Commit-Position: refs/heads/master@{#10912}
2015-12-07 13:46:42 +00:00
1aa420b6aa Remove avg encode time from CpuOveruseMetric struct and use value from OnEncodedFrame instead.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#10911}
2015-12-07 11:12:27 +00:00
9d69c3f4d9 Return a copy of the supported RTP header extensions instead of a reference.
This also renames the method to better reflect what it does.

BUG=webrtc:5187
R=pbos@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10910}
2015-12-07 09:45:49 +00:00
b86d4e4a8d Prepare the AudioSendStream to be hooked up to send-side BWE.
This CL contains three changes as a preparation for adding audio send streams
to the send-side BWE:
1. Audio packets are passed through the pacer with high priority. This
is needed to be able to set transport sequence numbers on the packets.
2. A feedback observer is passed to the audio stream's rtcp receiver so
that the BWE can get notified of any BWE feedback being received on the
audio feedback channel.
3. Support for the transport sequence number header extension is added
to audio send streams.

BUG=webrtc:5263,webrtc:5307
R=mflodman@webrtc.org, solenberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10909}
2015-12-07 09:26:32 +00:00
03f80ebb83 Refactor EglBase configuration.
Delete EglBase.ConfigType, instead pass arrays of attributes, and define
constant arrays for the common cases.

Both in progress NativeToI420 and extending GlRectDrawer to other shapes (with alpha) needs this.

BUG=b/25694445

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

Cr-Commit-Position: refs/heads/master@{#10908}
2015-12-07 09:17:22 +00:00
a8565425bc Initial VideoProcessing refactoring.
This CL is the first in a series of CLs to refactor
VideoProcessing(Module) to follow Google C++ style guide and make the
code more readable.

This CL removed inheritance from Module, renames variables and makes
VideoProcessingImpl::PreprocessFrame return a frame pointer if there
is a frame to send, nullptr otherwise. The affected CLs also passes git
cl lint.

BUG=webrtc:5259

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

Cr-Commit-Position: refs/heads/master@{#10907}
2015-12-07 09:10:01 +00:00
2512f44397 Roll chromium_revision 292ab9f..4918765 (363376:363393)
Change log: 292ab9f..4918765
Full diff: 292ab9f..4918765

No dependencies changed.
No update to Clang.

TBR=

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

Cr-Commit-Position: refs/heads/master@{#10906}
2015-12-07 04:20:11 +00:00
c9f1cb84d8 Roll chromium_revision 72c3265..292ab9f (363365:363376)
Change log: 72c3265..292ab9f
Full diff: 72c3265..292ab9f

No dependencies changed.
No update to Clang.

TBR=

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

Cr-Commit-Position: refs/heads/master@{#10905}
2015-12-06 20:23:29 +00:00
34a7054fd6 Roll chromium_revision 626eecf..72c3265 (363027:363365)
0c2a94ab87
needed the addition of tools/telemetry and third_party/catapult symlinks
for Android.
GN changes required modification of .gn.

Change log: 626eecf..72c3265
Full diff: 626eecf..72c3265

Changed dependencies:
* src/buildtools: 818123d..b747a9e
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/fde89b4..6d9e5a7
DEPS diff: 626eecf..72c3265/DEPS

No update to Clang.

TBR=
NOTRY=True

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

Cr-Commit-Position: refs/heads/master@{#10904}
2015-12-06 18:32:42 +00:00
1218d7ad2f Allow remote fingerprint update during a call
Changes include the following
1. modify FakeDtlsIdentityStore to support alternate certificate so we could have a different fingerprint in test case.
2. dtlstransportchannel can accept a new fingerprint and trigger DTLS handshake.
3. #2 will trigger new signal on the media side to reset SRTP context. Only reset SRTP context when we are using DTLS (not SDES).
4. Test cases for caller or callee are transfees.

TBR=pthatcher@webrtc.org
BUG=webrtc:3618

This is a reland of https://codereview.webrtc.org/1453523002

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

Cr-Commit-Position: refs/heads/master@{#10903}
2015-12-05 18:00:04 +00:00
86aaa4be8d Revert "Allow remote fingerprint update during a call"
This reverts commit 9c38c2d33fa6d794704d53b18f39d5235439fe63.

This commit somehow is different from what I have in my local copy. Revert and will recommit.

TBR=pthatcher@webrtc.org
BUG=3618

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

Cr-Commit-Position: refs/heads/master@{#10902}
2015-12-05 17:55:54 +00:00
9c38c2d33f Allow remote fingerprint update during a call
Changes include the following
1. modify FakeDtlsIdentityStore to support alternate certificate so we could have a different fingerprint in test case.
2. dtlstransportchannel can accept a new fingerprint and trigger DTLS handshake.
3. #2 will trigger new signal on the media side to reset SRTP context. Only reset SRTP context when we are using DTLS (not SDES).
4. Test cases for caller or callee are transfees.

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

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

Cr-Commit-Position: refs/heads/master@{#10901}
2015-12-05 17:46:16 +00:00
381b4217cb Ping backup connection at a slower rate
and make it configurable from the app.
Changed the decision on whether a connection is pingable:
1.Check whether a connection is a backup connection. A connection is considered as a backup connection only if the channel is complete, the connection is active and it is not the best connection.
2. Ping a non-backup connection if it is active and for backup connection, ping it at a slower rate.
Note the default behavior is the same as before.

Also cached the channel state since we are accessing it more often.
BUG=webrtc:5034
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10900}
2015-12-04 20:24:10 +00:00
45b0efd378 Stop sending stun binding requests after certain amount of time.
Also stop it if the request timed out.

It is going to be complicated to keep this and make it sync with the connection bind request as they may be on two different ports.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#10899}
2015-12-04 16:57:31 +00:00
9e1b992f74 Clear old decoders after recreating the receiver.
Prevents UAF when switching decoder capabilities and the
previously-supported decoder is currently being received on.

BUG=chromium:565967
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10898}
2015-12-04 15:34:17 +00:00
97f7e13c23 rtcp::ReceiverReport moved into own file and got Parse function
BUG=webrtc:5260
R=asapersson@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10897}
2015-12-04 15:13:40 +00:00
7c704b8289 Use webrtc/base/logging.h in stefan@'s ownership.
Replaces system_wrappers' logging in call/, bitrate_controller/, pacing/
and remote_bitrate_estimator/.

BUG=webrtc:5118
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10896}
2015-12-04 15:13:12 +00:00
b572768efb - Remove calls to VoEDtmf from WVoE/MC.
- Flatten logic and make the relevant calls on VoE::Channel from AudioSendStream::SendTelephoneEvent().
- Store current payload type for telephone events in WVoMC, instead of setting it on the Channel. This should be refactored to be an AudioSendStream::Config parameter when we redo WVoMC::SetSendCodecs().

BUG=webrtc:4690
R=pthatcher@webrtc.org, tina.legrand@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10895}
2015-12-04 14:22:30 +00:00
fcdcf4a927 Disable RtcEventLogTest.DropOldEvents on DrMemory.
BUG=webrtc:5312
R=terelius@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10894}
2015-12-04 13:19:19 +00:00
66f7f4ea53 Roll chromium_revision d3aa9b1..626eecf (362950:363027)
Change log: d3aa9b1..626eecf
Full diff: d3aa9b1..626eecf

Changed dependencies:
* src/tools/swarming_client: df99a00..9cdd761
DEPS diff: d3aa9b1..626eecf/DEPS

No update to Clang.

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

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

Cr-Commit-Position: refs/heads/master@{#10893}
2015-12-04 11:50:34 +00:00
fd59523587 Add webrtc/base to deprecated APIs.
webrtc/base is used in several places downstream so we need
to be careful when updating it as well. Add it as deprecated
to disencourage new projects starting to depend on it.

BUG=webrtc:5095
NOTRY=True

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

Cr-Commit-Position: refs/heads/master@{#10892}
2015-12-04 10:44:16 +00:00
bc32ab458b Remove 'video_engine_core_unittests' binary.
Merges tests into 'video_engine_tests' to reduce the number of test
targets.

BUG=webrtc:1695
R=kjellander@webrtc.org, phoglund@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10891}
2015-12-04 09:59:02 +00:00
ff24c04c73 Add tests for vp9 (non-flexible mode) using different spatial and temporal configurations.
Specify kf_min_dist to get correct key frame interval in svc mode.

Also set QP-max/min per temporal and spatial layer (was previously only allowed to be set per spatial layer).

BUG=chromium:500602
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10890}
2015-12-04 09:58:23 +00:00
1a5cf6eab1 Remove the unused NullMediaEngine (and NullVoiceEngine+NullVideoEngine).
BUG=
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10889}
2015-12-04 09:41:16 +00:00
f7c5776d42 Refactorings to send RTCP packets directly via the RtcpPacket callback, with some simplifications enabled by this. NACK now also sent via RtcpPacket.
BUG=webrtc:2450
R=asapersson@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10888}
2015-12-04 09:40:54 +00:00
9cf0c3d4dd Removes MAYBE_ from several test case names in JsepPeerConnectionP2PTestClient.
BUG=webrtc:5231
R=kjellander@webrtc.org, perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10887}
2015-12-04 09:37:10 +00:00
d048aa0e64 Make the audio codecs' GN targets self-sufficient
Also running "gn format" on the file.

R=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10886}
2015-12-03 16:47:35 +00:00
b4a1ae5299 Add separate send-side UMA stats for screenshare and video.
This CL duplicates all the histograms in SendStatisticsProxy. Might be
overkill, but we don't know which stats will be interesting and it makes
the change easier.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#10885}
2015-12-03 16:10:13 +00:00
29e30039b0 Bring back baremetal trybots to the default set.
These bots were removed with the reasoning that they were
slowing down the CQ. However the Android bots are still our
bottleneck, so it makes sense to run them by default instead.

Update the autoroll script to not specify them as EXTRA_TRYBOTS.

R=phoglund@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10884}
2015-12-03 14:04:58 +00:00
5385554744 Roll chromium_revision 7461ceb..d3aa9b1 (362933:362950)
Change log: 7461ceb..d3aa9b1
Full diff: 7461ceb..d3aa9b1

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/1492043003

Cr-Commit-Position: refs/heads/master@{#10883}
2015-12-03 12:10:49 +00:00
a4527c89e7 Add comments about the Audio parts of the public Call API being WIP.
BUG=webrtc:4690
R=kjellander@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10882}
2015-12-03 12:06:31 +00:00
74a5ffbbd0 Roll chromium_revision f068d2f..7461ceb (362762:362933)
Change log: f068d2f..7461ceb
Full diff: f068d2f..7461ceb

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/1495833002

Cr-Commit-Position: refs/heads/master@{#10881}
2015-12-03 09:48:21 +00:00
631e134551 Rewrote the thread synchronization parts of the test for the locking in APM in response to a locking problem when running in a single-threaded manner.
To try to resolve the problem I replaced the custom synchronization with rtc::Event which made the code cleaner, faster, and less error prone.

However, in the end the source of the test locks was that during TearDown one of the threads was stuck in a waiting loop.

I added a fix for the TearDown issue but still decided to keep the rtc:Event - based code change metioned above as that gave a more clean code.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#10880}
2015-12-03 09:15:37 +00:00
917ba527bc autoroll: Update Clang script path.
tools/clang/scripts/update.sh was deleted in
656a6433ab
so now the update.py is used on all platforms.
Update our autoroll script accordingly.

NOTRY=True

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

Cr-Commit-Position: refs/heads/master@{#10879}
2015-12-03 08:00:12 +00:00
53047c9739 Add PRESUBMIT check for native API changes.
BUG=webrtc:5095
TESTED=Modified local header file, ensured only one directory matches it's path (since 'webrtc' is in the list).
Also tested that the _VerifyNativeApiHeadersListIsValid works by adding a path that doesn't exist to the list and verified it produces an error.
NOTRY=True

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

Cr-Commit-Position: refs/heads/master@{#10878}
2015-12-03 07:56:22 +00:00
c3e0fe7c21 Make it extra safe when deleting a turn entry.
Check if it is in the list of turn entries before attempting to delete it.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#10877}
2015-12-03 00:43:33 +00:00
7635684130 Fix Mac ObjC PeerConnection API compilation.
BUG=webrtc:5287,webrtc:5216

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

Cr-Commit-Position: refs/heads/master@{#10876}
2015-12-03 00:42:41 +00:00
9462052f32 In some rare Android systems ConnectivityManager may be null.
Handle this case more gracefully.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#10875}
2015-12-02 22:33:26 +00:00
a448607d0e Roll chromium_revision a45c85a..f068d2f (362609:362762)
Change log: a45c85a..f068d2f
Full diff: a45c85a..f068d2f

No dependencies changed.

TBR=pbos@webrtc.org
CQ_EXTRA_TRYBOTS=tryserver.webrtc:win_baremetal,mac_baremetal,linux_baremetal

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

Cr-Commit-Position: refs/heads/master@{#10874}
2015-12-02 22:11:08 +00:00
3c28d0de95 Disable PeerConnectionEndToEndTest.Call on Mac.
Until the gtest-parallel problem is resolved. This is
needed for CQ stability.

BUG=webrtc:5231
TBR=perkj@webrtc.org,deadbeef@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10873}
2015-12-02 21:53:39 +00:00