Commit Graph

561 Commits

Author SHA1 Message Date
tommi@webrtc.org
756b8462eb Refactor StatsCollector and associated types.
* Due to the type changes, I'm going to update the OnCompleted event in two phases to sync with Chrome.  This is the first phase.
* Reports are now managed in a set, not a map, since it's enough to store the id in one place.
* Report ids are now const.
* Copying of data has been greatly reduced.
* This change includes preparation work for making GetStats fully async.

R=xians@webrtc.org

Committed: https://code.google.com/p/webrtc/source/detail?r=6745

Review URL: https://webrtc-codereview.appspot.com/18819004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6747 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-21 11:24:17 +00:00
tommi@webrtc.org
fd61a1d693 Revert 6745 "Refactor StatsCollector and associated types."
Broke build on android.

> Refactor StatsCollector and associated types.
> * Due to the type changes, I'm going to update the OnCompleted event in two phases to sync with Chrome.  This is the first phase.
> * Reports are now managed in a set, not a map, since it's enough to store the id in one place.
> * Report ids are now const.
> * Copying of data has been greatly reduced.
> * This change includes preparation work for making GetStats fully async.
> 
> R=xians@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/18819004

TBR=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/16139004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6746 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-21 11:05:28 +00:00
tommi@webrtc.org
647e05cfcd Refactor StatsCollector and associated types.
* Due to the type changes, I'm going to update the OnCompleted event in two phases to sync with Chrome.  This is the first phase.
* Reports are now managed in a set, not a map, since it's enough to store the id in one place.
* Report ids are now const.
* Copying of data has been greatly reduced.
* This change includes preparation work for making GetStats fully async.

R=xians@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/18819004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6745 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-21 10:55:11 +00:00
pbos@webrtc.org
3c10758b3b Check before send/receive rtp header extensions.
BUG=1788
R=pbos@webrtc.org, tommi@webrtc.org, wu@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/13949004

Patch from Changbin Shao <changbin.shao@intel.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6744 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-20 15:27:35 +00:00
pbos@webrtc.org
8fdeee6abf Implement Base::ConstrainNewCodec2.
BUG=1788
R=wu@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/15009004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6743 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-20 14:40:23 +00:00
jiayl@webrtc.org
3edbaaf337 Ignore empty data in DataChannel::Send to match FF's behavior.
BUG=crbug/395205
R=pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/16949004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6742 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-18 23:57:50 +00:00
buildbot@webrtc.org
99f6308a2d (Auto)update libjingle 71460499-> 71464449
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6741 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-18 23:31:30 +00:00
jiayl@webrtc.org
a0b929b63c Revert "Reland r6707 with the fix for callclient.cc."
Breaking pulse build again.
This reverts commit 3e0bb9b5bf7f616000399e24f1d9622ad6b612f9.

TBR=wu@webrtc.org
BUG=3310

Review URL: https://webrtc-codereview.appspot.com/17979004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6740 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-18 22:28:36 +00:00
buildbot@webrtc.org
196ae6d667 (Auto)update libjingle 71456344-> 71456420
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6739 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-18 21:41:41 +00:00
buildbot@webrtc.org
3dec81a736 (Auto)update libjingle 71456173-> 71456344
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6738 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-18 21:39:56 +00:00
jiayl@webrtc.org
a6e8cf8fb7 Reland r6707 with the fix for callclient.cc.
TBR=mallinath@webrtc.org
BUG=3310

Review URL: https://webrtc-codereview.appspot.com/13039004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6737 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-18 21:34:11 +00:00
buildbot@webrtc.org
60e65b11c1 (Auto)update libjingle 71452608-> 71453580
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6735 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-18 21:07:50 +00:00
jiayl@webrtc.org
8636fc852e Creates the default track if the remote media content is send-only and there is no stream in the SDP.
BUG=2628
R=wu@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/16909004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6734 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-18 20:54:27 +00:00
pbos@webrtc.org
e6f84ae8a6 Initial WebRtcVideoEngine2::GetStats().
Also forward-declaring and moving WebRtcVideoRenderer out of header.

BUG=1788
R=pthatcher@webrtc.org, wu@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/13869004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6729 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-18 11:11:55 +00:00
pbos@webrtc.org
d1ea06b3d5 Restart VideoReceiveStreams in WebRtcVideoEngine2.
Puts VideoReceiveStreams in a wrapper, WebRtcVideoReceiveStream that
contain their state (configs). WebRtcVideoRenderer (the wrapper between
webrtc::VideoRenderer and cricket::VideoRenderer) has also been merged
into WebRtcVideoReceiveStream.

Implements and tests setting codecs with new FEC settings as well as RTP
header extensions on already existing receive streams.

BUG=1788
R=pthatcher@webrtc.org, wu@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/14879004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6727 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-18 09:35:58 +00:00
buildbot@webrtc.org
c31651d847 (Auto)update libjingle 71378257-> 71410012
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6726 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-18 08:22:39 +00:00
mallinath@webrtc.org
aa93611375 Connect to the turn server if address cannot be resolved by the browser by using
unresolved address. This case is only considered for TCP sockets. P2P layer will
assume socket will do the resolve by using a proxy.

BUG=3384
R=jiayl@webrtc.org, juberti@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/13829004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6722 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-17 21:55:04 +00:00
mallinath@webrtc.org
e5995aadd5 Assigning a priority to TURN server list passed to PeerConnection. First entry in the TURN server list will get the highest priotity and so forth.
This priority will be used in calculating the candidate priority generated from the server. This will allow candidate generated from server to have unique priority.

BUG=3223
R=jiayl@webrtc.org, juberti@webrtc.org, pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/16549004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6721 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-17 18:23:52 +00:00
jiayl@webrtc.org
e10d28cf14 fix
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6720 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-17 17:07:49 +00:00
pbos@webrtc.org
5301b0f1fc Move additional state into WebRtcVideoSendStream.
Prevents having two places where codecs etc. are set up and allows us to
avoid creating the underlying VideoSendStream before send codecs are
set up.

BUG=1788
R=pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/20939004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6716 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-17 08:51:46 +00:00
wu@webrtc.org
52eddec71b Revert 6707 "Add support of multiple STUN servers in UDPPort."
Reason:
Breaks the build on callclient.cc.

> Add support of multiple STUN servers in UDPPort.
> Now UDPPort signals PortComplete or PortError when the Bind requests for all STUN servers are responded or failed. If any STUN bind is successful, PortComplete is signaled; otherwise, PortError is signaled.
> 
> I discovered a bug in SocketAddress while working on this. It didn't consider two addresses unequal if they have unresolved IP and different hosts. It's fixed now.
> 
> BUG=3310
> R=mallinath@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/13879004

TBR=jiayl@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/14999004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6711 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-17 00:03:24 +00:00
wu@webrtc.org
4c3e9917e7 Make sure b lines appear before all the a lines. Per RFC 4566, the order of media description should be:
m=  (media name and transport address)
  i=* (media title)
  c=* (connection information -- optional if included at
       session level)
  b=* (zero or more bandwidth information lines)
  k=* (encryption key)
  a=* (zero or more media attribute lines)

BUG=2260
R=jiayl@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/15889004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6708 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-16 21:03:13 +00:00
jiayl@webrtc.org
46fb331bc5 Add support of multiple STUN servers in UDPPort.
Now UDPPort signals PortComplete or PortError when the Bind requests for all STUN servers are responded or failed. If any STUN bind is successful, PortComplete is signaled; otherwise, PortError is signaled.

I discovered a bug in SocketAddress while working on this. It didn't consider two addresses unequal if they have unresolved IP and different hosts. It's fixed now.

BUG=3310
R=mallinath@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/13879004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6707 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-16 20:55:31 +00:00
buildbot@webrtc.org
a8d8ad2be6 (Auto)update libjingle 71240799-> 71250251
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6705 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-16 14:23:08 +00:00
pbos@webrtc.org
38ce7d03d8 Implement unittest for SetSendCodecsChangesExistingStreams.
BUG=1788
R=pbos@webrtc.org, wu@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/19869004

Patch from Changbin Shao <changbin.shao@intel.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6699 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-16 08:01:38 +00:00
tommi@webrtc.org
47218956fc Minor refactoring of StatsCollector.
* Make GetTimeNow a static method in the cc file.
* Make GetTransportIdFromProxy a static method as well and not a class method.

The second change is in preparation of removing the proxy_to_transport_ member variable which isn't needed and is just a copy from the session stats.

R=xians@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/20959004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6696 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-15 19:22:37 +00:00
tkchin@webrtc.org
42fe4350fe Remove Thread::RunningForChannelManager().
I haven't heard of this failing, so it should be safe to remove. Let me know if this isn't the case.

BUG=3388
R=andrew@webrtc.org, wu@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/18659004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6695 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-15 17:52:43 +00:00
tommi@webrtc.org
2adc51c86e Handle the case if an unusually long peer name is provided in the peerconnection example.
R=xians@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/21899004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6687 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-15 08:56:07 +00:00
pbos@webrtc.org
cb859ecd3b Replace strcpy with talk_base::strcpyn.
Cpplint reports error 'Almost always, snprintf is better than strcpy'
when checking code styles. The function talk_base::strcpyn() is a better
option than strcpy().

BUG=1788
R=pbos@webrtc.org, wu@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/12919004

Patch from Changbin Shao <changbin.shao@intel.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6686 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-15 08:28:20 +00:00
henrike@webrtc.org
1b84116417 Add a facility to the Thread class to catch blocking regressions.
This facility should be used in methods that run on known threads
(e.g. signaling, worker) and do not have blocking thread syncronization
operations via the Thread class such as Invoke, Sleep, etc.

This is a reland of an already reviewed cl (r6679) that got reverted by mistake.

TBR=xians@google.com,tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/21889004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6682 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-14 21:42:39 +00:00
tkchin@webrtc.org
b038c72369 Enable SCTP compile for iOS.
Chromium's been updated to pull a version of usrsctplib that will compile correctly. This update DEPS to point at new revision and turn on the compile time flags for iOS sctp.

BUG=3211
R=wu@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/13929004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6681 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-14 20:24:09 +00:00
buildbot@webrtc.org
aac14973aa (Auto)update libjingle 71116846-> 71117224
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6680 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-14 20:22:21 +00:00
tommi@webrtc.org
5be649fcfc Add a facility to the Thread class to catch blocking regressions.
This facility should be used in methods that run on known threads
(e.g. signaling, worker) and do not have blocking thread syncronization
operations via the Thread class such as Invoke, Sleep, etc.

This is a reland of an already reviewed cl that got reverted by mistake.

TBR=xians@google.com

Review URL: https://webrtc-codereview.appspot.com/12999004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6679 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-14 20:21:36 +00:00
tommi@webrtc.org
242068d58c A step towards changing StatsReport::Value::name to an enum.
The stats reporting code does a lot of unnecessary string copying.
This is a step in the direction of removing that and forcing use of only known constants.

This is a reland of an already reviewed cl that got reverted by mistake.

TBR=xians@google.com

Review URL: https://webrtc-codereview.appspot.com/12989004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6678 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-14 20:19:56 +00:00
tommi@webrtc.org
03505bcb7a Make StatsCollector depend on always having a valid session pointer.
This is required since the session pointer is currently used on multiple threads but there's no synchronization code to guard it.
I'm removing the set_session() method and session() getter since they would cause problems if used without synchronization.

This is a reland of an already reviewed cl that got reverted by mistake.

TBR=xians@google.com

Review URL: https://webrtc-codereview.appspot.com/13959004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6677 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-14 20:15:26 +00:00
tommi@webrtc.org
b5348c64bb Minor refactoring of the session classes.
Make member variables that never change and are touched on multiple threads, const.
Move implementations of setters/getters of variables that can change, into the cc file in preparation of adding thread correctness checks.

This is a relanding of a cl already reviewed but got reverted by mistake.

TBR=xians@google.com

Review URL: https://webrtc-codereview.appspot.com/12979004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6676 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-14 20:11:49 +00:00
buildbot@webrtc.org
d8524348bb (Auto)update libjingle 71107853-> 71115715
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6675 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-14 20:05:09 +00:00
buildbot@webrtc.org
b92f6f9371 (Auto)update libjingle 71099685-> 71107853
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6674 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-14 18:22:37 +00:00
jiayl@webrtc.org
5f43ce6784 Fix a type cast issue for compiling webrtc with BoringSSL.
BUG=
R=juberti@google.com, juberti@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/16039004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6672 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-14 16:42:46 +00:00
buildbot@webrtc.org
e04cb0eb81 (Auto)update libjingle 70948025-> 70959275
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6671 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-14 14:54:16 +00:00
pbos@webrtc.org
ccbed3b3c4 Implement unittest SetRecvCodecsAcceptDefaultCodecs.
BUG=1788
R=pbos@webrtc.org, wu@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/14869004

Patch from Changbin Shao <changbin.shao@intel.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6663 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-11 13:02:54 +00:00
buildbot@webrtc.org
72670206db (Auto)update libjingle 70813271-> 70818369
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6642 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-09 20:40:58 +00:00
jiayl@webrtc.org
4b1f330b4f Fix a bug in SocketAddress where "a.b.c.d:1" and "b.b.c.d:1" are incorrectly considered equal.
BUG=3558
R=mallinath@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/18749004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6639 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-09 19:14:24 +00:00
tommi@webrtc.org
e9cefdef68 Improve libjingle's ASSERT and VERIFY macros on Windows.
This change has the effect that when using a debugger, a failing ASSERT/VERIFY will break exactly where the failing expression is and not two callstacks up.
Minidumps (for debug builds) will also have the failing expression at the top of the call stack.

R=xians@webrtc.org, xians

Review URL: https://webrtc-codereview.appspot.com/12929004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6633 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-09 08:04:12 +00:00
xians@webrtc.org
01bda2068b Fixed the stats problem when new track is using the same ssrc as the previous track.
Before this patch, when switching from voice mode to stereo mode, the stats won't be updated because StatsCollector binded the ssrc report with the old track, so the report can't be updated by the new track.
This patch fixes the porblem by changing the ssrc report track id to use the new track id.

TEST=libjingle_peerconnection_unittest --gtest_filter="*StatsCollectorTest*"
R=hta@chromium.org

Review URL: https://webrtc-codereview.appspot.com/17859004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6632 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-09 07:38:38 +00:00
buildbot@webrtc.org
55535d4e58 (Auto)update libjingle 70711261-> 70733822
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6627 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-08 18:18:55 +00:00
tommi@webrtc.org
ecb8723402 Change Timing::WallTimeNow to be static.
There's no need to construct a Timing object to call this method.
On Windows we were unnecessarily calling CreateWaitableTimer + CloseHandle but never actually using that waitable timer.

There's otherwise no change in functionality.

R=xians@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/20869004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6624 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-08 12:48:29 +00:00
mallinath@webrtc.org
a70be68f65 Disabling shared socket mode for TURN ports. This is done as currently when
TURN server also used as STUN server, binding responses will be handed over
to TURN port, which simply discard these messages, as requests are originated
from StunPort.

Until we find the right solution for this problem, it's better we disable this
feature.

BUG=https://code.google.com/p/webrtc/issues/detail?id=3537
R=jiayl@webrtc.org, juberti@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/19889004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6618 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-07 20:47:24 +00:00
pbos@webrtc.org
bd249bc711 Remove GetDefaultConfigs() from Call.
Defaults for configs are instead placed in the Config constructors.

BUG=
R=mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/18729004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6608 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-07 04:45:15 +00:00
buildbot@webrtc.org
3ffa1f917e (Auto)update libjingle 70422491-> 70424781
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6586 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-02 19:51:26 +00:00