28 Commits

Author SHA1 Message Date
kjellander
442e6ee76a Workaround java.gypi inclusion error in Chromium builds.
In order to switch Chromium to use WebRTC targets instead of
duplicated code listings in src/third_party/libjingle it must
be possible for Chromium to process webrtc/api/api.gyp. This is
currently not possible since it includes build/java.gypi, of which
the path is different in a Chromium checkout. It's not possible
to resolve this in another way since 'includes' processing takes
place early in the GYP cycle, before it's possible to use variables.
They're also processed ignoring conditional statements, resulting
in an error when api.gyp is processed.

BUG=webrtc:4256
TBR=perkj@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2080563002
Cr-Commit-Position: refs/heads/master@{#13208}
2016-06-20 08:34:11 +00:00
kjellander
fd5b4e9435 GN: Add peerconnection_unittests
BUG=webrtc:5949
TESTED=Built and ran the tests on Mac.
NOTRY=True

Review-Url: https://codereview.webrtc.org/2054413002
Cr-Commit-Position: refs/heads/master@{#13116}
2016-06-13 19:08:38 +00:00
Henrik Boström
01cdab1922 Remove DtlsIdentityStoreImpl and RTCCertificateGeneratorStoreWrapper.
The DtlsIdentityStoreInterface has been replaced by
RTCCertificateGenerator. Due to previous CLs, neither the
DtlsIdentityStoreImpl or RTCCertificateGeneratorStoreWrapper are used.

DtlsIdentityStoreInterface is still implemented by
PeerConnectionIdentityStore in Chromium and is not removed, but it will
be soon.

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

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

Cr-Commit-Position: refs/heads/master@{#13004}
2016-06-02 08:18:27 +00:00
kjellander
98bba39816 Remove metrics_default from rtc_media dependencies.
By not providing the default implementation of the metrics API
it becomes possible for users of rtc_media to choose which
implementation to use. The dependency is moved into each test
target that uses it instead.

NOTRY=True
NOPRESUBMIT=True

Review-Url: https://codereview.webrtc.org/2026223002
Cr-Commit-Position: refs/heads/master@{#12991}
2016-06-01 12:28:57 +00:00
Henrik Boström
d79599d74a Turning FakeDtlsIdentityStore into FakeRTCCertificateGenerator.
This is one less DtlsIdentityStoreInterface implementation, and one step closer
to removing this interface in favor of RTCCertificateGeneratorInterface.

This also removes PeerConnectionInterface::CreatePeerConnectionWithStore which
is no longer needed.

BUG=webrtc:5707, webrtc:5708
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12990}
2016-06-01 11:59:01 +00:00
kjellander
208d19845d Rename APK tests workaround to make it more generic.
We plan to add junit tests running with Robolectric
so naming these files "apk" is slightly confusing.

NOTRY=True

Review-Url: https://codereview.webrtc.org/2020213002
Cr-Commit-Position: refs/heads/master@{#12971}
2016-05-31 11:01:47 +00:00
Henrik Kjellander
3fe372dbee Fix all -Wnon-virtual-dtor warnings.
This is needed to get the GN build going for several parts
of the code tree.

BUG=webrtc:3307
NOTRY=True
R=henrika@webrtc.org, nisse@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12693}
2016-05-12 06:11:09 +00:00
mikescarlett
9bc517f123 Add QuicDataChannel and QuicDataTransport classes
QuicDataChannel implements DataChannelInterface. It
replaces SCTP data channels by using a QuicTransportChannel
to create a ReliableQuicStream for each message.
QuicDataChannel only implements unordered, reliable delivery
for the initial implementation and does not send a hello message.

QuicDataTransport is a helper class that dispatches each incoming
ReliableQuicStream to a QuicDataChannel when the remote
peer receives a message by parsing the data channel id and message id
from the message header. It is also responsible for encoding the header
before QuicDataChannel sends the message.

Split from CL https://codereview.chromium.org/1844803002/.

BUG=

Review-Url: https://codereview.webrtc.org/1886623002
Cr-Commit-Position: refs/heads/master@{#12574}
2016-04-30 01:31:03 +00:00
tkchin
9eeb6240c9 Build dynamic iOS SDK.
- Places most ObjC code into webrtc/sdk/objc instead.
- New gyp targets to build, strip and export symbols for dylib.
- Removes old script used to generate dylib.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#12524}
2016-04-27 08:54:27 +00:00
kjellander
e532aec252 Add isolate files for Android tests
BUG=chromium:583318
TESTED=Passing runs with:
GYP_DEFINES='test_isolation_mode=prepare OS=android' webrtc/build/gyp_webrtc
ninja -C out/Release
NOTRY=True
NOPRESUBMIT=True

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

Cr-Commit-Position: refs/heads/master@{#12397}
2016-04-18 03:08:28 +00:00
nisse
25ed5800b9 Enable proxy_unittest (thread proxy tests).
BUG=webrtc:5426

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

Cr-Commit-Position: refs/heads/master@{#12314}
2016-04-11 13:01:32 +00:00
agrieve
babf8ee78c Add test runner scripts for instrumentation tests
BUG=599919
NOTRY=True
TBR=perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12294}
2016-04-08 13:54:32 +00:00
kjellander
00984ff688 Reland of move {media,p2p,pc,xmllite,xmpp}_tests.gypi files. (patchset #1 id:1 of https://codereview.webrtc.org/1846693002/ )
The re-land moves the isolate build targets for media.gyp
and pc.gyp into the include_tests==1 condition.
This has been tested in a Chromium checkout and no longer
causes the error that was seen after landing
https://codereview.webrtc.org/1839763004/

Original issue's description:
> Revert of Remove {media,p2p,pc,xmllite,xmpp}_tests.gypi files. (patchset #1 id:1 of https://codereview.webrtc.org/1839763004/ )
>
> Reason for revert:
> Breaks Chromium: https://build.chromium.org/p/chromium.webrtc.fyi/builders/Mac%20Builder/builds/11313/steps/gclient%20runhooks/logs/stdio:
>
> Updating projects from gyp files...
> Using overrides found in /Users/chrome-bot/.gyp/include.gypi
> Traceback (most recent call last):
>   File "src/build/gyp_chromium", line 12, in <module>
>     execfile(__file__ + '.py')
>   File "src/build/gyp_chromium.py", line 341, in <module>
>     sys.exit(main())
>   File "src/build/gyp_chromium.py", line 328, in main
>     gyp_rc = gyp.main(args)
>   File "/b/build/slave/Mac_Builder/build/src/tools/gyp/pylib/gyp/__init__.py", line 538, in main
>     return gyp_main(args)
>   File "/b/build/slave/Mac_Builder/build/src/tools/gyp/pylib/gyp/__init__.py", line 514, in gyp_main
>     options.duplicate_basename_check)
>   File "/b/build/slave/Mac_Builder/build/src/tools/gyp/pylib/gyp/__init__.py", line 130, in Load
>     params['parallel'], params['root_targets'])
>   File "/b/build/slave/Mac_Builder/build/src/tools/gyp/pylib/gyp/input.py", line 2800, in Load
>     RemoveLinkDependenciesFromNoneTargets(targets)
>   File "/b/build/slave/Mac_Builder/build/src/tools/gyp/pylib/gyp/input.py", line 1510, in RemoveLinkDependenciesFromNoneTargets
>     if targets[t].get('variables', {}).get('link_dependency', 0):
> KeyError: '/b/build/slave/Mac_Builder/build/src/third_party/webrtc/media/media.gyp:rtc_media_unittests#target'
> Error: Command '/usr/bin/python src/build/gyp_chromium' returned non-zero exit status 1 in /b/build/slave/Mac_Builder/build
> Hook '/usr/bin/python src/build/gyp_chromium' took 20.29 secs
>
> Original issue's description:
> > Remove {media,p2p,pc,xmllite,xmpp}_tests.gypi files.
> >
> > These contributes to circular dependency problems in WebRTC
> > since one have to depend on webrtc.gyp in order to depend on
> > a target in them.
> >
> > This reduces the number of cyclic dependencies in WebRTC from 21
> > to 16.
> >
> > BUG=webrtc:4243
> > NOTRY=True
> > NOPRESUBMIT=True
> >
> > Committed: https://crrev.com/231b69f28dd22f4e2d98e5048f8eaae7b20915e6
> > Cr-Commit-Position: refs/heads/master@{#12166}
>
> TBR=pthatcher@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:4243
>
> Committed: https://crrev.com/72644d2cf6b14bbc4a107f79158eaa225f3196b5
> Cr-Commit-Position: refs/heads/master@{#12167}

TBR=pthatcher@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4243

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

Cr-Commit-Position: refs/heads/master@{#12180}
2016-03-31 14:23:52 +00:00
kjellander
72644d2cf6 Revert of Remove {media,p2p,pc,xmllite,xmpp}_tests.gypi files. (patchset #1 id:1 of https://codereview.webrtc.org/1839763004/ )
Reason for revert:
Breaks Chromium: https://build.chromium.org/p/chromium.webrtc.fyi/builders/Mac%20Builder/builds/11313/steps/gclient%20runhooks/logs/stdio:

Updating projects from gyp files...
Using overrides found in /Users/chrome-bot/.gyp/include.gypi
Traceback (most recent call last):
  File "src/build/gyp_chromium", line 12, in <module>
    execfile(__file__ + '.py')
  File "src/build/gyp_chromium.py", line 341, in <module>
    sys.exit(main())
  File "src/build/gyp_chromium.py", line 328, in main
    gyp_rc = gyp.main(args)
  File "/b/build/slave/Mac_Builder/build/src/tools/gyp/pylib/gyp/__init__.py", line 538, in main
    return gyp_main(args)
  File "/b/build/slave/Mac_Builder/build/src/tools/gyp/pylib/gyp/__init__.py", line 514, in gyp_main
    options.duplicate_basename_check)
  File "/b/build/slave/Mac_Builder/build/src/tools/gyp/pylib/gyp/__init__.py", line 130, in Load
    params['parallel'], params['root_targets'])
  File "/b/build/slave/Mac_Builder/build/src/tools/gyp/pylib/gyp/input.py", line 2800, in Load
    RemoveLinkDependenciesFromNoneTargets(targets)
  File "/b/build/slave/Mac_Builder/build/src/tools/gyp/pylib/gyp/input.py", line 1510, in RemoveLinkDependenciesFromNoneTargets
    if targets[t].get('variables', {}).get('link_dependency', 0):
KeyError: '/b/build/slave/Mac_Builder/build/src/third_party/webrtc/media/media.gyp:rtc_media_unittests#target'
Error: Command '/usr/bin/python src/build/gyp_chromium' returned non-zero exit status 1 in /b/build/slave/Mac_Builder/build
Hook '/usr/bin/python src/build/gyp_chromium' took 20.29 secs

Original issue's description:
> Remove {media,p2p,pc,xmllite,xmpp}_tests.gypi files.
>
> These contributes to circular dependency problems in WebRTC
> since one have to depend on webrtc.gyp in order to depend on
> a target in them.
>
> This reduces the number of cyclic dependencies in WebRTC from 21
> to 16.
>
> BUG=webrtc:4243
> NOTRY=True
> NOPRESUBMIT=True
>
> Committed: https://crrev.com/231b69f28dd22f4e2d98e5048f8eaae7b20915e6
> Cr-Commit-Position: refs/heads/master@{#12166}

TBR=pthatcher@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4243

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

Cr-Commit-Position: refs/heads/master@{#12167}
2016-03-30 18:54:14 +00:00
kjellander
231b69f28d Remove {media,p2p,pc,xmllite,xmpp}_tests.gypi files.
These contributes to circular dependency problems in WebRTC
since one have to depend on webrtc.gyp in order to depend on
a target in them.

This reduces the number of cyclic dependencies in WebRTC from 21
to 16.

BUG=webrtc:4243
NOTRY=True
NOPRESUBMIT=True

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

Cr-Commit-Position: refs/heads/master@{#12166}
2016-03-30 18:40:38 +00:00
perkj
f0dcfe2c81 Change VideoRtpReceiver to create remote VideoTrack and VideoTrackSource.
This enabled us to be able to remove VideoTrack::GetSink and RemoteVideoCapturer.

Since video frames from the decoder is delivered on a media engine internal thread, VideoBroadCaster must be made thread safe.

BUG=webrtc:5426
R=deadbeef@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11944}
2016-03-10 17:32:08 +00:00
perkj
a3ede6c510 Renamed VideoSourceInterface to VideoTrackSourceInterface.
Moved VideoSourceInterface to MediaStreamInterface.h
Renamed VideoSourceTest to VideoCapturerTrackSourceTest
Renamed VideoSource to VideoCaptureTrackSource and cl lint and cl format.
BUG=webrtc:5426
TBR=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11893}
2016-03-08 00:28:03 +00:00
hta
a2a49d9d9c This CL provides interfaces that do not use constraints for
all interfaces that formerly took constraints parameters
in name=value form.

This is in preparation for making Chrome only use these
explicit interfaces.

BUG=webrtc:4906

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

Cr-Commit-Position: refs/heads/master@{#11870}
2016-03-04 10:51:44 +00:00
hjon
6b03995bef Compile rtc_api_objc on Mac.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#11771}
2016-02-25 20:33:04 +00:00
kjellander@webrtc.org
9b8df25c73 Move talk/session/media -> webrtc/pc
The libjingle_p2p target is renamed to rtc_pc.
The libjingle_p2p_unittest test will be renamed in a
separate follow-up CL, to make it possible to run all
trybots successfully for this CL.

BUG=webrtc:5419
R=deadbeef@webrtc.org, pthatcher@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11592}
2016-02-12 05:48:10 +00:00
Henrik Kjellander
15583c19d7 Move talk/app/webrtc to webrtc/api
The previously disabled warnings that were inherited from
talk/build/common.gypi are now replaced by target-specific disabling
of only the failing warnings. Additional disabling was needed since the stricter
compilation warnings that applies to code in webrtc/.

License headers will be updated in a follow-up CL.

Other modifications:
* Updated the header guards.
* Sorted the includes using chromium/src/tools/sort-headers.py
  except for these files:
  talk/app/webrtc/peerconnectionendtoend_unittest.cc
  talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
  talk/app/webrtc/java/jni/androidmediaencoder_jni.cc
  webrtc/media/devices/win32devicemanager.cc

The HAVE_SCTP define was added for the peerconnection_unittests target
in api_tests.gyp.

I also checked that none of
SRTP_RELATIVE_PATH
HAVE_SRTP
HAVE_WEBRTC_VIDEO
HAVE_WEBRTC_VOICE
were used by the talk/app/webrtc code.

For Chromium, the following changes will need to be applied to the roll CL that updates the
DEPS for WebRTC and libjingle:
https://codereview.chromium.org/1615433002

BUG=webrtc:5418
NOPRESUBMIT=True
R=deadbeef@webrtc.org, pthatcher@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11545}
2016-02-10 09:53:26 +00:00
tkchin
ab8f82ffe0 Make ECDSA default for RTCPeerConnection
BUG=

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

Cr-Commit-Position: refs/heads/master@{#11409}
2016-01-28 01:50:15 +00:00
hjon
da2183c86f Update API for Objective-C RTCDataChannelConfiguration.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#11405}
2016-01-27 21:42:35 +00:00
hjon
6d49a8ed17 Update API for Objective-C RTCConfiguration.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#11386}
2016-01-26 21:06:48 +00:00
hjon
6f5ca080b8 Update API for Objective-C RTCMediaConstraints.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#11172}
2016-01-07 17:29:37 +00:00
Jon Hjelle
67e83d6539 Update API for Objective-C RTCSessionDescription.
BUG=
R=tkchin@webrtc.org

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

Patch from Jon Hjelle <hjon@andyet.net>.

Cr-Commit-Position: refs/heads/master@{#11157}
2016-01-06 20:05:32 +00:00
Jon Hjelle
29d5e570b5 Update API for Objective-C RTCIceCandidate.
BUG=
R=tkchin@webrtc.org

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

Patch from Jon Hjelle <hjon@andyet.net>.

Cr-Commit-Position: refs/heads/master@{#11156}
2016-01-06 19:49:18 +00:00
hjon
aa32c3e537 Update API for Objective-C RTCIceServer
BUG=

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

Cr-Commit-Position: refs/heads/master@{#11000}
2015-12-14 03:58:19 +00:00