34 Commits

Author SHA1 Message Date
kwiberg
84f6a3fc6b Move optional.h to webrtc/api/
We use Optional in our public API, so its header should be in
webrtc/api/.

BUG=webrtc:8205

Review-Url: https://codereview.webrtc.org/3011943002
Cr-Commit-Position: refs/heads/master@{#19693}
2017-09-05 15:43:13 +00:00
mbonadei
16adf03d25 Recently we moved webrtc/base to webrtc/rtc_base, so these
directives in our DEPS files are not needed anymore.

Includes from webrtc/rtc_base are also whitelisted in webrtc/DEPS
so we don't have to whitelist it in all the others DEPS files.

BUG=webrtc:7634
NOTRY=True

Review-Url: https://codereview.webrtc.org/3006583002
Cr-Commit-Position: refs/heads/master@{#19601}
2017-08-30 11:45:58 +00:00
sprang
db2a9fc6ec Wire up RTP keep-alive in ortc api.
[This CL is work in progress.]

Wire up the rtp keep-alive in webrtc::Call::Config using new
SetRtpTransportParameters() method on RtpTransportInterface.

BUG=webrtc:7907

Review-Url: https://codereview.webrtc.org/2981513002
Cr-Commit-Position: refs/heads/master@{#19287}
2017-08-09 13:42:32 +00:00
perkj
773be36bd6 Reland of Change VideoTrack implementation to invoke VideoTrackSourceInterface::AddOrUpdateSink on wt
Added documentation of thread expectations for video tracks and sources to the API.

Originally landed as patchset #2 id:20001 of https://codereview.webrtc.org/2964863002/.

Patchset 1 is the originall cl.
Patschet 2 is modified so that VideoTrackInterface::AddSink and RemoveSink have a default implementation.

BUG=none

Review-Url: https://codereview.webrtc.org/2989113002
Cr-Commit-Position: refs/heads/master@{#19195}
2017-08-01 06:22:01 +00:00
ehmaldonado
f6a861ab6c Remove remains of webrtc/base
All downstream code have been updated to the new location.

In PRESUBMIT.py:
* Remove webrtc/rtc_base from CPP_BLACKLIST
* Add webrtc/rtc_base to LEGACY_API_DIRS

Fix some duplicated paths in
webrtc/modules/audio_processing/test/conversational_speech/BUILD.gn

BUG=webrtc:7634
TBR=kwiberg@webrtc.org

Review-Url: https://codereview.webrtc.org/2976293002
Cr-Commit-Position: refs/heads/master@{#19094}
2017-07-19 17:40:47 +00:00
mbonadei
f904d135ec Disabling test on iOS64 debug bot
BUG=webrtc:7915
NOTRY=true

Review-Url: https://codereview.webrtc.org/2979003003
Cr-Commit-Position: refs/heads/master@{#19032}
2017-07-14 22:19:03 +00:00
ehmaldonado
370dd47973 Revert of Remove remains of webrtc/base (patchset #7 id:120001 of https://codereview.webrtc.org/2973183002/ )
Reason for revert:
Breaks lots of downstream projects.

Original issue's description:
> Remove remains of webrtc/base
>
> All downstream code have been updated to the new location.
>
> In PRESUBMIT.py:
> * Remove webrtc/rtc_base from CPP_BLACKLIST
> * Add webrtc/rtc_base to LEGACY_API_DIRS
>
> Fix some duplicated paths in
> webrtc/modules/audio_processing/test/conversational_speech/BUILD.gn
>
> BUG=webrtc:7634
> TBR=kwiberg@webrtc.org
>
> Review-Url: https://codereview.webrtc.org/2973183002
> Cr-Commit-Position: refs/heads/master@{#18948}
> Committed:
9483b49baf

TBR=kwiberg@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7634

Review-Url: https://codereview.webrtc.org/2976633002
Cr-Commit-Position: refs/heads/master@{#18949}
2017-07-10 12:58:42 +00:00
ehmaldonado
9483b49baf Remove remains of webrtc/base
All downstream code have been updated to the new location.

In PRESUBMIT.py:
* Remove webrtc/rtc_base from CPP_BLACKLIST
* Add webrtc/rtc_base to LEGACY_API_DIRS

Fix some duplicated paths in
webrtc/modules/audio_processing/test/conversational_speech/BUILD.gn

BUG=webrtc:7634
TBR=kwiberg@webrtc.org

Review-Url: https://codereview.webrtc.org/2973183002
Cr-Commit-Position: refs/heads/master@{#18948}
2017-07-10 11:50:54 +00:00
minyue-webrtc
c453b08f1e Adding log in OrtcFactoryIntegrationTest and fix a bug.
BUG=webrtc:7915

Change-Id: I89aa48d9a182cf86cf59dc438c9095eb8ab38c58
Reviewed-on: https://chromium-review.googlesource.com/558421
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18944}
2017-07-10 10:00:30 +00:00
mbonadei
539d104e3e Revert of Change VideoTrack implementation to invoke VideoTrackSourceInterface::AddOrUpdateSink on wt (patchset #2 id:20001 of https://codereview.webrtc.org/2964863002/ )
Reason for revert:
It breaks a downstream project.

Original issue's description:
> Change VideoTrack implementation to invoke VideoTrackSourceInterface::AddOrUpdateSink on the worker thread.
>
> Added documentation of thread expectations for video tracks and sources to the API.
>
> BUG=None
>
> Review-Url: https://codereview.webrtc.org/2964863002
> Cr-Commit-Position: refs/heads/master@{#18938}
> Committed: f1377f7222

TBR=deadbeef@webrtc.org,noahric@chromium.org,yujo@chromium.org,perkj@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=None

Review-Url: https://codereview.webrtc.org/2979493003
Cr-Commit-Position: refs/heads/master@{#18942}
2017-07-10 09:40:49 +00:00
perkj
f1377f7222 Change VideoTrack implementation to invoke VideoTrackSourceInterface::AddOrUpdateSink on the worker thread.
Added documentation of thread expectations for video tracks and sources to the API.

BUG=None

Review-Url: https://codereview.webrtc.org/2964863002
Cr-Commit-Position: refs/heads/master@{#18938}
2017-07-07 23:38:28 +00:00
Edward Lemur
c20978e581 Rename webrtc/base -> webrtc/rtc_base
NOPRESUBMIT=True # cpplint errors that aren't caused by this CL.
NOTRY=True
NOTREECHECKS=True
TBR=kwiberg@webrtc.org, kjellander@webrtc.org

Bug: webrtc:7634
Change-Id: I3cca0fbaa807b563c95979cccd6d1bec32055f36
Reviewed-on: https://chromium-review.googlesource.com/562156
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18919}
2017-07-06 19:11:40 +00:00
Henrik Kjellander
a80c16a67c Revert "Update includes for webrtc/{base => rtc_base} rename (2/3)"
This reverts commit c3771cc4d37f5573fe53b7c7cff295a4f0f9560f.
(breaks downstream internal project)

BUG=webrtc:7634
NOTRY=True
NOPRESUBMIT=True

Review-Url: https://codereview.webrtc.org/2972463002 .
Cr-Commit-Position: refs/heads/master@{#18873}
2017-07-01 14:48:18 +00:00
kjellander
c3771cc4d3 Update includes for webrtc/{base => rtc_base} rename (2/3)
I used a command like this to update the paths:
perl -pi -e "s/webrtc\/base/webrtc\/rtc_base/g" `find webrtc/rtc_base -name "*.cc" -o -name "*.h"`

BUG=webrtc:7634
NOPRESUBMIT=True # cpplint errors that aren't caused by this CL.

Review-Url: https://codereview.webrtc.org/2969623003
Cr-Commit-Position: refs/heads/master@{#18870}
2017-06-30 20:42:44 +00:00
peah
a9cc40b7d2 Allow an external audio processing module to be used in WebRTC
[This CL is a rebase of an original CL by solenberg@:
https://codereview.webrtc.org/2948763002/ which in turn was a
rebase of an original CL by peah@:
https://chromium-review.googlesource.com/c/527032/]

Allow an external audio processing module to be used in WebRTC

This CL adds support for optionally using an externally created audio
processing module in a peerconnection. The ownership is shared
between the peerconnection and the external creator of the module.

As part of this the internal ownership of the audio processing module
is moved from VoiceEngine to WebRtcVoiceEngine.

BUG=webrtc:7775

Review-Url: https://codereview.webrtc.org/2961723004
Cr-Commit-Position: refs/heads/master@{#18837}
2017-06-29 15:32:09 +00:00
deadbeef
57ca81aff0 Actually use virtual network in OrtcFactory unit test.
I intended to do this originally, but just forgot to pass the thread
with the virtual socket server into OrtcFactory::Create...

BUG=None
TBR=pthatcher@webrtc.org

Review-Url: https://codereview.webrtc.org/2967453002
Cr-Commit-Position: refs/heads/master@{#18831}
2017-06-29 12:34:45 +00:00
deadbeef
8179a7cf97 Fixing bad use of std::sort in test method.
It was used to force a codec to the top of a list, but it resulted in
"a < a" being true, which some C++ runtimes complain about.

BUG=None
TBR=pthatcher@webrtc.org

Review-Url: https://codereview.webrtc.org/2963543002
Cr-Commit-Position: refs/heads/master@{#18786}
2017-06-27 14:52:50 +00:00
deadbeef
98e186c71c Remove VirtualSocketServer's dependency on PhysicalSocketServer.
The only thing the physical socket server was used for was
"Wait"/"WakeUp", but it could be replaced by a simple rtc::Event.

So, removing this dependency makes things less confusing; the fact that
VirtualSocketServer takes a PhysicalSocketServer may lead someone to
think it uses real sockets internally, when it doesn't.

BUG=None

Review-Url: https://codereview.webrtc.org/2883313003
Cr-Commit-Position: refs/heads/master@{#18172}
2017-05-17 01:00:06 +00:00
nisse
7eaa4ea75f Delete method MessageQueue::set_socketserver
Instead, make the pointer to the associated socket server a
construction time const, and delete its lock.

Introduces a helper class AutoSocketServerThread for code
(mainly tests) which need a socket server associated with
the current thread.

BUG=webrtc:7501

Review-Url: https://codereview.webrtc.org/2828223002
Cr-Commit-Position: refs/heads/master@{#18047}
2017-05-08 12:25:41 +00:00
nisse
528b7931f8 Update comments for removal of MediaController.
Comment-only changes.

TBR=deadbeef@webrtc.org
BUG=webrtc:7135

Review-Url: https://codereview.webrtc.org/2869703002
Cr-Commit-Position: refs/heads/master@{#18045}
2017-05-08 10:21:43 +00:00
nisse
eaabdf6259 Delete MediaController class, move Call ownership to PeerConnection.
BUG=webrtc:7135

Review-Url: https://codereview.webrtc.org/2794943002
Cr-Commit-Position: refs/heads/master@{#18026}
2017-05-05 09:23:02 +00:00
ossu
eb1fde4a26 Injectable audio encoders: Moved audio encoder, factory and builtin factory to api/.
Plumbed AudioEncoderFactory up into CreatePeerConnectionFactory.

BUG=webrtc:5806

Review-Url: https://codereview.webrtc.org/2799033006
Cr-Commit-Position: refs/heads/master@{#17977}
2017-05-02 13:46:30 +00:00
mbonadei
9087d49b83 Enabling 'gn check' on webrtc/video.
I disabled the check on "video_tests" because it pulls
"//webrtc/media/rtc_unittest_main" as a dependency and it defines
the _main (that is already defined by "//webrtc/test:test_main").

I will file a bug to solve this in another CL.

BUG=webrtc:6828
NOTRY=True

Review-Url: https://codereview.webrtc.org/2832063003
Cr-Commit-Position: refs/heads/master@{#17859}
2017-04-25 07:35:35 +00:00
deadbeef
59edb9298e Relanding: Remove rtc_p2p_unittests from ortc_unittests and rtc_media_unittests
These tests are already built into rtc_unittests, so they end up being
run three times. Fixed by creating a "p2p_test_utils" target that
contains the test utils that ortc_unittests and rtc_media_unittests
depend on, but not the tests themselves.

BUG=None
TBR=kjellander@webrtc.org

Review-Url: https://codereview.webrtc.org/2820263004
Cr-Commit-Position: refs/heads/master@{#17752}
2017-04-18 22:49:09 +00:00
deadbeef
19fd811736 Revert of Remove rtc_p2p_unittests from ortc_unittests executable. (patchset #1 id:1 of https://codereview.webrtc.org/2820263004/ )
Reason for revert:
Breaks checkdeps rules. Need to make a "p2p_test_utils" build target to include things like fakeicetransport.h.

Original issue's description:
> Remove rtc_p2p_unittests from ortc_unittests executable.
>
> These tests are already built into rtc_unittests; they shouldn't be
> built into two test executables.
>
> BUG=None
> TBR=kjellander@webrtc.org
> NOTRY=True
>
> Review-Url: https://codereview.webrtc.org/2820263004
> Cr-Commit-Position: refs/heads/master@{#17748}
> Committed: fe9d38f515

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

Review-Url: https://codereview.webrtc.org/2826703002
Cr-Commit-Position: refs/heads/master@{#17749}
2017-04-18 18:11:31 +00:00
deadbeef
fe9d38f515 Remove rtc_p2p_unittests from ortc_unittests executable.
These tests are already built into rtc_unittests; they shouldn't be
built into two test executables.

BUG=None
TBR=kjellander@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2820263004
Cr-Commit-Position: refs/heads/master@{#17748}
2017-04-18 17:59:20 +00:00
mbonadei
cde2528d28 Enabling 'gn check' on //webrtc/ortc.
BUG=webrtc:6828

Review-Url: https://codereview.webrtc.org/2804663002
Cr-Commit-Position: refs/heads/master@{#17642}
2017-04-11 09:52:49 +00:00
zhihuang
acfb017775 Disable the ORTC integration tests on TSan.
BUG=webrtc:7366

Review-Url: https://codereview.webrtc.org/2767123002
Cr-Commit-Position: refs/heads/master@{#17431}
2017-03-28 20:45:18 +00:00
zhihuang
243663965a Add the function ToRtpParameters.
The function converts the cricket::Codec, cricket::RtpHeaderExtensions
and cricket::StreamParamsVec to webrtc::RtpParameters.

BUG=webrtc:7311

Review-Url: https://codereview.webrtc.org/2735853004
Cr-Commit-Position: refs/heads/master@{#17124}
2017-03-09 01:15:06 +00:00
kjellander
98e1531012 Revert of Enable GN check for webrtc/{ortc,p2p} (patchset #4 id:60001 of https://codereview.webrtc.org/2714263004/ )
Reason for revert:
Fails compile in Chromium for NaCl:
https://build.chromium.org/p/chromium.webrtc.fyi/builders/Win%20Builder/builds/9320/
 http://build.chromium.org/p/chromium.webrtc.fyi/builders/Mac%20Builder/builds/22215
http://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/14501

Original issue's description:
> Enable GN check for webrtc/{ortc,p2p}
>
> Introduce new target //webrtc/p2p:rtc_p2p_test_utils to host
> test-related utilities.
> Previously uncovered header "base/fakecandidatepair.h" is now also in a target.
>
> BUG=webrtc:6828
>
> Review-Url: https://codereview.webrtc.org/2714263004
> Cr-Commit-Position: refs/heads/master@{#17036}
> Committed: c9515b6ce6

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

Review-Url: https://codereview.webrtc.org/2735583002
Cr-Commit-Position: refs/heads/master@{#17038}
2017-03-04 23:08:44 +00:00
kjellander
c9515b6ce6 Enable GN check for webrtc/{ortc,p2p}
Introduce new target //webrtc/p2p:rtc_p2p_test_utils to host
test-related utilities.
Previously uncovered header "base/fakecandidatepair.h" is now also in a target.

BUG=webrtc:6828

Review-Url: https://codereview.webrtc.org/2714263004
Cr-Commit-Position: refs/heads/master@{#17036}
2017-03-04 21:47:44 +00:00
zhihuang
d3501adf17 Create the SrtpTransportInterface.
Create the SrtpTransportInterface, a subclass of RtpTransportInterface, which
allows the user to set the send and receive keys. The functionalities are
implemented inside the RtpTransportAdapters on top of BaseChannel.

BUG=webrtc:7013

Review-Url: https://codereview.webrtc.org/2714813004
Cr-Commit-Position: refs/heads/master@{#17023}
2017-03-03 22:39:06 +00:00
deadbeef
e814a0dee0 Adding "adapter" ORTC objects on top of ChannelManager/BaseChannel/etc.
This CL adds the following interfaces:
* RtpTransportController
* RtpTransport
* RtpSender
* RtpReceiver

They're implemented on top of the "BaseChannel" object, which is normally used
in a PeerConnection, and roughly corresponds to an SDP "m=" section. As a result
of this, there are several limitations:

* You can only have one of each type of sender and receiver (audio/video) on top
  of the same transport controller.
* The sender/receiver with the same media type must use the same RTP transport.
* You can't change the transport after creating the sender or receiver.
* Some of the parameters aren't supported.

Later, these "adapter" objects will be gradually replaced by real objects that don't
have these limitations, as "BaseChannel", "MediaChannel" and related code is
restructured. In this CL, we essentially have:

ORTC adapter objects -> BaseChannel -> Media engine
PeerConnection -> BaseChannel -> Media engine

And later we hope to have simply:

PeerConnection -> "Real" ORTC objects -> Media engine

See the linked bug for more context.

BUG=webrtc:7013
TBR=stefan@webrtc.org

Review-Url: https://codereview.webrtc.org/2675173003
Cr-Commit-Position: refs/heads/master@{#16842}
2017-02-26 02:15:09 +00:00
deadbeef
4b1bf6c2f0 Adding placeholder ortc_unittests target.
This will allow the trybots to be updated to start running this new test
executable, so that they can be used when landing this CL which will
replace the dummy test with real tests:
https://codereview.webrtc.org/2675173003/

BUG=webrtc:7013
TBR=tommi@webrtc.org

Review-Url: https://codereview.webrtc.org/2707013005
Cr-Commit-Position: refs/heads/master@{#16784}
2017-02-23 07:45:38 +00:00