68 Commits

Author SHA1 Message Date
skvlad
6c87a67b63 Do not create a temporary transport channel when using max-bundle
With this change, when max-bundle and rtcp-mux are both enabled, we no
longer create and destroy a temporary transport channel when a media
channel gets added. Instead, the media channel uses the correct bundled
transport channel from the start.

This fixes a bug where adding a media type would cause the ICE state to
briefly become Disconnected and then immediately recover. The temporary
channel was created in a non-writable state, which caused the
TransportController to declare the ICE state to be Disconnected (as not
all transport channels were writable). Right after creation, the
temporary channel was then destroyed and the ICE state went back to the
correct one.

BUG=webrtc:5856

Review-Url: https://codereview.webrtc.org/1972493002
Cr-Commit-Position: refs/heads/master@{#12781}
2016-05-18 00:49:58 +00:00
Taylor Brandstetter
db0cd9e774 Adding getParameters/setParameters APIs to RtpReceiver.
This is similar to how a "receive" method is used to apply
RtpParameters to an RtpReceiver in ORTC. Currently, SetParameters
doesn't allow changing the parameters, so the main use of the API is
to retrieve the set of configured codecs. But other uses will likely
be made possible in the future.

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

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

Cr-Commit-Position: refs/heads/master@{#12761}
2016-05-16 18:40:38 +00:00
kwiberg
fd8be3468a Remove webrtc/base/scoped_ptr.h
This is a re-land of https://codereview.webrtc.org/1942823002

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

Review-Url: https://codereview.webrtc.org/1966423002
Cr-Commit-Position: refs/heads/master@{#12750}
2016-05-15 02:44:18 +00:00
Danil Chapovalov
dae07bae82 Fix BaseChannel destructor when network thread differ from worker thread
BUG=webrtc:5645
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12740}
2016-05-13 23:44:02 +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
ivoc
c1513ee1a3 Add a parameter to set a maximum file size when starting an RTC event log on the PeerConnectionFactory API.
The caller can set a negative or zero file size to avoid using a limit.
BUG=

Review-Url: https://codereview.webrtc.org/1974453002
Cr-Commit-Position: refs/heads/master@{#12730}
2016-05-13 15:30:44 +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
Taylor Brandstetter
dc4eb8c5b3 Refactoring some tests in peerconnectioninterface_unittest.cc.
Some tests were passing in a local description created from hard-coded
SDP strings, which won't work in the future (since some attributes such
as the fingerprint and ICE ufrag/pwd are non-modifiable). These tests
now do the typical approach of calling CreateOffer and modifying the
result if necessary.

Also added some non-const versions of the SessionDescription accessor
helper functions, since that makes it much easier to modify a
SessionDescription. Previous alternatives were re-implementing the
helper methods from scratch, or converting the description to SDP,
modifying it, and converting it back.

R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12704}
2016-05-12 15:14:54 +00:00
Danil Chapovalov
7f216b71aa Renames TransportController worker_thread to network_thread.
function suffix '_w' changes to '_n'

BUG=webrtc:5645
R=pbos@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12694}
2016-05-12 07:20:43 +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
Danil Chapovalov
33b01f2162 Adds network thread to rtc::BaseChannel
BaseChannel do calls to transport_channel on network_thread,
while keep calls to media_engine on worker_thread.
It still works when network_thread == worker_thread.

BUG=webrtc:5645
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12690}
2016-05-11 17:55:41 +00:00
kwiberg
6ab3db249b Revert of Remove webrtc/base/scoped_ptr.h (patchset #3 id:100001 of https://codereview.webrtc.org/1942823002/ )
Reason for revert:
Breaks user code. Said code needs to stop using scoped_ptr!

Original issue's description:
> Remove webrtc/base/scoped_ptr.h
>
> BUG=webrtc:5520
>
> NOTRY=True
>
> Committed: https://crrev.com/65fc62e9dd8a8716db625aaef76ab92f542ecc5a
> Cr-Commit-Position: refs/heads/master@{#12684}

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

Review-Url: https://codereview.webrtc.org/1965063003
Cr-Commit-Position: refs/heads/master@{#12686}
2016-05-11 12:07:33 +00:00
kwiberg
65fc62e9dd Remove webrtc/base/scoped_ptr.h
BUG=webrtc:5520

NOTRY=True

Review-Url: https://codereview.webrtc.org/1942823002
Cr-Commit-Position: refs/heads/master@{#12684}
2016-05-11 11:29:38 +00:00
zhihuang
8f65cdf22b Only generate one CNAME per PeerConnection.
The CNAME is generated in the PeerConnection constructor and is populated through the MediaSessionOptions.
A default cname will be set in the MediaSessionOptions constructor.

BUG=webrtc:3431

Review-Url: https://codereview.webrtc.org/1871993002
Cr-Commit-Position: refs/heads/master@{#12650}
2016-05-07 01:40:35 +00:00
Honghai Zhang
82d7862fe7 Change default timestamp to 64 bits in all webrtc directories.
BUG=
R=pbos@webrtc.org, pthatcher@webrtc.org, solenberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12646}
2016-05-06 18:29:27 +00:00
zhihuang
cf5b37cc46 Accept all the media profiles required by JSEP.
JSEP section 5.1.3 states that:
  Any profile matching the following patterns MUST be accepted:
  "RTP/[S]AVP[F]" and "(UDP/TCP)/TLS/RTP/SAVP[F]"

NOTRY=True
BUG=webrtc:5638

Committed: https://crrev.com/b7f425ab68ec58e2a5beaaf5ef79f50f1982c6f9
Cr-Commit-Position: refs/heads/master@{#12338}

Review-Url: https://codereview.webrtc.org/1880913002
Cr-Commit-Position: refs/heads/master@{#12637}
2016-05-05 18:44:44 +00:00
kwiberg
bfefb03ec1 Replace scoped_ptr with unique_ptr everywhere
But keep #including scoped_ptr.h in .h files, so as not to break
WebRTC users who expect those .h files to give them rtc::scoped_ptr.

BUG=webrtc:5520

Review-Url: https://codereview.webrtc.org/1937693002
Cr-Commit-Position: refs/heads/master@{#12581}
2016-05-01 21:53:55 +00:00
kwiberg
4485ffb58d #include "webrtc/base/constructormagic.h" where appropriate
Any file that uses the RTC_DISALLOW_* macros should #include
"webrtc/base/constructormagic.h", but a shocking number of them don't.
This causes trouble when we try to wean files off of #including
scoped_ptr.h, since a bunch of files get their constructormagic macros
only from there.

Rather than fixing these errors one by one as they turn up, this CL
simply ensures that every file in the WebRTC tree that uses the
RTC_DISALLOW_* macros #includes "webrtc/base/constructormagic.h".

BUG=webrtc:5520

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

Cr-Commit-Position: refs/heads/master@{#12509}
2016-04-26 15:14:48 +00:00
terelius
8c011e5ae6 Simple lint fixes
BUG=webrtc:5583

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

Cr-Commit-Position: refs/heads/master@{#12506}
2016-04-26 12:28:18 +00:00
jbauch
555604a746 Replace scoped_ptr with unique_ptr in webrtc/base/
This propagated into various other places. Also had to #include headers that
were implicitly pulled by "scoped_ptr.h".

BUG=webrtc:5520

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

Cr-Commit-Position: refs/heads/master@{#12501}
2016-04-26 10:13:28 +00:00
kjellander
7bc7c06e6a Revert of Remove the rtc_relative_path GYP variable and similar defines (patchset #1 id:1 of https://codereview.webrtc.org/1903553003/ )
Reason for revert:
Breaks downstream for SRTP include paths. Will rework this and reland without that one.

Original issue's description:
> Remove the rtc_relative_path GYP variable and similar defines
>
> The defines that can be used to alter the include paths for Expat, SRTP
> and gtest are no longer needed in WebRTC or Chromium. Let's remove them
> to simplify the GYP a little.
>
> Removed defines:
> EXPAT_RELATIVE_PATH
> GTEST_RELATIVE_PATH
> SRTP_RELATIVE_PATH
>
> They're all set in the Chromium build so this shouldn't affect Chromium:
> https://code.google.com/p/chromium/codesearch#chromium/src/third_party/libjingle/libjingle.gyp
>
> BUG=webrtc:4256
> NOTRY=True
> NOPRESUBMIT=True
>
> Committed: https://crrev.com/e19cf59eb6ee44fd4d7e7fbcfdd1a6ea75063605
> Cr-Commit-Position: refs/heads/master@{#12467}

TBR=pthatcher@webrtc.org,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/1913043003

Cr-Commit-Position: refs/heads/master@{#12468}
2016-04-22 11:57:56 +00:00
kjellander
e19cf59eb6 Remove the rtc_relative_path GYP variable and similar defines
The defines that can be used to alter the include paths for Expat, SRTP
and gtest are no longer needed in WebRTC or Chromium. Let's remove them
to simplify the GYP a little.

Removed defines:
EXPAT_RELATIVE_PATH
GTEST_RELATIVE_PATH
SRTP_RELATIVE_PATH

They're all set in the Chromium build so this shouldn't affect Chromium:
https://code.google.com/p/chromium/codesearch#chromium/src/third_party/libjingle/libjingle.gyp

BUG=webrtc:4256
NOTRY=True
NOPRESUBMIT=True

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

Cr-Commit-Position: refs/heads/master@{#12467}
2016-04-22 11:41:55 +00:00
Honghai Zhang
0e533ef487 Update the call when the network route changes
so that BWE can be updated promptly.

BUG=webrtc:5726
R=mflodman@webrtc.org, pbos@webrtc.org, pthatcher@google.com, pthatcher@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12432}
2016-04-19 22:41:53 +00:00
zhihuang
d713e86058 Revert of Accept all the media profiles required by JSEP. (patchset #5 id:80001 of https://codereview.webrtc.org/1880913002/ )
Reason for revert:
Broke the Chromium build by introducing static initializers.

Original issue's description:
> Accept all the media profiles required by JSEP.
>
> JSEP section 5.1.3 states that:
>   Any profile matching the following patterns MUST be accepted:
>   "RTP/[S]AVP[F]" and "(UDP/TCP)/TLS/RTP/SAVP[F]"
>
> NOTRY=True
> BUG=webrtc:5638
>
> Committed: https://crrev.com/b7f425ab68ec58e2a5beaaf5ef79f50f1982c6f9
> Cr-Commit-Position: refs/heads/master@{#12338}

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

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

Cr-Commit-Position: refs/heads/master@{#12351}
2016-04-13 17:48:32 +00:00
deadbeef
67cf2c1294 Removing preference field from cricket::Codec.
This field only existed as an implementation detail for getting the
codecs sorted, so it doesn't need to be in the public interface.
It cluttered the code and undesirably affected codec comparisons,
causing the video encoder to be reconfigured if a codec's preference
changed but nothing else did.

BUG=webrtc:5690

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

Cr-Commit-Position: refs/heads/master@{#12349}
2016-04-13 17:07:24 +00:00
zhihuang
b7f425ab68 Accept all the media profiles required by JSEP.
JSEP section 5.1.3 states that:
  Any profile matching the following patterns MUST be accepted:
  "RTP/[S]AVP[F]" and "(UDP/TCP)/TLS/RTP/SAVP[F]"

NOTRY=True
BUG=webrtc:5638

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

Cr-Commit-Position: refs/heads/master@{#12338}
2016-04-13 01:32:36 +00:00
nisse
2ded9b19d1 Replace SetCapturer and SetCaptureDevice by SetSource.
Drop return value.

BUG=webrtc:5426

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

Cr-Commit-Position: refs/heads/master@{#12291}
2016-04-08 09:24:01 +00:00
skvlad
e0d4637bea Allow applications to control audio send bitrate through RtpParameters.
This change builds on top of the refactoring in https://codereview.webrtc.org/1841083008/, and enables WebRTC client applications to control the max send bitrate for every audio stream through RtpParameters.

The AudioSendStream now stores the last codec spec, and whenever a global or per-stream bitrate limit changes, the effective limit (smaller of the two) is recomputed and the codec is reconfigured with that bitrate.

TBR=pthatcher
BUG=

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

Cr-Commit-Position: refs/heads/master@{#12290}
2016-04-08 05:59:32 +00:00
Honghai Zhang
52dce73fac Add the last_sent_packet_id to the candidate pair change signal
so that the call knows which packet ids were sent on the previous candidate pair.
Note that packet_id is actually 16bits, so we can use -1 for values that are not set.

Also moved the tests for candidate pair changes to TestSelectConnectionBeforeNomination.

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

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

Cr-Commit-Position: refs/heads/master@{#12184}
2016-03-31 19:37:40 +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
solenberg
ff97631e3c - Add temporary VoEBase::audio_device_module() method.
- Remove WVoE::SetAudioDeviceModule() - the ADM is now supplied in ctor.
- Remove WVoE::Init() and WVoE::Terminate().
- Remove MediaEngineInterface::Terminate().

BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#12173}
2016-03-31 06:28:56 +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
Honghai Zhang
cc411c0599 Reset the BWE when the network changes.
Currently "Resetting the BWE" does nothing yet. This CL passes the correct signaling to the bandwidth estimator.

BUG=
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12154}
2016-03-30 00:27:36 +00:00
Henrik Kjellander
b252856d10 Remove all uses of the HAVE_CONFIG_H define.
BUG=
R=henrik.lundin@webrtc.org, pthatcher@google.com, stefan@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12141}
2016-03-29 15:47:28 +00:00
jbauch
eec21bdae3 Reland Use CopyOnWriteBuffer instead of Buffer to avoid unnecessary copies.
This CL removes copy and assign support from Buffer and changes various
parameters from Buffer to CopyOnWriteBuffer so they can be passed along
and copied without actually copying the underlying data.

With this changed some parameters to be "const" and fixed an issue when
creating a CopyOnWriteBuffer with empty data.

BUG=webrtc:5155

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

Cr-Commit-Position: refs/heads/master@{#12062}
2016-03-20 13:15:48 +00:00
kjellander
194e3bcc53 Revert of Use CopyOnWriteBuffer instead of Buffer to avoid unnecessary copies. (patchset #4 id:60001 of https://codereview.webrtc.org/1785713005/ )
Reason for revert:
I'm really sorry for having to revert this but it seems this hit an unexpected compile error downstream:

webrtc/media/sctp/sctpdataengine.cc: In function 'void cricket::VerboseLogPacket(const void*, size_t, int)':
webrtc/media/sctp/sctpdataengine.cc:172:37: error: invalid conversion from 'const void*' to 'void*' [-fpermissive]
              data, length, direction)) != NULL) {
                                     ^
In file included from webrtc/media/sctp/sctpdataengine.cc:20:0:
third_party/usrsctp/usrsctplib/usrsctp.h:964:1: error:   initializing argument 1 of 'char* usrsctp_dumppacket(void*, size_t, int)' [-fpermissive]
 usrsctp_dumppacket(void *, size_t, int);
 ^

I'm sure you can fix this easily and just re-land this CL, while I'm going to look into how to add this warning at the public bots (on Monday).

Original issue's description:
> Use CopyOnWriteBuffer instead of Buffer to avoid unnecessary copies.
>
> This CL removes copy and assign support from Buffer and changes various
> parameters from Buffer to CopyOnWriteBuffer so they can be passed along
> and copied without actually copying the underlying data.
>
> With this changed some parameters to be "const" and fixed an issue when
> creating a CopyOnWriteBuffer with empty data.
>
> BUG=webrtc:5155
>
> Committed: https://crrev.com/944c39006f1c52aee20919676002dac7a42b1c05
> Cr-Commit-Position: refs/heads/master@{#12058}

TBR=kwiberg@webrtc.org,tkchin@webrtc.org,tommi@webrtc.org,pthatcher@webrtc.org,jbauch@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5155

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

Cr-Commit-Position: refs/heads/master@{#12060}
2016-03-19 19:12:58 +00:00
jbauch
944c39006f Use CopyOnWriteBuffer instead of Buffer to avoid unnecessary copies.
This CL removes copy and assign support from Buffer and changes various
parameters from Buffer to CopyOnWriteBuffer so they can be passed along
and copied without actually copying the underlying data.

With this changed some parameters to be "const" and fixed an issue when
creating a CopyOnWriteBuffer with empty data.

BUG=webrtc:5155

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

Cr-Commit-Position: refs/heads/master@{#12058}
2016-03-19 08:57:40 +00:00
Taylor Brandstetter
5f0b83b7fb Enabling rtcp-rsize negotiation and fixing some issues with it.
Sending of reduced size RTCP packets should be enabled only if it's
enabled in the send parameters (which corresponds to the remote description).

Since the RTCPReceiver's RtcpMode isn't used at all, I removed it to ease
confusion.

BUG=webrtc:4868
R=pbos@webrtc.org, pthatcher@google.com, pthatcher@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12057}
2016-03-18 22:02:13 +00:00
kjellander@webrtc.org
94a23f04af Reland "Add check_deps rules in DEPS files."
Relanding https://codereview.webrtc.org/1796413002/
without the change to the openmax_dl include path
(which broke downstream code).

TBR=tommi@webrtc.org
BUG=webrtc:5623
TESTED=Passing runs using:
buildtools/checkdeps/checkdeps.py --root=. talk
buildtools/checkdeps/checkdeps.py --root=. webrtc

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

Cr-Commit-Position: refs/heads/master@{#12031}
2016-03-17 11:05:50 +00:00
ossu
292d658b20 Fix for intermittent tsan2 errors from SendRtpToRtpOnThread and SendSrtpToSrtpOnThread.
Changed the channel unittest to use locking when reading/writing the
result variable. To do this, I had to move the result into the thread
object, which in turn required me to properly handle the lifetime of the
thread object, since it cannot disappear while we want to read the
result.

It is still possible to have the result being written to a local
variable, but it will only be updated as the thread object is
destroyed. It is used to for the implementation of
CallOnThreadAndWaitForDone. The old CallOnThread is gone and replaced by
ScopedCallThread instead.

BUG=webrtc:5524

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

Cr-Commit-Position: refs/heads/master@{#12027}
2016-03-17 09:31:16 +00:00
skvlad
dc1c62cd30 Enable setting the maximum bitrate limit in RtpSender.
This change allows the application to limit the bitrate of the outgoing
audio and video streams at runtime. The API roughly follows the WebRTC
API draft, defining the RTCRtpParameters structure witn exactly one
encoding (simulcast streams are not exposed in the API for now).
(https://www.w3.org/TR/webrtc/#idl-def-RTCRtpParameters)

BUG=

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

Cr-Commit-Position: refs/heads/master@{#12025}
2016-03-17 02:07:49 +00:00
nisse
05103314e5 Drop VideoOptions from VideoSendParameters.
BUG=webrtc:5438

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

Cr-Commit-Position: refs/heads/master@{#12011}
2016-03-16 09:22:57 +00:00
kjellander
56cf60e717 Revert of Add check_deps rules in DEPS files. (patchset #2 id:60001 of https://codereview.webrtc.org/1796413002/ )
Reason for revert:
The openmax_dl include change breaks downstream projects.

Original issue's description:
> Add check_deps rules in DEPS files.
>
> Add fine-grained check_deps rules for all of WebRTC.
> This will help both maintaining sane dependencies and provides a way
> to visualize dependency graphs using the buildtools/checkdeps/graphdeps.py script.
>
> Example:
> buildtools/checkdeps/graphdeps.py --root=. --format=png \
> --out=./webrtc.png --incl='^webrtc/modules/bitrate_controller->' \
> --excl='chromium|base|external|testing|webrtc/test|\.h$|\.cc$'
>
> will produce a neat webrtc.png image showcasing the dependencies
> (according to the DEPS file) for the bitrate_controller module.
> Some dependencies are filtered out for readability.
>
> BUG=webrtc:5623
> TESTED=Passing runs using:
> buildtools/checkdeps/checkdeps.py --root=. talk
> buildtools/checkdeps/checkdeps.py --root=. webrtc
>
> R=tommi@webrtc.org
>
> Committed: https://crrev.com/086f851b7b9b4bcbd4fe507c3bf83b760bd7f4d9
> Cr-Commit-Position: refs/heads/master@{#12008}

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

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

Cr-Commit-Position: refs/heads/master@{#12009}
2016-03-16 00:41:04 +00:00
kjellander@webrtc.org
086f851b7b Add check_deps rules in DEPS files.
Add fine-grained check_deps rules for all of WebRTC.
This will help both maintaining sane dependencies and provides a way
to visualize dependency graphs using the buildtools/checkdeps/graphdeps.py script.

Example:
buildtools/checkdeps/graphdeps.py --root=. --format=png \
--out=./webrtc.png --incl='^webrtc/modules/bitrate_controller->' \
--excl='chromium|base|external|testing|webrtc/test|\.h$|\.cc$'

will produce a neat webrtc.png image showcasing the dependencies
(according to the DEPS file) for the bitrate_controller module.
Some dependencies are filtered out for readability.

BUG=webrtc:5623
TESTED=Passing runs using:
buildtools/checkdeps/checkdeps.py --root=. talk
buildtools/checkdeps/checkdeps.py --root=. webrtc

R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12008}
2016-03-16 00:22:53 +00:00
kwiberg
3102294fc0 Replace scoped_ptr with unique_ptr in webrtc/pc/
BUG=webrtc:5520

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

Cr-Commit-Position: refs/heads/master@{#11961}
2016-03-11 22:18:26 +00:00
Peter Boström
ca8b404e86 Add tracing to interesting media-related methods.
Accounts for a lot of worker-thread blocking by voice-related code or
initializing SRTP.

BUG=
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11920}
2016-03-08 22:24:21 +00:00
Taylor Brandstetter
1a018dcda3 Prevent a voice channel from sending data before a source is set.
At the top level, setting a track on an RtpSender is equivalent to
setting a source (previously called a renderer)
on a voice send stream. An RtpSender without a track
is not supposed to send data (not even muted data), so a send stream without
a source shouldn't send data.

Also replacing SendFlags with a boolean and implementing "Start"
and "Stop" methods on AudioSendStream, which was planned anyway
and simplifies this CL.

R=pthatcher@webrtc.org, solenberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11918}
2016-03-08 20:37:48 +00:00