30 Commits

Author SHA1 Message Date
bemasc
0edd50ccb3 Support for onbufferedamountlow
Original review at https://webrtc-codereview.appspot.com/54679004/

BUG=https://code.google.com/p/chromium/issues/detail?id=496700

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

Cr-Commit-Position: refs/heads/master@{#9527}
2015-07-01 20:34:42 +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
Karl Wiberg
9478437fde rtc::Buffer improvements
1. Constructors, SetData(), and AppendData() now accept uint8_t*,
     int8_t*, and char*. Previously, they accepted void*, meaning that
     any kind of pointer was accepted. I think requiring an explicit
     cast in cases where the input array isn't already of a byte-sized
     type is a better compromise between convenience and safety.

  2. data() can now return a uint8_t* instead of a char*, which seems
     more appropriate for a byte array, and is harder to mix up with
     zero-terminated C strings. data<int8_t>() is also available so
     that callers that want that type instead won't have to cast, as
     is data<char>() (which remains the default until all existing
     callers have been fixed).

  3. Constructors, SetData(), and AppendData() now accept arrays
     natively, not just decayed to pointers. The advantage of this is
     that callers don't have to pass the size separately.

  4. There are new constructors that allow setting size and capacity
     without initializing the array. Previously, this had to be done
     separately after construction.

  5. Instead of TransferTo(), Buffer now supports swap(), and move
     construction and assignment, and has a Pass() method that works
     just like std::move(). (The Pass method is modeled after
     scoped_ptr::Pass().)

R=jmarusic@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9033}
2015-04-20 12:03:00 +00:00
kwiberg@webrtc.org
eebcab5ce9 rtc::Buffer: Rename length to size, for conformance with the STL
And add a constructor for creating an uninitialized Buffer of a
specified size.

(I intend to follow up with more Buffer changes, but since it's rather
widely used, the rename is quite noisy and works better as a separate
CL.)

R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8841}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8841 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-24 09:20:19 +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
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
phoglund@webrtc.org
a30f007e45 Fixing incorrect memset in mock class.
I got a linker warning, and I could see the memset was clearly
incorrect since the arugment order should be ptr, value, size_t.

BUG=None
R=perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8473}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8473 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-24 13:43:22 +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
tommi@webrtc.org
209df9bf77 Change MockStatsObserver to grab values inside of OnComplete.
This is done since StatsReportCopyable is going away and the list of
supported properties of the mock class is known.
StatsReports holds a list of pointers to objects that cannot be cached,
so this is a simple way to grab the values when they're available.

R=perkj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7932 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-17 14:09:05 +00:00
buildbot@webrtc.org
b4c7b09c13 (Auto)update libjingle 73927775-> 74032598
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6965 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-25 12:11:58 +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
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
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
jiayl@webrtc.org
1a6c6281ca Revert r6420 'Revert r6390 "Adds end to end DataChannel tests." Flaky on linux_memcheck'
Failing tests are disabled for memcheck.

TBR=wu@webrtc.org
BUG=2626

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6422 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-12 21:59:29 +00:00
jiayl@webrtc.org
ddeec048c0 Revert r6390 "Adds end to end DataChannel tests." Flaky on linux_memcheck
This reverts commit c3272a942f04f9dd0db3f6bf0d201bcf47c3fa08.

TBR=wu@webrtc.org
BUG=2626

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6420 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-12 21:42:46 +00:00
jiayl@webrtc.org
e61b8e32d8 Adds end to end DataChannel tests.
BUG=2626
R=pthatcher@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6390 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-10 23:54:13 +00:00
henrike@webrtc.org
28e2075280 Adds trunk/talk folder of revision 359 from libjingles google code to
trunk/talk


git-svn-id: http://webrtc.googlecode.com/svn/trunk@4318 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-10 00:45:36 +00:00