88 Commits

Author SHA1 Message Date
Taylor Brandstetter
2d5491783a Reland of: Use VoiceChannel/VideoChannel directly from RtpSender/RtpReceiver.
This eliminates the need for the extra layer of indirection provided by
mediastreamprovider.h. It will thus make it easier to implement new
functionality in RtpSender/RtpReceiver.

It also brings us one step closer to the end goal of combining "senders"
and "send streams". Currently the sender still needs to go through the
BaseChannel and MediaChannel, using an SSRC as a key.

R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13287}
2016-06-24 21:18:29 +00:00
deadbeef
1a7162dbc9 Revert of Use VoiceChannel/VideoChannel directly from RtpSender/RtpReceiver. (patchset #3 id:40001 of https://codereview.webrtc.org/2046173002/ )
Reason for revert:
Broke peerconnection_unittest somehow, due to introduction of thread check. Will fix and reland.

Original issue's description:
> Use VoiceChannel/VideoChannel directly from RtpSender/RtpReceiver.
>
> This eliminates the need for the extra layer of indirection provided by
> mediastreamprovider.h. It will thus make it easier to implement new
> functionality in RtpSender/RtpReceiver.
>
> It also brings us one step closer to the end goal of combining "senders"
> and "send streams". Currently the sender still needs to go through the
> BaseChannel and MediaChannel, using an SSRC as a key.
>
> R=pthatcher@webrtc.org
>
> Committed: https://crrev.com/bc5831999d3354509d75357b659b4bb8e39f8a6c
> Cr-Commit-Position: refs/heads/master@{#13285}

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

Review-Url: https://codereview.webrtc.org/2099843003
Cr-Commit-Position: refs/heads/master@{#13286}
2016-06-24 21:13:14 +00:00
Taylor Brandstetter
bc5831999d Use VoiceChannel/VideoChannel directly from RtpSender/RtpReceiver.
This eliminates the need for the extra layer of indirection provided by
mediastreamprovider.h. It will thus make it easier to implement new
functionality in RtpSender/RtpReceiver.

It also brings us one step closer to the end goal of combining "senders"
and "send streams". Currently the sender still needs to go through the
BaseChannel and MediaChannel, using an SSRC as a key.

R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13285}
2016-06-24 21:06:42 +00:00
kjellander
69b34625c1 Exclude libjingle_peerconnection_{jni,so} targets from Chromium builds.
In GN, the libjingle_peerconnection_jni target becomes a part of
'all' implicitly, which surfaced the incompability between it
and the Chromium logging implementation. In the GYP build, the
target is not present due to api.gyp not being depended upon yet.

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

Review-Url: https://codereview.webrtc.org/2082573004
Cr-Commit-Position: refs/heads/master@{#13231}
2016-06-21 08:05:23 +00:00
kjellander
3e33bfeb6d Fix some sign-compare warnings in webrtc/api.
The disabling of the warnings doesn't seem to work when Chromium
is using our targets (https://codereview.chromium.org/2022833002)
so better fix them.

BUG=webrtc:4256,webrtc:3307
NOTRY=True

Review-Url: https://codereview.webrtc.org/2074423002
Cr-Commit-Position: refs/heads/master@{#13217}
2016-06-20 14:04:19 +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
hbos
f9da44dbcf RTCPeerConnectionInterface.mm createNativeConfiguration and other clean-up.
This CL turns nativeConfiguration into createNativeConfiguration returning a
pointer or nil on failure. This method's certificate generation is updated to
use the new API and reports failure (nil) if unsuccessful instead of relying on
the default certificate. We also remove the implicit assumption (now incorrect)
that RSA is the default. This is the same type of changes as was done in
https://codereview.webrtc.org/1965313002 but this file
(RTCPeerConnectionInterface.mm) was forgotten.

With no more usages of kIdentityName it and dtlsidentitystore.cc is removed.
Also removes unnecessary #include in peerconnectioninterface.h that was still
remnant due to an indirect include of kIdentityName.

RTCConfiguration+Private.h now lists method nativeEncryptionKeyTypeForKeyType
which was added in the above mentioned prior CL.

BUG=webrtc:5707, webrtc:5708

Review-Url: https://codereview.webrtc.org/2035473004
Cr-Commit-Position: refs/heads/master@{#13089}
2016-06-09 10:18:35 +00:00
katrielc
14897d0b7d Add missing dependencies on audio, video and call to the new GN files.
This caused linker failures when depending on the new `api` target.

TBR=henrika@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2029323006
Cr-Commit-Position: refs/heads/master@{#13042}
2016-06-03 20:14:37 +00:00
kjellander
c76dc95daf Reland of GN: Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc}
The only thing that differs from the previous attempt in
https://codereview.webrtc.org/1979933002/ is that none of
the new targets are not hooked up to the webrtc target in
webrtc/BUILD.gn, which should make it not break the
chromium.webrtc.fyi bots.

Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc} in
preparation for removing src/third_party/libjingle in Chromium.

Changes between previous attempt and the one before that
(https://codereview.webrtc.org/1973313002) are:
* Added libstunprober target
* Adjusted warnings for Chromium's clang plugins
* webrtc/pc/externalhmac.{h,cc} added for Chromium builds.

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

Review-Url: https://codereview.webrtc.org/2037983002
Cr-Commit-Position: refs/heads/master@{#13030}
2016-06-03 10:09:40 +00:00
kjellander
4d167e5ccd Revert of GN: Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc} (patchset #5 id:80001 of https://codereview.webrtc.org/1979933002/ )
Reason for revert:
Too many errors to address showed up when trying to land this with Chromium changes in https://codereview.chromium.org/2022833002/.
Will address them separately before relanding.

Original issue's description:
> Reland of GN: Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc}
>
> Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc} in
> preparation for removing src/third_party/libjingle in Chromium.
>
> Changes from previous attempt:
> * Added libstunprober target
> * Adjusted warnings for Chromium's clang plugins
> * webrtc/pc/externalhmac.{h,cc} added for Chromium builds.
>
> As soon this has landed a roll including the changes in
> https://codereview.chromium.org/2022833002/ is needed to make
> Chromium build cleanly.
>
> BUG=webrtc:4256
> NOTRY=True
> NOPRESUBMIT=True
>
> Committed: https://crrev.com/164e978f981c7810c4260c4184f41e26bae90230
> Cr-Commit-Position: refs/heads/master@{#12983}

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

Review-Url: https://codereview.webrtc.org/2023233002
Cr-Commit-Position: refs/heads/master@{#12988}
2016-06-01 11:45:13 +00:00
kjellander
164e978f98 Reland of GN: Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc}
Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc} in
preparation for removing src/third_party/libjingle in Chromium.

Changes from previous attempt:
* Added libstunprober target
* Adjusted warnings for Chromium's clang plugins
* webrtc/pc/externalhmac.{h,cc} added for Chromium builds.

As soon this has landed a roll including the changes in
https://codereview.chromium.org/2022833002/ is needed to make
Chromium build cleanly.

BUG=webrtc:4256
NOTRY=True
NOPRESUBMIT=True

Review-Url: https://codereview.webrtc.org/1979933002
Cr-Commit-Position: refs/heads/master@{#12983}
2016-06-01 09:17:56 +00:00
kjellander
fb1dd43ac1 Revert of GN: Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc} (patchset #2 id:20001 of https://codereview.webrtc.org/1973313002/ )
Reason for revert:
Breaks GN in Chromium (again), even though I tested this configuration: https://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/6000/steps/generate_build_files/logs/stdio

Original issue's description:
> Reland of GN: Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc}
>
> Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc} in
> preparation for removing src/third_party/libjingle in Chromium.
>
> BUG=webrtc:4256
> NOTRY=True
> TBR=perkj@webrtc.org
>
> Committed: https://crrev.com/c8d848b1049d8b9e8e33e023d13bec1180dd4926
> Cr-Commit-Position: refs/heads/master@{#12731}

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

Review-Url: https://codereview.webrtc.org/1975223002
Cr-Commit-Position: refs/heads/master@{#12733}
2016-05-13 17:28:59 +00:00
kjellander
c8d848b104 Reland of GN: Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc}
Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc} in
preparation for removing src/third_party/libjingle in Chromium.

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

Review-Url: https://codereview.webrtc.org/1973313002
Cr-Commit-Position: refs/heads/master@{#12731}
2016-05-13 17:24:55 +00:00
kjellander
8744cf67a7 Revert of GN: Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc} (patchset #2 id:140001 of https://codereview.webrtc.org/1929633002/ )
Reason for revert:
Breaks GN in Chromium.

Original issue's description:
> GN: Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc}
>
> Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc} in
> preparation for removing src/third_party/libjingle in Chromium.
>
> BUG=webrtc:4256
> NOTRY=True
>
> Committed: https://crrev.com/4d02a358b4205bd0f7b5f794b6fb8c157e075b9e
> Cr-Commit-Position: refs/heads/master@{#12724}

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

Review-Url: https://codereview.webrtc.org/1977853002
Cr-Commit-Position: refs/heads/master@{#12726}
2016-05-13 13:26:46 +00:00
kjellander
4d02a358b4 GN: Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc}
Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc} in
preparation for removing src/third_party/libjingle in Chromium.

BUG=webrtc:4256
NOTRY=True

Review-Url: https://codereview.webrtc.org/1929633002
Cr-Commit-Position: refs/heads/master@{#12724}
2016-05-13 12:52:20 +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
Taylor Brandstetter
0cd086b70e Adding codecs to the RtpParameters returned by an RtpSender.
Contains every field except for sdpFmtpLine.
Setting a reordered list of codecs is not yet supported.

R=glaznev@webrtc.org, pthatcher@webrtc.org, skvlad@webrtc.org, tkchin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12453}
2016-04-20 23:23:22 +00:00
skvlad
79b4b8720d Objective C API to read and set RtpParameters
This change adds the Objective C API functions to get and set RtpSender's
RtpParameters, which allows setting bitrate limits for audio and video and
turning off RtpSenders to pre-initialize the encoder.

This CL adds only the smallest set of methods required to support bitrate
limiting - there is no way to create an RtpSender, for example, or to set
its track. The only supported functionality is this:
 	RTCPeerConnection.senders - a read-only property returning the array
	  of all RTCRtpSenders for the connection.
        RTCRtpSender.parameters - a read-only property returning the current
    	  parameters
	RTCRtpSender.setParameters: - a method to change the parameters.
	RTCRtpSender.track - a read-only property returning the
	  RTCMediaStreamTrack corresponding to the sender. It is necessary
	  to be able to identify RTCRtpSenders for video and audio. The
	  track object is of the base RTCMediaStreamTrack type, not of the
          specific subclass for audio and video - just like it is in the
	  Java API.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#12297}
2016-04-09 00:29:02 +00:00
hjon
f396f6085f Update API for Objective-C RTCPeerConnection.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#11590}
2016-02-12 00:19:10 +00:00
kjellander
f6b5509229 Fix GYP and GN references that are invalid in Chromium builds.
There were a couple of GN and GYP references that were incorrect in Chromium builds:
- GN references between WebRTC targets must be using relative paths, not absolute.
- GYP references between WebRTC targets must be using the <(webrtc_root)v variable
  in order to be expanded to the correct path in a Chromium build.

NOTRY=True
TBR=hjon@webrtc.org, hbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11521}
2016-02-08 07:04:33 +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
e373dc20c4 Update API for Objective-C RTCDataChannel.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#11362}
2016-01-22 22:04:33 +00:00
Jon Hjelle
2bf9a5f11b Update API for Objective-C RTCMediaStream.
BUG=
R=tkchin@webrtc.org

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

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

Cr-Commit-Position: refs/heads/master@{#11351}
2016-01-22 00:14:23 +00:00
Jon Hjelle
ca91e38a3a Update API for Objective-C RTCAudioTrack and RTCVideoTrack.
BUG=
R=tkchin@webrtc.org

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

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

Cr-Commit-Position: refs/heads/master@{#11350}
2016-01-21 23:36:54 +00:00
Jon Hjelle
7ac8babbc6 Move RTCAVFoundationCapturer to webrtc/api/objc.
BUG=
R=tkchin@webrtc.org

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

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

Cr-Commit-Position: refs/heads/master@{#11348}
2016-01-21 19:45:04 +00:00
Jon Hjelle
891a446a92 Update/move RTCVideoRendererAdapter to webrtc/api/objc.
BUG=
R=tkchin@webrtc.org

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

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

Cr-Commit-Position: refs/heads/master@{#11347}
2016-01-21 19:42:10 +00:00
Jon Hjelle
da99da81c9 Update API for Objective-C RTCPeerConnectionFactory.
BUG=
R=jiayl@webrtc.org, tkchin@webrtc.org

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

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

Cr-Commit-Position: refs/heads/master@{#11326}
2016-01-20 21:40:35 +00:00
Jon Hjelle
065aacc249 Move RTCVideoSource to webrtc/api/objc.
BUG=
R=tkchin@webrtc.org

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

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

Cr-Commit-Position: refs/heads/master@{#11325}
2016-01-20 21:25:53 +00:00
Jon Hjelle
f6c318ebae Update API for Objective-C RTCMediaSource.
BUG=
R=tkchin@webrtc.org

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

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

Cr-Commit-Position: refs/heads/master@{#11210}
2016-01-11 22:39:05 +00:00
Jon Hjelle
e799badacc Move Objective-C video renderers to webrtc/api/objc.
BUG=
R=tkchin@webrtc.org

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

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

Cr-Commit-Position: refs/heads/master@{#11209}
2016-01-11 21:47:17 +00:00
Jon Hjelle
81028796bc Update API for Objective-C RTCMediaStreamTrack.
R=tkchin@webrtc.org

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

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

Cr-Commit-Position: refs/heads/master@{#11208}
2016-01-11 21:16:19 +00:00
Jon Hjelle
a2c353f815 Update API for Objective-C RTCStats.
BUG=
R=tkchin@webrtc.org

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

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

Cr-Commit-Position: refs/heads/master@{#11207}
2016-01-11 21:11:45 +00:00
Jon Hjelle
7823495698 Move RTCI420Frame to webrtc/api/objc/RTCVideoFrame with minor style changes.
BUG=
R=tkchin@webrtc.org

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

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

Cr-Commit-Position: refs/heads/master@{#11203}
2016-01-11 17:47:14 +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