32 Commits

Author SHA1 Message Date
Edward Lemur
c20978e581 Rename webrtc/base -> webrtc/rtc_base
NOPRESUBMIT=True # cpplint errors that aren't caused by this CL.
NOTRY=True
NOTREECHECKS=True
TBR=kwiberg@webrtc.org, kjellander@webrtc.org

Bug: webrtc:7634
Change-Id: I3cca0fbaa807b563c95979cccd6d1bec32055f36
Reviewed-on: https://chromium-review.googlesource.com/562156
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18919}
2017-07-06 19:11:40 +00:00
Henrik Kjellander
a80c16a67c Revert "Update includes for webrtc/{base => rtc_base} rename (2/3)"
This reverts commit c3771cc4d37f5573fe53b7c7cff295a4f0f9560f.
(breaks downstream internal project)

BUG=webrtc:7634
NOTRY=True
NOPRESUBMIT=True

Review-Url: https://codereview.webrtc.org/2972463002 .
Cr-Commit-Position: refs/heads/master@{#18873}
2017-07-01 14:48:18 +00:00
kjellander
c3771cc4d3 Update includes for webrtc/{base => rtc_base} rename (2/3)
I used a command like this to update the paths:
perl -pi -e "s/webrtc\/base/webrtc\/rtc_base/g" `find webrtc/rtc_base -name "*.cc" -o -name "*.h"`

BUG=webrtc:7634
NOPRESUBMIT=True # cpplint errors that aren't caused by this CL.

Review-Url: https://codereview.webrtc.org/2969623003
Cr-Commit-Position: refs/heads/master@{#18870}
2017-06-30 20:42:44 +00:00
tommi
a6219cc3ef FileWrapper[Impl] modifications and actually remove the "Impl" class.
This is a somewhat involved refactoring of this class. Here's an overview of the changes:

* FileWrapper can now be used as a regular class and instances allocated on the stack.
* The type now has support for move semantics and copy isn't allowed.
* New public ctor with FILE* that can be used instead of OpenFromFileHandle.
* New static Open() method.  The intent of this is to allow opening a file and getting back a FileWrapper instance.  Using this method instead of Create(), will allow us in the future to make the FILE* member pointer, to be const and simplify threading (get rid of the lock).
* Rename the Open() method to is_open() and make it inline.
* The FileWrapper interface is no longer a pure virtual interface.  There's only one implementation so there's no need to go through a vtable for everything.
* Functionality offered by the class, is now reduced.  No support for looping (not clear if that was actually useful to users of that flag), no need to implement the 'read_only_' functionality in the class, since file APIs implement that already, no support for *not* managing the file handle (this wasn't used).  OpenFromFileHandle always "manages" the file.
* Delete the unused WriteText() method and don't support opening files in text mode.  Text mode is only different on Windows and on Windows it translates \n to \r\n, which means that files such as log files, could have a slightly different format on Windows than other platforms.  Besides, tools on Windows can handle UNIX line endings.
* Remove FileName(), change Trace code to manage its own path.
* Rename id_ member variable to file_.
* Removed the open_ member variable since the same functionality can be gotten from just checking the file pointer.
* Don't call CloseFile inside of Write.  Write shouldn't be changing the state of the class beyond just attempting to write.
* Remove concept of looping from FileWrapper and never close inside of Read()
* Changed stream base classes to inherit from a common base class instead of both defining the Rewind method. Ultimately, Id' like to remove these interfaces and just have FileWrapper.
* Remove read_only param from OpenFromFileHandle
* Renamed size_in_bytes_ to position_, since it gets set to 0 when Rewind() is called (and the size actually does not change).
* Switch out rw lock for CriticalSection. The r/w lock was only used for reading when checking the open_ flag.

BUG=

Review-Url: https://codereview.webrtc.org/2054373002
Cr-Commit-Position: refs/heads/master@{#13155}
2016-06-15 17:30:18 +00:00
pbos
46ad5426b0 Revert of "Create rtc::AtomicInt POD struct." (patchset #3 id:40001 of https://codereview.webrtc.org/1498953002/ )
Reason for revert:
Broke downstream compile step, possibly relandable when using a MSVC version that has constexpr, other than that I'm out of ideas.

.../webrtc/base/atomicops.h:71:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const rtc::AtomicInt&'

Original issue's description:
> Reland of "Create rtc::AtomicInt POD struct."
>
> Relands https://codereview.webrtc.org/1420043008/ with brace initializers
> instead of constructors hoping that they won't introduce static
> initializers.
>
> BUG=
> R=tommi@webrtc.org
>
> Committed: https://crrev.com/84f0970d100e67a1dc4fe9a1b16b7d293302044e
> Cr-Commit-Position: refs/heads/master@{#10920}

TBR=tommi@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#10922}
2015-12-07 22:29:21 +00:00
Peter Boström
84f0970d10 Reland of "Create rtc::AtomicInt POD struct."
Relands https://codereview.webrtc.org/1420043008/ with brace initializers
instead of constructors hoping that they won't introduce static
initializers.

BUG=
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10920}
2015-12-07 22:07:11 +00:00
Tommi
dfafd12418 Remove ThreadWrapper::GetThreadId. The method just calls rtc::CurrentThreadId(), which also has a more descriptive name.
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10753}
2015-11-23 14:37:34 +00:00
pbos
3c12f4dadb Revert of Create rtc::AtomicInt POD struct. (patchset #12 id:220001 of https://codereview.webrtc.org/1420043008/ )
Reason for revert:
Caused static initializers.

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

Original issue's description:
> Create rtc::AtomicInt POD struct.
>
> Prevents accidental non-atomic reads, increments and stores since
> "volatile int" doesn't enforce atomic usage.
>
> BUG=
> R=kwiberg@webrtc.org, tommi@webrtc.org
>
> Committed: https://crrev.com/b27f590ece487819c3d1fda400315e582fb975b6
> Cr-Commit-Position: refs/heads/master@{#10657}

TBR=kwiberg@webrtc.org,tommi@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#10669}
2015-11-17 11:21:07 +00:00
pbos
b27f590ece Create rtc::AtomicInt POD struct.
Prevents accidental non-atomic reads, increments and stores since
"volatile int" doesn't enforce atomic usage.

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

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

Cr-Commit-Position: refs/heads/master@{#10657}
2015-11-16 19:03:06 +00:00
Brave Yao
a44660960a When we trace to file, add eol of each trace message.
BUG=webrtc:4864
TEST=Manual Test with voe_cmd_test
R=pbos@webrtc.org
TBR=kjellander@webrtc.org

The regression is introduced in #8529, Review URL: https://webrtc-codereview.appspot.com/34329004.

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

Cr-Commit-Position: refs/heads/master@{#9644}
2015-07-28 02:46:01 +00:00
pbos
235c35f292 Implement store as an explicit atomic operation.
Using explicit atomic operations permits TSan to understand them and
prevents false positives.

Downgrading the atomic Load to acquire semantics. This reduces the
number of memory barriers inserted from two down to one at most.

Also renaming Load/Store to AcquireLoad/ReleaseStore.

BUG=chromium:512382
R=dvyukov@chromium.org, glider@chromium.org
TBR=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9613}
2015-07-22 15:35:04 +00:00
Peter Boström
ff019b0b55 Move rtc::AtomicOps to webrtc/base/atomicops.h.
Removes FixedSizeLockFreeQueue which isn't used anymore. This enabled
moving rtc::AtomicOps to webrtc/base/atomicops.h where they should be.

BUG=4330
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9120}
2015-04-30 12:16:14 +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
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
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
4b3618c7f3 Remove TraceImpl logging thread.
Simplifies TraceImpl significantly. Chromium uses trace callbacks and
logs directly through the trace callback interface. Added slowdowns when
logging to file are expected to only affect test targets.

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

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

Cr-Commit-Position: refs/heads/master@{#8529}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8529 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-27 15:05:50 +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
pbos@webrtc.org
6a364fe11b Remove uses of build date/time.
Uses of __DATE__ and __TIME__ are blocking deterministic Chromium
builds. We're not really making use of these, and if anything they're
likely to be misleading as it's impossible to distinguish between a new
revision and a freshly-built old branch.

R=mflodman@webrtc.org, tnakamura@webrtc.org
BUG=3983

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7635 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-05 17:40:28 +00:00
asapersson@webrtc.org
2a770828d8 Remove usage of webrtc trace in video processing modules.
BUG=3153
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5880 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-10 11:30:49 +00:00
pbos@webrtc.org
5ab756703e Revert r5294 to re-roll r5293.
To fix races in test each stream now owns its own encoder/decoder.

R=mflodman@webrtc.org
BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5297 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-16 12:24:44 +00:00
turaj@webrtc.org
41e2615e02 Revert 5293 "Auto instantiate RBE depending on whether AST or TO..."
> Auto instantiate RBE depending on whether AST or TOF is available in incoming packet stream.
> 
> BUG=
> R=mflodman@webrtc.org, stefan@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/5409004

TBR=solenberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5294 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-15 18:42:32 +00:00
solenberg@webrtc.org
341e91441a Auto instantiate RBE depending on whether AST or TOF is available in incoming packet stream.
BUG=
R=mflodman@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5293 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-13 23:57:54 +00:00
andrew@webrtc.org
9080518a39 Restore severity precondition to logging.h.
I mistakenly ommitted the checks when logging.h was ported from
libjingle to webrtc. This caused a significant CPU cost for logs which
were later filtered out anyway.

Verified with LS_VERBOSE logging in neteq4, running:
$ out/Release/modules_unittests \
--gtest_filter=NetEqDecodingTest.TestBitExactness \
--gtest_repeat=50 > time.txt
$ grep "case ran" time.txt | grep "[0-9]* ms" -o | sort

Results on a MacBook Retina, averaged over 5 runs:
Verbose logs disabled:                          666 ms
Exisiting implementation, verbose logs enabled: 944 ms (1.42x)
New implementation, verbose logs enabled:       673 ms (1.01x)

BUG=2314
R=henrik.lundin@webrtc.org, henrike@webrtc.org, kjellander@webrtc.org, turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4682 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-05 16:40:43 +00:00
pbos@webrtc.org
12dc1a38ca Switch C++-style C headers with their C equivalents.
The C++ headers define the C functions within the std:: namespace, but
we mainly don't use the std:: namespace for C functions. Therefore we
should include the C headers.

BUG=1833
R=tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4486 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-05 16:22:53 +00:00
solenberg@webrtc.org
adb51f5709 Add back the WEBRTC_DIRECT_TRACE flag.
BUG=
R=andresp@webrtc.org, andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4201 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-10 09:03:41 +00:00
pbos@webrtc.org
046deb9b20 WebRtc_Word32 -> int32_t in system_wrappers
BUG=314

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3791 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-09 09:06:11 +00:00
andrew@webrtc.org
c1ffd337f1 Add trace printouts to all unit tests.
Unfortunately, this requires splitting system_wrappers_unittests out of system_wrappers.gyp to avoid a cyclic dependency.

TESTED=ran a few unit tests and observed printouts

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3711 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-22 17:13:23 +00:00
phoglund@webrtc.org
daabfd25a6 Reformatted trace* files.
BUG=
TEST=Trybots.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3329 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-03 09:37:03 +00:00
andrew@webrtc.org
655d8f56f6 Add a kTraceTerseInfo level for non-verbose logging.
Review URL: https://webrtc-codereview.appspot.com/937023

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3134 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-20 07:34:45 +00:00
andrew@webrtc.org
50419b0777 Add libjingle-style stream-style logging.
Add a highly stripped-down version of libjingle's base/logging.h. It is
a thin wrapper around WEBRTC_TRACE, maintaining the libjingle log
semantics to ease a transition to that format.

Also add some helper macros for easy API and function failure logging.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3099 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-14 19:07:54 +00:00
henrike@webrtc.org
e341fd6073 Fixes http://code.google.com/p/webrtc/issues/detail?id=1003
BUG=1003

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3003 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-25 22:02:50 +00:00
andrew@webrtc.org
14b43beb7c Move src/ -> webrtc/
TBR=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2963 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-22 18:19:23 +00:00