65 Commits

Author SHA1 Message Date
ehmaldonado
acf9f4785a GN Templates: Introduce rtc_shared_library
libjingle_peerconnection_so is not including common_config, which is
causing some differences is the defines.

We'd like to prevent that happening in the future.

NOTRY=True
BUG=webrtc:5949

Review-Url: https://codereview.webrtc.org/2325603002
Cr-Commit-Position: refs/heads/master@{#14127}
2016-09-08 11:26:42 +00:00
ehmaldonado
e9cc686293 GN Templates: Move common_inherited_config to the template.
Remove common_inherited_config from the targets and add it to the
template instead.

BUG=webrtc:6187
NOTRY=True

Review-Url: https://codereview.webrtc.org/2311843002
Cr-Commit-Position: refs/heads/master@{#14069}
2016-09-05 13:10:23 +00:00
ehmaldonado
7a2ce0b738 GN Templates: Move common_config to the template.
Remove common_config from the targets' config and add
it to the template instead.

BUG=webrtc:6187
NOTRY=True

Review-Url: https://codereview.webrtc.org/2300413002
Cr-Commit-Position: refs/heads/master@{#14063}
2016-09-05 08:35:48 +00:00
ehmaldonado
38a2132b02 GN: Introduce templates.
Defines the rtc_executable, rtc_source_set, rtc_test and
rtc_static_library templates.

These templates provide no functionality yet, but will enable common
configuration to be introduced, avoiding repetition in every target

Changes summary:
- Prepend rtc_ to test, source_set, executable and static_library targets
- Change "configs -= [" to "suppressed_configs += ["
- Include webrtc/build/webrtc.gni where it wasn't included yet
- Delete import("//testing/test.gni"), since rtc_test makes it unnecessary.

BUG=webrtc:6187
TBR=henrik.lundin@webrtc.org,tommi@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2301053002
Cr-Commit-Position: refs/heads/master@{#14043}
2016-09-02 11:10:41 +00:00
kjellander
a69d973267 Move webrtc/audio_*.h to webrtc/api/call
BUG=webrtc:5878
NOTRY=True

Review-Url: https://codereview.webrtc.org/2059703002
Cr-Commit-Position: refs/heads/master@{#13996}
2016-08-31 14:33:14 +00:00
sakal
9e4a3040ed Reland of move the old AndroidVideoCapturer stack code. (patchset #1 id:1 of https://codereview.webrtc.org/2291583002/ )
Reason for revert:
Downstream apps should now be fixed.

Original issue's description:
> Revert of Remove the old AndroidVideoCapturer stack code. (patchset #2 id:20001 of https://codereview.webrtc.org/2235893003/ )
>
> Reason for revert:
> Breaks downstream.
>
> Original issue's description:
> > Remove the old AndroidVideoCapturer stack code.
> >
> > This code is no longer needed. Apps should be using the new API introduced here: https://codereview.webrtc.org/2127893002/
> >
> > Committed: https://crrev.com/1b365a8db070f9cdcbf35ec871f758dcd909e51d
> > Cr-Commit-Position: refs/heads/master@{#13950}
>
> TBR=magjed@webrtc.org,glaznev@webrtc.org,kjellander@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://crrev.com/e39f251dacf66e50153bcda615f06b7c59e5856b
> Cr-Commit-Position: refs/heads/master@{#13958}

TBR=magjed@webrtc.org,glaznev@webrtc.org,kjellander@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.

Review-Url: https://codereview.webrtc.org/2298063003
Cr-Commit-Position: refs/heads/master@{#13988}
2016-08-31 09:53:54 +00:00
hbos
d565b73121 RTCStatsCollector and RTCPeerConnectionStats added.
This is the stats collector for the new stats types, RTCStats[1] and
RTCStatsReport[2]. It so far only produces RTCPeerConnectionStats[3] as
an example of how it would collect stats. Each RTCStats subclass will
get a corresponding RTCStatsCollector::ProduceFooStats().

Stats reports are cached and returned as const references (ref
counting). This allows stats to be inspected by multiple observers and
across multiple threads. No copies will have to be made when surfacing
this to Blink or other places.

The current implementation of ProducePeerConnectionStats() only look at
existing DataChannels. This might be incorret if data channels can be
removed? Will investigate in a follow-up, crbug.com/636818.

[1] https://www.w3.org/TR/2016/WD-webrtc-20160531/#idl-def-rtcstats
[2] https://www.w3.org/TR/2016/WD-webrtc-20160531/#rtcstatsreport-object
[3] https://w3c.github.io/webrtc-stats/archives/20160526/webrtc-stats.html#pcstats-dict*

BUG=chromium:627816, chromium:636818

Review-Url: https://codereview.webrtc.org/2242043002
Cr-Commit-Position: refs/heads/master@{#13979}
2016-08-30 21:04:40 +00:00
sakal
e39f251dac Revert of Remove the old AndroidVideoCapturer stack code. (patchset #2 id:20001 of https://codereview.webrtc.org/2235893003/ )
Reason for revert:
Breaks downstream.

Original issue's description:
> Remove the old AndroidVideoCapturer stack code.
>
> This code is no longer needed. Apps should be using the new API introduced here: https://codereview.webrtc.org/2127893002/
>
> Committed: https://crrev.com/1b365a8db070f9cdcbf35ec871f758dcd909e51d
> Cr-Commit-Position: refs/heads/master@{#13950}

TBR=magjed@webrtc.org,glaznev@webrtc.org,kjellander@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/2291583002
Cr-Commit-Position: refs/heads/master@{#13958}
2016-08-29 14:31:31 +00:00
sakal
1b365a8db0 Remove the old AndroidVideoCapturer stack code.
This code is no longer needed. Apps should be using the new API introduced here: https://codereview.webrtc.org/2127893002/

Review-Url: https://codereview.webrtc.org/2235893003
Cr-Commit-Position: refs/heads/master@{#13950}
2016-08-29 09:20:26 +00:00
ehmaldonado
d02fe4b53b GN: Fix windows clang errors. Attempt 2.
BUG=webrtc:6255
NOTRY=True

Review-Url: https://codereview.webrtc.org/2281513002
Cr-Commit-Position: refs/heads/master@{#13942}
2016-08-26 20:31:34 +00:00
hbos
615d3013de RTCStats and RTCStatsReport added (webrtc/stats).
The old and new getStats are very different. This CL proposes rewriting
the new getStats from scratch with a bottom-up approach, starting with
the fundamental stats classes. This will allow cleaner and more
efficient code that is more aligned with the spec.

RTCStats and subclasses are the equivalent to RTCStats and RTCStats-
-derived dictionaries from the specs[1][2]. The dictionary members are
public member variables of type RTCStatsMember<T>, where T is one of the
supported types. All members derive from RTCStatsMemberInterface and
iteration of members is possible with RTCStats::Members().
The members are not stored in a map for performance and readability.
Type checking is supported with static class variables, kType.

Only the supported member types T are specialized and may be
instantiated, and sequences are supported with std::vector<...>. Type
checking is again supported with static class variables, kType.

RTCStatsReport is the equivalent from the spec[3], and maps RTCStats::id
to RTCStats-objects. RTCStatsReport is reference counted. It and its
contained stats may be destroyed on any thread. When the
RTCStatsCollector is added in a follow-up CL, it will return const
references to the RTCStatsReports. This means copies don't have to be
made for multiple stats observers or when jumping threads. In fact, no
copies of any stats will have to be made in surfacing stats to Blink.

[1] https://www.w3.org/TR/2016/WD-webrtc-20160531/#rtcstats-dictionary
[2] https://w3c.github.io/webrtc-stats/archives/20160526/webrtc-stats.html
[3] https://www.w3.org/TR/2016/WD-webrtc-20160531/#rtcstatsreport-object

This adds the new folder webrtc/stats/, with target rtc_stats and binary
rtc_stats_unittests. Public api headers are placed in webrtc/api/ and
.cc files are placed in webrtc/stats/.

BUG=chromium:627816

Review-Url: https://codereview.webrtc.org/2241093002
Cr-Commit-Position: refs/heads/master@{#13879}
2016-08-24 08:33:19 +00:00
sakal
a53fa0a25b Fix AppRTC Android Demo GN build when is_component_build=true.
BUG=webrtc:6174
NOTRY=True

Review-Url: https://codereview.webrtc.org/2270003002
Cr-Commit-Position: refs/heads/master@{#13876}
2016-08-24 07:48:30 +00:00
kjellander
b37c45cadc GN: Add libjingle_peerconnection_java to peerconnection_unittests.
This dependency was found missing since it's defined in
https://cs.chromium.org/chromium/src/third_party/webrtc/build/android_tests.gyp?rcl=0&l=129
which causes many of the tests to crash with org.webrtc.AudioTrack class
not being found.

BUG=webrtc:5949
TBR=ehmaldonado@webrtc.org
NOTRY=True
TESTED=Passing local run of peerconnection_unittests on Android.

Review-Url: https://codereview.webrtc.org/2268973003
Cr-Commit-Position: refs/heads/master@{#13867}
2016-08-23 19:55:49 +00:00
sakal
86ccd7bfba Revert of Add field_trial_default dependency to libjingle_peerconnection (patchset #3 id:40001 of https://codereview.webrtc.org/2120673004/ )
Reason for revert:
Breaks chromium.

Original issue's description:
> Add field_trial_default dependency to libjingle_peerconnection
>
> This is needed for webrtc::field_trial::FindFullName in peerconnection.cc
>
> NOTRY=True
>
> Committed: https://crrev.com/a7a01df2aebe7108afad208ccd0341c2f0bc7b3b
> Cr-Commit-Position: refs/heads/master@{#13836}

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

Review-Url: https://codereview.webrtc.org/2263063002
Cr-Commit-Position: refs/heads/master@{#13837}
2016-08-22 07:26:11 +00:00
arlolra
a7a01df2ae Add field_trial_default dependency to libjingle_peerconnection
This is needed for webrtc::field_trial::FindFullName in peerconnection.cc

NOTRY=True

Review-Url: https://codereview.webrtc.org/2120673004
Cr-Commit-Position: refs/heads/master@{#13836}
2016-08-22 06:48:14 +00:00
hbos
b24b1ceb48 Moving mock classes around so that they may be reused in other unittests
New files, classes moved from statscollector_unittest.cc:
+webrtc/api/test/mock_peerconnection.h
 for MockPeerConnectionFactory and MockPeerConnection
+webrtc/api/test/mock_webrtcsession.h
 for MockWebRtcSession
+webrtc/media/base/test/mock_mediachannel.h
 for MockVideoMediaChannel and MockVoiceMediaChannel

The webrtc/media/base/test folder is new.

BUG=chromium:627816

Review-Url: https://codereview.webrtc.org/2238933002
Cr-Commit-Position: refs/heads/master@{#13769}
2016-08-16 08:19:48 +00:00
sakal
714dd4e532 GN: Update tests to have the correct shard timeout value on Android.
TBR=mflodman@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2231413002
Cr-Commit-Position: refs/heads/master@{#13741}
2016-08-15 09:29:19 +00:00
sakal
d30e0ad3e7 Session based capturing for Camera2Capturer.
BUG=webrtc:6148
TBR=tommi@webrtc.org

Review-Url: https://codereview.webrtc.org/2186253002
Cr-Commit-Position: refs/heads/master@{#13723}
2016-08-11 08:00:43 +00:00
ehmaldonado
3651d8f97f Add libjingle_peerconnection_unittest to GN targets.
BUG=webrtc:6037
NOTRY=True

Review-Url: https://codereview.webrtc.org/2226093003
Cr-Commit-Position: refs/heads/master@{#13703}
2016-08-10 10:10:53 +00:00
Sami Kalliomaki
16032126ed This implementation greatly simplifies Android video capturing stack. The old
stack will be removed soon in a separate CL. Constraints will not be supported
in the new implementation. Apps can request a format directly and the closest
supported format will be selected.

Changes needed from the apps:
1. Use the new createVideoSource without constraints.
2. Call startCapture manually.
3. Don't call videoSource.stop/restart, use startCapture/stopCapture instead.

R=magjed@webrtc.org
TBR=kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13504}
2016-07-20 14:13:20 +00:00
hbos
3d70fef3f3 Remove DtlsIdentityStoreInterface, it is no longer used.
This interface and its implementations have been replaced by
rtc::RTCCertificateGeneratorInterface.

Removes dtlsidentitystore.h, updates .gyp/gn and removes old #includes.

BUG=webrtc:5707, webrtc:5708

Review-Url: https://codereview.webrtc.org/2034013003
Cr-Commit-Position: refs/heads/master@{#13432}
2016-07-11 11:10:14 +00:00
sakal
d34a711f22 Reland of Combine webrtc/api/java/android and webrtc/api/java/src. (patchset #1 id:1 of https://codereview.webrtc.org/2106333005/ )
Reason for revert:
Issues fixed

Original issue's description:
> Revert of Combine webrtc/api/java/android and webrtc/api/java/src. (patchset #1 id:1 of https://codereview.webrtc.org/2111823002/ )
>
> Reason for revert:
> Breaks downstream dependencies
>
> Original issue's description:
> > Combine webrtc/api/java/android and webrtc/api/java/src.
> >
> > It used to be that there was a Java api for devices not running Android
> > but that is no longer the case. I combined the directories and made
> > the folder structure chromium style.
> >
> > BUG=webrtc:6067
> > R=magjed@webrtc.org, tommi@webrtc.org
> >
> > Committed: ceefe20dd6
>
> TBR=magjed@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:6067
>
> Committed: 9b0dc622d4

TBR=magjed@webrtc.org,tommi@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6067

Review-Url: https://codereview.webrtc.org/2111923003
Cr-Commit-Position: refs/heads/master@{#13363}
2016-07-01 12:10:59 +00:00
Sami Kalliomaki
9b0dc622d4 Revert of Combine webrtc/api/java/android and webrtc/api/java/src. (patchset #1 id:1 of https://codereview.webrtc.org/2111823002/ )
Reason for revert:
Breaks downstream dependencies

Original issue's description:
> Combine webrtc/api/java/android and webrtc/api/java/src.
>
> It used to be that there was a Java api for devices not running Android
> but that is no longer the case. I combined the directories and made
> the folder structure chromium style.
>
> BUG=webrtc:6067
> R=magjed@webrtc.org, tommi@webrtc.org
>
> Committed: ceefe20dd6

TBR=magjed@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:6067

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

Cr-Commit-Position: refs/heads/master@{#13357}
2016-07-01 07:37:49 +00:00
Sami Kalliomaki
ceefe20dd6 Combine webrtc/api/java/android and webrtc/api/java/src.
It used to be that there was a Java api for devices not running Android
but that is no longer the case. I combined the directories and made
the folder structure chromium style.

BUG=webrtc:6067
R=magjed@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13356}
2016-07-01 07:09:09 +00:00
Sami Kalliomaki
9c0c75bd6e Add GN targets for AppRTC Demo on Android.
Adds GN equivalents for following targets:
AppRTCDemo          -> //webrtc/examples:AppRTCDemo
AppRTCDemo_apk      -> //webrtc/examples:AppRTCDemo_lib (kind of)
AppRTCDemoJUnitTest -> //webrtc/examples:AppRTCDemoJUnitTest
AppRTCDemoTest      -> //webrtc/examples:AppRTCDemoTest
libjingle_peerconnection_java -> //webrtc/api/libjingle_peerconnection_java
libjingle_peerconnection_so   -> //webrtc/api/libjingle_peerconnection_so

New GN targets:
//webrtc/base:base_java
//webrtc/examples:AppRTCDemo_resources
//webrtc/examples/androidapp/third_party/autobanh:autobanh_java

BUG=webrtc:6035
R=magjed@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13322}
2016-06-29 12:55:12 +00:00
Taylor Brandstetter
ba29c6aac7 Reland 2 of: Use VoiceChannel/VideoChannel directly from RtpSender/RtpReceiver.
Relanding again after fixing issue with RTC_DCHECKs.

This CL 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@{#13305}
2016-06-27 23:30:45 +00:00
tkchin
3784b4a697 Revert of Use VoiceChannel/VideoChannel directly from RtpSender/RtpReceiver. (patchset #3 id:40001 of https://codereview.webrtc.org/2046173002/ )
Reason for revert:
Broke video sending for iOS AppRTCDemo. To repro, run iOS AppRTCDemo in Release in loopback mode. The revision prior to this change worked.

Original issue's description:
> 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
>
> Committed: 2d5491783a

TBR=pthatcher@webrtc.org,deadbeef@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/2092273003
Cr-Commit-Position: refs/heads/master@{#13289}
2016-06-25 02:31:54 +00:00
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