65 Commits

Author SHA1 Message Date
Fredrik Solenberg
0c0226408d Get rid of media_engine_ from BaseChannel; only VoiceChannel needs it.
BUG=webrtc:4690
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9679}
2015-08-05 10:26:01 +00:00
jbauch
be24c94c95 Set / verify stats report timestamps.
This CL updates the track report timestamps which were fixed at "0" before
and updates the timestamps in reports for local audio tracks.

Also the timestamps are checked in various tests to make sure no "0" is
returned.

Original CL is at https://webrtc-codereview.appspot.com/51829004/

BUG=webrtc:4316
TBR=hta@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9485}
2015-06-22 22:06:50 +00:00
Henrik Lundin
8e6fd46cc3 Route time-stretching metrics through libjingle
This change connects currentAccelerateRate and currentPreemptiveRate
in webrtc::NetworkStatistics, through corresponding variables in
VoiceReceiverInfo, to googAccelerateRate and googPreemptiveExpandRate.

R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9350}
2015-06-02 07:25:03 +00:00
Fredrik Solenberg
7fb711f683 Remove unused voice channel argument from cricket::VideoChannel ctor and corresponding field in class.
BUG=4574
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9056}
2015-04-22 13:30:33 +00:00
Henrik Kjellander
7c027b64ae Enable more Clang warnings for talk/
BUG=4242
R=andresp@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9053}
2015-04-22 11:21:10 +00:00
pthatcher@webrtc.org
c04a97f054 Move from BaseSession::GetStats to WebRtcSession::GetTransportStats
This is a part of the big BUNDLE implementation at https://webrtc-codereview.appspot.com/45519004/

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

Cr-Commit-Position: refs/heads/master@{#8739}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8739 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-16 19:32:23 +00:00
pthatcher@webrtc.org
b01c707209 Use a NULL session in unit tests that don't actually use the session.
This is a part of the big BUNDLE implementation at https://webrtc-codereview.appspot.com/45519004/

R=decurtis@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8721}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8721 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-13 20:05:46 +00:00
tommi@webrtc.org
d3900296ae Use a variant for storing stats values in StatsCollector code.
This cuts down on the amount of string copying we currently do and paves the way for separating the code that fetches the stats from the code that populates the stats reports.  As is, that code is intertwined, so we populate the stats on both signaling and worker thread.

I'm also adding some documentation and TODOs for further improvements.

BUG=2822
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8700}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8700 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-12 16:36:15 +00:00
tommi@webrtc.org
92f4018d80 Start using std::map for Values in the statscollector. This is in preparaton for more work which will cut down on the string copying work we do.
Rename "AddValue" methods to AddXxx where Xxx is the type being added. Moving forward, we'll support those types natively without conversion to string.

Normalizing the extraction code to have fewer places that add the same stats and data driven additions to reports instead of multiple call sites.

BUG=2822
R=perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8597}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8597 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-04 15:25:44 +00:00
kjellander@webrtc.org
14665ff7d4 Roll chromium_revision e144d30..6fdb142 (318658:318841) + remove OVERRIDE macro
Clang version changed 223108:230914
Details: e144d30..6fdb142/tools/clang/scripts/update.sh

Removes the OVERRIDE macro defined in:
* webrtc/base/common.h
* webrtc/typedefs.h

The majority of the source changes were done by running this in src/:
perl -0pi -e "s/virtual\s([^({;]*(\([^({;]*\)[^({;]*))(OVERRIDE|override)/\1override/sg" `find {talk,webrtc} -name "*.h"  -o -name "*.cc*" -o -name "*.mm*"`

which converted all:
virtual Foo() OVERRIDE
functions to:
Foo() override

Then I manually edited:
* talk/media/webrtc/fakewebrtccommon.h
* webrtc/test/fake_common.h

Remaining uses of OVERRIDE was fixed by search+replace.

Manual edits were done to fix virtual destructors that were
overriding inherited ones.

Finally a build error related to the pure virtual definitions of
Read, Write and Rewind in common_types.h required a bit of
refactoring in:
* webrtc/common_types.cc
* webrtc/common_types.h
* webrtc/system_wrappers/interface/file_wrapper.h
* webrtc/system_wrappers/source/file_impl.cc

This roll should make it possible for us to finally re-enable deadlock
detection for TSan on the buildbots.

BUG=4106
R=pbos@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8596}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8596 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-04 13:04:54 +00:00
pbos@webrtc.org
058b1f17ac Remove GetReceiveBandwidthEstimatorStats.
Removes unnecessary non-standard stats that we don't really make use of.

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

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

Cr-Commit-Position: refs/heads/master@{#8588}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8588 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-04 08:55:16 +00:00
pthatcher@webrtc.org
7bea1ffe77 Expose negotiated ciphers through stats API.
Use the new internal API to expose the negotiated SRTP/SSL ciphers
through the stats API.
This is a follow-up to https://webrtc-codereview.appspot.com/37209004.

BUG=3976
R=juberti@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8584}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8584 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-04 01:38:49 +00:00
pbos@webrtc.org
1ed6224eaf Revert r8430 "Remove dead stats from Video{Sender,Receiver}Info."
This breaks compilation outside this codebase that needs to have it
removed before.

BUG=4322
TBR=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8432}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8432 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-19 13:57:43 +00:00
pbos@webrtc.org
8ad05b7628 Remove dead stats from Video{Sender,Receiver}Info.
These stats are neither filled nor plumbed further and might as well be
removed (as proven by how easy they were to remove).

BUG=
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8430}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8430 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-19 13:00:46 +00:00
minyue@webrtc.org
652bc37a07 Adding two new stats to StatsReport.
A follow up of r8415. This is to post the data to the StatsReport.

BUG=3867
TEST=chromium + netem + apprtc + chrome://webrtc-internals
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8423}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8423 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-18 23:51:22 +00:00
decurtis@webrtc.org
322a564f49 Fix datachannel stats id and timestamp.
Makes the id now be "datachannel_#####" where '####' is the id number for the datachannel.

Adds a timestamp to the data channel reports.

Implements unit tests to verify that the timestamp is set correctly.

BUG=1805
R=juberti@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8236}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8236 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-03 22:10:13 +00:00
tommi@webrtc.org
4fb7e25843 Update StatsReport and by extension StatsCollector to reduce data copying.
Summary of changes:
* We're now using an enum for types instead of strings which both eliminates unecessary string creations+copies and further restricts the type to a known set at compile time.
* IDs are now a separate type instead of a string, copying of Values is not possible and values are const to allow grabbing references outside of the statscollector.
* StatsReport member variables are no longer public.
* Consolidated code in StatsCollector (e.g. merged PrepareLocalReport and PrepareRemoteReport).
* Refactored methods that forced copies of string (e.g. ExtractValueFromReport).
* More asserts for thread correctness.
* Using std::list for the StatsSet instead of a set since order is not important and updates are more efficient in list<>.

BUG=2822
R=hta@webrtc.org, perkj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8110 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-21 11:36:18 +00:00
jlmiller@webrtc.org
5f93d0a140 Update libjingle license statements at top of talk files for consistency
BUG=2133
R=juberti@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8105 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-20 21:36:13 +00:00
tommi@webrtc.org
8e327c45d0 Update StatsCollector's interface in preparation of more changes.
This CL is the first of three and this one contains interface additions (not deletion for backwards compatibility) as well as a few necessary updates to internal code.

The next CL will be in Chromium to consume the new new methods and remove dependency on the old ones.

The third CL will then contain the bulk of the updates and improvements and be compatible with this interface.

BUG=2822
R=perkj@webrtc.org

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8097 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-19 20:41:26 +00:00
tommi@webrtc.org
43e54e36bf Revert 8095 "Update StatsCollector's interface in preparation of..."
> Update StatsCollector's interface in preparation of more changes.
> 
> This CL is the first of three and this one contains interface additions (not deletion for backwards compatibility) as well as a few necessary updates to internal code.
> 
> The next CL will be in Chromium to consume the new new methods and remove dependency on the old ones.
> 
> The third CL will then contain the bulk of the updates and improvements and be compatible with this interface.
> 
> BUG=2822
> R=perkj@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/36829004

TBR=tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8096 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-19 17:34:23 +00:00
tommi@webrtc.org
5b76fd79df Update StatsCollector's interface in preparation of more changes.
This CL is the first of three and this one contains interface additions (not deletion for backwards compatibility) as well as a few necessary updates to internal code.

The next CL will be in Chromium to consume the new new methods and remove dependency on the old ones.

The third CL will then contain the bulk of the updates and improvements and be compatible with this interface.

BUG=2822
R=perkj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8095 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-19 16:49:33 +00:00
decurtis@webrtc.org
487a444215 Add stats collection for the data channel.
BUG=1805
R=bemasc@chromium.org, hta@webrtc.org, pthatcher@webrtc.org, tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8083 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-15 22:55:07 +00:00
guoweis@webrtc.org
61c1247224 Fix a case where empty candidate id is used
BUG=4161
R=juberti@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8071 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-15 06:53:07 +00:00
guoweis@webrtc.org
950c518251 Add adapter_type into Candidate object.
Expose adapter_type from Candidate such that we could add jmidata on top of this.

Created a new type of report just for Ice candidate. The candidate's id is used as part of report identifier. This code change only reports the best connection's local candidate's adapter type. There should be cleaning later to move other candidate's attributes to the new report.

This is migrated from issue 32599004

BUG=
R=juberti@webrtc.org

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

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7925 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-16 23:01:31 +00:00
guoweis@webrtc.org
55360ae402 Revert "Add adapter_type into Candidate object."
This reverts commit aaf02cc2d4f696345ce0e6d5715f2cfa22aea689.

BUG=
TBR=juberti@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7908 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-16 05:28:10 +00:00
guoweis@webrtc.org
aaf02cc2d4 Add adapter_type into Candidate object.
Expose adapter_type from Candidate such that we could add jmidata on top of this.

Created a new type of report just for Ice candidate. The candidate's id is used as part of report identifier. This code change only reports the best connection's local candidate's adapter type. There should be cleaning later to move other candidate's attributes to the new report.

This is migrated from issue 32599004

BUG=
R=juberti@webrtc.org

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7906 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-15 23:03:10 +00:00
tommi@webrtc.org
69bc5a300f Add thread asserts to StatsCollector.
Also adding a "ForTest" postfix to a test-only method.

R=perkj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7894 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-15 09:44:48 +00:00
pbos@webrtc.org
fb108b5a28 Revert r7885.
Breaks compile step of other code where network name of
cricket::Candidate is used.

TBR=guoweis@webrtc.org,juberti@webrtc.org
BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7892 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-15 08:04:50 +00:00
guoweis@webrtc.org
8c9d79a29d Add adapter_type into Candidate object.
Expose adapter_type from Candidate such that we could add jmidata on top of this.

Created a new type of report just for Ice candidate. The candidate's id is used as part of report identifier. This code change only reports the best connection's local candidate's adapter type. There should be cleaning later to move other candidate's attributes to the new report.

This is migrated from issue 32599004

BUG=
R=juberti@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7885 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-12 19:21:14 +00:00
henrike@webrtc.org
269fb4bc90 move xmpp and p2p to webrtc
Create a copy of talk/xmpp and talk/p2p under webrtc/libjingle/xmpp and
webrtc/p2p. Also makes libjingle use those version instead of the one in the talk folder.

BUG=3379

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7549 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-28 22:20:11 +00:00
henrike@webrtc.org
28100cb388 Reverts r7459 "Create a copy of talk/xmpp and talk/p2p under webrtc/libjingle/xmpp and webrtc/p2p."
BUG=N/A
TBR=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7472 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-17 22:03:39 +00:00
henrike@webrtc.org
d1ba6d9cbf Create a copy of talk/xmpp and talk/p2p under webrtc/libjingle/xmpp and webrtc/p2p.
BUG=3379
R=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7459 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-15 17:30:28 +00:00
buildbot@webrtc.org
1ecbe45c7e (Auto)update libjingle 77689511-> 77696841
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7449 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-14 20:29:28 +00:00
tommi@webrtc.org
5b06b06cc0 Revert 6897 (i.e. Reland 6863) - "Revert 6863 "Refactor StatsCollector and associated..."
The bot that had the problem was using an old version of STL, so relanding.

> Revert 6863 "Refactor StatsCollector and associated types."
> 
> Breaks chrome compilation on Mac:
> 
> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/bits/vector.tcc:252:8:
> error: no matching constructor for initialization of
> 'webrtc::StatsReport'
>           _Tp __x_copy = __x;
>               ^          ~~~
> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/bits/stl_vector.h:608:4:
> note: in instantiation of member function
> 'std::vector<webrtc::StatsReport, std::allocator<webrtc::StatsReport>
> >::_M_insert_aux' requested here
>           _M_insert_aux(end(), __x);
>           ^
> ../../content/renderer/media/mock_peer_connection_impl.cc:282:11:
> note: in instantiation of member function
> 'std::vector<webrtc::StatsReport, std::allocator<webrtc::StatsReport>
> >::push_back' requested here
>   reports.push_back(report1);
>           ^
> ../../third_party/libjingle/source/talk/app/webrtc/statstypes.h:49:3:
> note: candidate constructor not viable: requires 0 arguments, but 1
> was provided
>   StatsReport() : timestamp(0) {}
> 
> 
> 
> > 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.
> > 
> > This is a reland of r6778 which was reverted due to fyi bots failing.
> > I found and fixed the issue which was that in a couple of places I needed to replace a report instead of finding+updating an existing one.
> > 
> > R=xians@webrtc.org
> > 
> > Review URL: https://webrtc-codereview.appspot.com/15119004
> 
> TBR=tommi@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/21169004

TBR=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6908 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-15 08:38:30 +00:00
niklas.enbom@webrtc.org
22fa032f22 Revert 6863 "Refactor StatsCollector and associated types."
Breaks chrome compilation on Mac:

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/bits/vector.tcc:252:8:
error: no matching constructor for initialization of
'webrtc::StatsReport'
          _Tp __x_copy = __x;
              ^          ~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/bits/stl_vector.h:608:4:
note: in instantiation of member function
'std::vector<webrtc::StatsReport, std::allocator<webrtc::StatsReport>
>::_M_insert_aux' requested here
          _M_insert_aux(end(), __x);
          ^
../../content/renderer/media/mock_peer_connection_impl.cc:282:11:
note: in instantiation of member function
'std::vector<webrtc::StatsReport, std::allocator<webrtc::StatsReport>
>::push_back' requested here
  reports.push_back(report1);
          ^
../../third_party/libjingle/source/talk/app/webrtc/statstypes.h:49:3:
note: candidate constructor not viable: requires 0 arguments, but 1
was provided
  StatsReport() : timestamp(0) {}



> 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.
> 
> This is a reland of r6778 which was reverted due to fyi bots failing.
> I found and fixed the issue which was that in a couple of places I needed to replace a report instead of finding+updating an existing one.
> 
> R=xians@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/15119004

TBR=tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6897 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-13 23:11:04 +00:00
buildbot@webrtc.org
a09a99950e (Auto)update libjingle 73222930-> 73226398
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6891 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-13 17:26:08 +00:00
tommi@webrtc.org
730bf30da7 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.

This is a reland of r6778 which was reverted due to fyi bots failing.
I found and fixed the issue which was that in a couple of places I needed to replace a report instead of finding+updating an existing one.

R=xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6863 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-11 14:08:33 +00:00
buildbot@webrtc.org
d4e598d57a (Auto)update libjingle 72097588-> 72159069
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6799 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-29 17:36:52 +00:00
henrike@webrtc.org
185636cf70 Revert of 6778 "Refactor StatsCollector and associated types."
Breakes FYI bots.

BUG=N/A
TBR=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6783 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-25 18:44:42 +00:00
tommi@webrtc.org
190d269c0f 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.

(This is a reland of the original attempt in r6747)

R=xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6778 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-25 10:32:30 +00:00
jiayl@webrtc.org
06b04ec4ab Fix a crash in statscollector.cc caused by invoking methods on the worker thread which destroys the Transport.
BUG=3579
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6776 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-24 20:41:20 +00:00
henrike@webrtc.org
39f831fbb0 Re-revert of 6747 "Refactor StatsCollector and associated types."
Breakes FYI bots.

BUG=N/A
TBR=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6772 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-24 14:20:52 +00:00
buildbot@webrtc.org
437d57db5b (Auto)update libjingle 71775619-> 71778545
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6771 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-23 21:40:28 +00:00
henrike@webrtc.org
8c7e3291a9 Revert 6747 "Refactor StatsCollector and associated types."
Breakes FYI bots.

BUG=N/A
TBR=ajm@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6770 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-23 21:38:58 +00:00
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
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
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