144 Commits

Author SHA1 Message Date
guoweis
a3587fb779 clean up field_trial_default target, to be used by remoting_perftests.
TBR=tommi@webrtc.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#10382}
2015-10-23 02:33:22 +00:00
asapersson
86b016027d Add stats for average QP per frame for VP8 (for received video streams):
"WebRTC.Video.Decoded.VP8.Qp"

BUG=chromium:512752

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

Cr-Commit-Position: refs/heads/master@{#10349}
2015-10-21 06:55:32 +00:00
tommi
e4f96501fc Remove system_wrappers/interface/trace_event.h
BUG=

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

Cr-Commit-Position: refs/heads/master@{#10346}
2015-10-21 06:00:57 +00:00
Magnus Jedvert
1b40a9a8af RefCountInterface: Make AddRef() and Release() const
This CL makes AddRef() and Release() const member methods and the refcount integer mutable. This is reasonable, because they only manage the lifetime of the object, and this is also how it's done in Chromium.

The purpose is to be able to capture a const pointer in a scoped_refptr, which is currenty impossible. The practial problem this CL solves is this:

void Foo::Bar() const {}

rtc::Callback0<void> Foo::MakeClosure() const {
  return rtc::Bind(&Foo::Bar, this);
}

We currently capture |this| as const Foo*. With this CL, |this| will be captured as scoped_refptr<const Foo>.

A test is also added in bind_unittest to check this behaviour.

BUG=webrtc:5065
R=perkj@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10253}
2015-10-12 13:50:50 +00:00
henrikg
91d6edef35 Add RTC_ prefix to (D)CHECKs and related macros.
We must remove dependency on Chromium, i.e. we can't use Chromium's base/logging.h. That means we need to define these macros in WebRTC also when doing Chromium builds. And this causes redefinition.

Alternative solutions:
* Check if we already have defined e.g. CHECK, and don't define them in that case. This makes us depend on include order in Chromium, which is not acceptable.
* Don't allow using the macros in WebRTC headers. Error prone since if someone adds it there by mistake it may compile fine, but later break if a header in added or order is changed in Chromium. That will be confusing and hard to enforce.
* Ensure that headers that are included by an embedder don't include our macros. This would require some heavy refactoring to be maintainable and enforcable.
* Changes in Chromium for this is obviously not an option.

BUG=chromium:468375
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#9964}
2015-09-17 07:24:51 +00:00
henrikg
3c089d751e Add RTC_ prefix to contructormagic macros.
We must remove dependency on Chromium, i.e. we can't use Chromium's base/logging.h. That means we need to define these macros in WebRTC also when doing Chromium builds. And this causes redefinition.

* DISALLOW_ASSIGN -> RTC_DISALLOW_ASSIGN
* DISALLOW_COPY_AND_ASSIGN -> RTC_DISALLOW_COPY_AND_ASSIGN
* DISALLOW_IMPLICIT_CONSTRUCTORS -> RTC_DISALLOW_IMPLICIT_CONSTRUCTORS

Related CL: https://codereview.webrtc.org/1335923002/

BUG=chromium:468375
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#9953}
2015-09-16 12:37:52 +00:00
Peter Kasting
dce40cf804 Update a ton of audio code to use size_t more correctly and in general reduce
use of int16_t/uint16_t.

This is the upshot of a recommendation by henrik.lundin and kwiberg on an original small change ( https://webrtc-codereview.appspot.com/42569004/#ps1 ) to stop using int16_t just because values could fit in it, and is similar in nature to a previous "mass change to use size_t more" ( https://webrtc-codereview.appspot.com/23129004/ ) which also needed to be split up for review but to land all at once, since, like adding "const", such changes tend to cause a lot of transitive effects.

This was be reviewed and approved in pieces:
https://codereview.webrtc.org/1224093003
https://codereview.webrtc.org/1224123002
https://codereview.webrtc.org/1224163002
https://codereview.webrtc.org/1225133003
https://codereview.webrtc.org/1225173002
https://codereview.webrtc.org/1227163003
https://codereview.webrtc.org/1227203003
https://codereview.webrtc.org/1227213002
https://codereview.webrtc.org/1227893002
https://codereview.webrtc.org/1228793004
https://codereview.webrtc.org/1228803003
https://codereview.webrtc.org/1228823002
https://codereview.webrtc.org/1228823003
https://codereview.webrtc.org/1228843002
https://codereview.webrtc.org/1230693002
https://codereview.webrtc.org/1231713002

The change is being landed as TBR to all the folks who reviewed the above.

BUG=chromium:81439
TEST=none
R=andrew@webrtc.org, pbos@webrtc.org
TBR=aluebs, andrew, asapersson, henrika, hlundin, jan.skoglund, kwiberg, minyue, pbos, pthatcher

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

Cr-Commit-Position: refs/heads/master@{#9768}
2015-08-24 21:52:45 +00:00
tommi
efefda6062 Move SystemInfo to rtc_base_approved and delete unused code.
This cl removes a lot of unused functionality in SystemInfo and reduces dependencies.
There's duplicate functionality in this class and WebRTC's CpuInfo class, so I'm consolidating the two implementations.
The CpuInfo interface will still exist since it's being used from Chrome to initialize the core count before the sandbox is engaged.
With this change, the SystemInfo class will get the benefit too of this initialization.

NOTRY=true
(using no try due to a dead android try bot)

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

Cr-Commit-Position: refs/heads/master@{#9743}
2015-08-20 12:04:18 +00:00
Henrik Kjellander
e8d191f00f Restore rows() and cols() in aligned_array.h
These getters were removed in https://codereview.webrtc.org/1172163004
but are used in external code, so it makes sense to keep
them around to make the class more useful.

R=henrikg@webrtc.org, pkasting@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#9478}
2015-06-20 18:11:02 +00:00
Peter Kasting
728d9037c0 Reformat existing code. There should be no functional effects.
This includes changes like:
* Attempt to break lines at better positions
* Use "override" in more places, don't use "virtual" with it
* Use {} where the body is more than one line
* Make declaration and definition arg names match
* Eliminate unused code
* EXPECT_EQ(expected, actual) (but use (actual, expected) for e.g. _GT)
* Correct #include order
* Use anonymous namespaces in preference to "static" for file-scoping
* Eliminate unnecessary casts
* Update reference code in comments of ARM assembly sources to match actual current C code
* Fix indenting to be more style-guide compliant
* Use arraysize() in more places
* Use bool instead of int for "boolean" values (0/1)
* Shorten and simplify code
* Spaces around operators
* 80 column limit
* Use const more consistently
* Space goes after '*' in type name, not before
* Remove unnecessary return values
* Use "(var == const)", not "(const == var)"
* Spelling
* Prefer true, typed constants to "enum hack" constants
* Avoid "virtual" on non-overridden functions
* ASSERT(x == y) -> ASSERT_EQ(y, x)

BUG=none
R=andrew@webrtc.org, asapersson@webrtc.org, henrika@webrtc.org, juberti@webrtc.org, kjellander@webrtc.org, kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9420}
2015-06-11 21:31:48 +00:00
Peter Boström
26b08605e2 Use one scoped_refptr.
Uses webrtc/base/scoped_ref_ptr.h and removes the copy in
system_wrappers.

BUG=
R=kwiberg@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9370}
2015-06-04 13:18:28 +00:00
Wan-Teh Chang
76cda01ae2 Document the time unit in EventWrapper.
R=henrika@webrtc.org, phoglund@webrtc.org, tommi@webrtc.org
BUG=none
TEST=none

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

Cr-Commit-Position: refs/heads/master@{#9349}
2015-06-02 00:33:51 +00:00
Wan-Teh Chang
5a8bad60ca Update a comment that mentions the nonexistent Reset() method.
R=henrika@webrtc.org, phoglund@webrtc.org, niklas.enbom@webrtc.org
BUG=none
TEST=none

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

Cr-Commit-Position: refs/heads/master@{#9332}
2015-05-29 16:41:50 +00:00
Wei Zhong
80154f6b28 Set correct .type directive for asm functions.
This is required per binutil manual.
https://sourceware.org/binutils/docs/as/Type.html#Type

Otherwise, runtime SEGV_MAPERR if linked by GNU bfd linker.

BUG=b/20218337
R=wzhong@chromium.org

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

Patch from Wei Zhong <wzhong@chromium.org>.

Cr-Commit-Position: refs/heads/master@{#9106}
2015-04-28 20:51:57 +00:00
Karl Wiberg
a8e285d193 Remove webrtc/base/move.h, and make types move-only manually
In days of yore, move.h contained complicated macros for approximating
move-only behavior in C++03. But since we live in the future now, and
can rely on C++11 features---including real move semantics!---it makes
more sense to just write the handful of required lines by hand in each
move-only class.

(We only live in the near future, though, not in some sci-fi
intergalactic civilization singularity type future, so we have to
define Pass() methods for these classes since we're not allowed to use
std::move().)

R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9060}
2015-04-22 17:43:59 +00:00
Peter Boström
64c0366908 Revert "Revert "Split EventWrapper in twain.""
This reverts commit cf3c83e76c273309558c86fda915410f65b7a899.

Reverting EventWrapper split did not fix the issue, re-landing.

BUG=chromium:470013
TBR=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8946}
2015-04-08 09:24:25 +00:00
Minyue
cf3c83e76c Revert "Split EventWrapper in twain."
This reverts commit 9509fbfc301dd5412804ce5731afedc81480f2f8.

This is to debug a Chromium issue that WebRTC hangs if there is > 1 PeerConnection active in the browser on Win XP.

BUG=

TBR=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8912}
2015-04-01 14:31:45 +00:00
tommi@webrtc.org
9509fbfc30 Split EventWrapper in twain.
I'm splitting the timer functions in EventWrapper into a separate interface.
- Users of the timer functions have different needs than users of a generic event
- Providing a default implementation for EventWrapper that simply uses rtc::Event.

This means that clients of WebRTC that don't use the relatively few classes, typically rendering classes, that depend on the event timer functionality, also don't pull in dependencies on multimedia timers.

R=mflodman@webrtc.org, mflodman
BUG=

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

Cr-Commit-Position: refs/heads/master@{#8833}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8833 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-23 16:25:46 +00:00
tommi@webrtc.org
38492c5b6f Re-land 8810 "- Add a SetPriority method to ThreadWr..."
> Revert 8810 "- Add a SetPriority method to ThreadWrapper"
> Seeing if this is causing roll issues.
> 
> > - Add a SetPriority method to ThreadWrapper
> > - Remove 'priority' from CreateThread and related member variables from implementations
> > - Make supplying a name for threads, non-optional
> > 
> > BUG=
> > R=magjed@webrtc.org
> > 
> > Review URL: https://webrtc-codereview.appspot.com/44729004
> 
> TBR=tommi@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/48609004

TBR=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8819}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8819 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-22 14:42:46 +00:00
tommi@webrtc.org
90a1cb4630 Revert 8810 "- Add a SetPriority method to ThreadWrapper"
Seeing if this is causing roll issues.

> - Add a SetPriority method to ThreadWrapper
> - Remove 'priority' from CreateThread and related member variables from implementations
> - Make supplying a name for threads, non-optional
> 
> BUG=
> R=magjed@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/44729004

TBR=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8818}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8818 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-22 14:34:46 +00:00
tommi@webrtc.org
b6817d793f - Add a SetPriority method to ThreadWrapper
- Remove 'priority' from CreateThread and related member variables from implementations
- Make supplying a name for threads, non-optional

BUG=
R=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8810}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8810 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-20 15:52:43 +00:00
tommi@webrtc.org
361981faa8 Use scoped_ptr for ThreadWrapper::CreateThread.
BUG=
R=henrika@webrtc.org, pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8794}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8794 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-19 14:45:42 +00:00
tommi@webrtc.org
27c0be9dfe Remove ThreadObj #define and kThreadMaxNameLength from thread_wrapper.
BUG=
R=hbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8792}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8792 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-19 14:36:43 +00:00
tommi@webrtc.org
c7157da599 Use atomic operations for setting/reading the trace filter.
The filter is currently being set and read by a number of threads and tripping up tsan.

Original review: https://webrtc-codereview.appspot.com/47609004/

R=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8789}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8789 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-19 09:30:45 +00:00
tommi@webrtc.org
edd517bca1 Fix FYI build - add a missing include to event_tracer.h in system_wrappers.
TBR=magjed@webrtc.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#8768}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8768 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-17 22:15:28 +00:00
tommi@webrtc.org
25819b8294 Revert 8753 "Use atomic operations for setting/reading the trace..."
Caused VP9 test to fail on TSAN and doesn't build in some configuration due to
"../webrtc/base/criticalsection.h:181:12: error: cannot compile this atomic library call yet"
:-(

> Use atomic operations for setting/reading the trace filter.
> The filter is currently being set and read by a number of threads and tripping up tsan.
> 
> R=mflodman@webrtc.org
> BUG=
> 
> Review URL: https://webrtc-codereview.appspot.com/47609004

TBR=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8759}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8759 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-17 15:35:41 +00:00
tommi@webrtc.org
7c64ed2e0c Move trace_event and associated files to webrtc/base.
Also starting to use TRACE_EVENT from thread.cc in webrtc/base, to track Invoke() calls.

BUG=
R=magjed@webrtc.org, tina.legrand@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8755}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8755 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-17 14:26:15 +00:00
tommi@webrtc.org
c383c24c2b Use atomic operations for setting/reading the trace filter.
The filter is currently being set and read by a number of threads and tripping up tsan.

R=mflodman@webrtc.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#8753}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8753 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-17 13:47:16 +00:00
pbos@webrtc.org
86639737b8 Remove thread id from ThreadWrapper::Start().
Removes ThreadPosix::InitParams and a corresponding wait for an event.
This unblocks ThreadPosix::Start which had to wait for thread scheduling
for an event to trigger on the spawned thread, giving faster Start()
calls.

BUG=4413
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8709}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8709 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-13 00:07:45 +00:00
andrew@webrtc.org
a3823e29a2 Hide assembly symbols.
Prevent symbols defined in assembly sources from being exported in
libraries which include them by marking them hidden, as they are
implementation details.

BUG=webrtc:4183
R=andrew@webrtc.org

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

Patch from Richard Coles <torne@chromium.org>.

Cr-Commit-Position: refs/heads/master@{#8658}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8658 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-09 23:21:42 +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
kwiberg@webrtc.org
9e5f941ff1 Remove webrtc/system_wrappers/interface/scoped_ptr.h
No one uses it anymore; they've all switched to the cooler
webrtc/base/scoped_ptr.h instead.

R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8569}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8569 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-03 10:17:49 +00:00
kwiberg@webrtc.org
00b8f6b364 Use base/scoped_ptr.h; system_wrappers/interface/scoped_ptr.h is going away
BUG=
R=andrew@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8517}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8517 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-26 14:43:50 +00:00
sprang@webrtc.org
0200f70792 Set webrtc_rtp category to be disabled by default.
Should not affect webrtc standalone. For chromium, disabling helps
mitigate viewing performance problems.

BUG=chromium:441440
R=mflodman@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8375}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8375 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-16 12:06:48 +00:00
pbos@webrtc.org
d5ce2e63df Remove EventWrapper::Reset().
This simplifies the event wrapper which we've recently found issues in.
Also refactoring EndToEndTest.RespectsNetworkState to not depend on it.

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

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

Cr-Commit-Position: refs/heads/master@{#8366}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8366 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-13 14:58:38 +00:00
glaznev@webrtc.org
669bc7ee43 Modify default field trial implementation to allow
WebRTC client to turn on feature code.

R=andresp@webrtc.org, henrika@webrtc.org, mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8301}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8301 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-09 18:18:19 +00:00
tommi@webrtc.org
fe19699a20 Revert 8260 "Base RWLockWrapper on rtc::SharedExclusiveLock."
Unfortunately this caused channel teardown to hang.
More details in email(s).

> Base RWLockWrapper on rtc::SharedExclusiveLock.
>
> Also moves rtc::Event and rtc::SharedExclusiveLock to rtc_base_approved.
>
> R=tommi@webrtc.org
> BUG=
>
> Review URL: https://webrtc-codereview.appspot.com/38889004

TBR=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8284}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8284 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-07 22:36:19 +00:00
pbos@webrtc.org
75025434bf Base RWLockWrapper on rtc::SharedExclusiveLock.
Also moves rtc::Event and rtc::SharedExclusiveLock to rtc_base_approved.

R=tommi@webrtc.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#8260}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8260 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-06 08:33:15 +00:00
tommi@webrtc.org
875c97ed9d Remove SetNotAlive method from the thread class.
Also cleaning up methods with the same name in other classes that are derived from the above method.

R=perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8242}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8242 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-04 11:12:39 +00:00
tommi@webrtc.org
aef0779dab Rewrite ThreadWindows.
* Remove "dead" and "alive" variables.
* Remove critical section
* Skip synchronizing with the worker thread to verify startup (no need).
* Remove implementation of SetNotAlive()
* Always set thread name
* Add thread checks for correct usage.

Also added some TODOs for myself for the ThreadWrapper interface.

I'm removing the HasNoMonitorThread test since it is no longer relevant and ends up checking the wrong thing (ProcessThread - a generic thread type) in the wrong way (parsing a debug log) :)  I think it served a purpose some years ago, but things have changed since.

BUG=2902
R=henrika@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8220}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8220 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-30 15:06:44 +00:00
tommi@webrtc.org
2bbc35d896 Remove unused method, SetAffinity, from the ThreadWrapper class.
The method was also not consistently implemented across all platforms.

R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8212}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8212 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-30 09:43:20 +00:00
kwiberg@webrtc.org
2ebfac5649 Remove COMPILE_ASSERT and use static_assert everywhere
COMPILE_ASSERT is no longer needed now that we have C++11's
static_assert.

R=aluebs@webrtc.org, andrew@webrtc.org, hellner@chromium.org, henrike@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8058 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-14 10:51:54 +00:00
andresp@webrtc.org
86e1e487e7 Move system_wrappers.gyp files to the proper directory.
Build targets should not refer to non-subpaths as was happening before when
 source/system_wrappers.gyp refers to ../interface/ files.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8057 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-14 09:30:52 +00:00
kwiberg@webrtc.org
af9d56f38c Unify the two copies of template_util.h
This patch basically deletes webrtc/base/template_util.h (which is the
more outdated copy, although there are only cosmetical differences)
and moves webrtc/system_wrappers/source/template_util.h to take its
place.

The reunified header uses the rtc namespace like the old
webrtc/base/template_util.h, rather than the webrtc namespace like
webrtc/system_wrappers/source/template_util.h.

R=aluebs@webrtc.org, andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8050 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-13 20:32:04 +00:00
kwiberg@webrtc.org
3df38b442f Unify the two copies of compile_assert.h
This patch basically deletes webrtc/base/compile_assert.h (which is
the more outdated copy) and moves
webrtc/system_wrappers/source/compile_assert.h to take its place.

R=aluebs@webrtc.org, andrew@webrtc.org, tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8048 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-13 11:37:48 +00:00
kwiberg@webrtc.org
aa21f2765b Unify the two copies of move.h
This patch basically deletes webrtc/base/move.h (which is the more
outdated copy) and moves webrtc/system_wrappers/source/move.h to take
its place.

R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7963 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-19 14:35:57 +00:00
asapersson@webrtc.org
97d0489058 Add video send bitrates to histogram stats:
- total bitrate ("WebRTC.Video.BitrateSentInKbps")
- media bitrate ("WebRTC.Video.MediaBitrateSentInKbps")
- rtx bitrate ("WebRTC.Video.RtxBitrateSentInKbps")
- padding bitrate ("WebRTC.Video.PaddingBitrateSentInKbps")
- retransmitted bitrate ("WebRTC.Video.RetransmittedBitrateInKbps")

Add retransmitted bytes to StreamDataCounters.

Change in UpdateRtpStats to also update counters for retransmitted packet.

BUG=crbug/419657
R=mflodman@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7838 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-09 09:47:53 +00:00
asapersson@webrtc.org
83b5200f95 Add framerate for complete received frames to histogram stats:
"WebRTC.Video.CompleteFramesReceivedPerSecond".

BUG=crbug/419657
R=mflodman@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7762 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-28 10:17:13 +00:00
pkasting@chromium.org
4591fbd09f Use size_t more consistently for packet/payload lengths.
See design doc at https://docs.google.com/a/chromium.org/document/d/1I6nmE9D_BmCY-IoV6MDPY2V6WYpEI-dg2apWXTfZyUI/edit?usp=sharing for more information.

This CL was reviewed and approved in pieces in the following CLs:
https://webrtc-codereview.appspot.com/24209004/
https://webrtc-codereview.appspot.com/24229004/
https://webrtc-codereview.appspot.com/24259004/
https://webrtc-codereview.appspot.com/25109004/
https://webrtc-codereview.appspot.com/26099004/
https://webrtc-codereview.appspot.com/27069004/
https://webrtc-codereview.appspot.com/27969004/
https://webrtc-codereview.appspot.com/27989004/
https://webrtc-codereview.appspot.com/29009004/
https://webrtc-codereview.appspot.com/30929004/
https://webrtc-codereview.appspot.com/30939004/
https://webrtc-codereview.appspot.com/31999004/
Committing as TBR to the original reviewers.

BUG=chromium:81439
TEST=none
TBR=pthatcher,henrik.lundin,tina.legrand,stefan,tkchin,glaznev,kjellander,perkj,mflodman,henrika,asapersson,niklas.enbom

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7726 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-20 22:28:14 +00:00
asapersson@webrtc.org
96dc685143 Add stats for video:
- number of sent/received RTCP NACK/FIR/PLI per minute
- percentage of unique sent/received NACK requests
- percentage of discarded/duplicated packets by the jitter buffer
- permille of sent/received key frames

BUG=crbug/419657
R=mflodman@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7592 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-03 14:40:38 +00:00