Commit Graph

10584 Commits

Author SHA1 Message Date
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
1d63dd0eaa - Remove cricket::VoiceChannel::PressDtmf(); AFAICT unused.
- Remove the DF_PLAY/DF_SEND flags, only allow sending.

BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#10872}
2015-12-02 20:35:14 +00:00
ee524f7c02 Adding Java binding for CreateSender.
Review URL: https://codereview.webrtc.org/1486243002

Cr-Commit-Position: refs/heads/master@{#10871}
2015-12-02 19:27:47 +00:00
de0fc58784 Adding two more debug macros for logging scalar values to file.
The two added macros simplifies the logging code when a value which is not stored in a variable should be logged.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#10870}
2015-12-02 16:20:56 +00:00
7e4e01a441 Add header extension filtering for WebRtcVoiceEngine/MediaChannel.
Rework filtering functionality to be reused for both Audio+Video.

BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#10869}
2015-12-02 16:05:07 +00:00
2515af28e9 Removing some unnecessary string manipulation code from VoEBase::GetVersion().
BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#10868}
2015-12-02 14:19:44 +00:00
d20d247166 Fix VideoCaptureAndroid, drop frame when switching camera using textures.
Dropping the first frame intended to fix a problem when switching cameras on N6 when we are capturing to textures but due to a silly bug fixed in this cl the frame was not dropped...

BUG=webrtc:5262
TBR=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10867}
2015-12-02 12:25:32 +00:00
226a602ad6 Fix problem when drawing to the Android Media encoder surface.
Problem seen on N6.
BUG=webrtc:5147

TBR=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10866}
2015-12-02 10:24:46 +00:00
c729032b1b Resolves issue with multiple calls to audio unit initialization
BUG=webrtc:5166
R=tkchin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10865}
2015-12-02 09:46:57 +00:00
40455d6f37 This cl change so that we use EGL14 where it is supported and EGL10 otherwise. The idea is to make this agnostic to an application and for WebRTC except in EGLBase.
The reason we want to use EGL14 is to be able to use EGLExt.eglPresentationTimeANDROID when writing textures to MediaEncoder.

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

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

Cr-Commit-Position: refs/heads/master@{#10864}
2015-12-02 09:07:22 +00:00
e3384990ea Revert of Add tests for vp9 (non-flexible mode) using different spatial and temporal configurations. (patchset #18 id:580001 of https://codereview.webrtc.org/1437463002/ )
Reason for revert:
Breaks bots

Original issue's description:
> 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.
>
> BUG=chromium:500602
>
> Committed: https://crrev.com/43b48066a7d75bb051eea1e6f451147339cc98a6
> Cr-Commit-Position: refs/heads/master@{#10862}

TBR=pbos@webrtc.org,stefan@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:500602

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

Cr-Commit-Position: refs/heads/master@{#10863}
2015-12-02 09:05:20 +00:00
43b48066a7 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.

BUG=chromium:500602

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

Cr-Commit-Position: refs/heads/master@{#10862}
2015-12-02 07:52:19 +00:00
06104b8b2f Roll chromium_revision eeff895..a45c85a (362465:362609)
Change log: eeff895..a45c85a
Full diff: eeff895..a45c85a

Changed dependencies:
* src/third_party/libvpx_new/source/libvpx: 204cde5..2383154
* src/third_party/openmax_dl: 6625be0..7a179b9
DEPS diff: eeff895..a45c85a/DEPS

No update to Clang.

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

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

Cr-Commit-Position: refs/heads/master@{#10861}
2015-12-02 04:04:43 +00:00
41b0798e11 Adding CreatePeerConnection method that uses new PC Initialize method.
This will let us transition to the new Initialize method in Chromium,
and then get rid of the old one.

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

Cr-Commit-Position: refs/heads/master@{#10860}
2015-12-01 23:10:17 +00:00
62a91ee1b1 Roll chromium_revision 35f35af..eeff895 (362385:362465)
Change log: 35f35af..eeff895
Full diff: 35f35af..eeff895

Changed dependencies:
* src/tools/gyp: f4d65e3..e2313c0
DEPS diff: 35f35af..eeff895/DEPS

No update to Clang.

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

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

Cr-Commit-Position: refs/heads/master@{#10859}
2015-12-01 21:42:44 +00:00