History log of /external/webrtc/webrtc/base/checks.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
e2a83eee7337e5a8244c7abacc552bf5ef344442 26-Oct-2015 Karl Wiberg <kwiberg@webrtc.org> Introduce rtc::ArrayView<T>, which keeps track of an array that it doesn't own

The main intended use case is as a function argument, replacing the
harder-to-read and harder-to-use separate pointer and size arguments.
It's easier to read because it's just one argument instead of two, and
with clearly defined semantics; it's easier to use because it has
iterators, and will automatically figure out the size of arrays.

BUG=webrtc:5028
R=andrew@webrtc.org, solenberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10415}
/external/webrtc/webrtc/base/checks.h
97395b64cab8d3f48b710655d24758a75a32ec12 17-Sep-2015 henrikg <henrikg@webrtc.org> Remove dependency on Chromium's base/logging.h in diagnostic_logging.h.

Depends on https://codereview.webrtc.org/1335923002/

BUG=chromium:468375

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

Cr-Commit-Position: refs/heads/master@{#9965}
/external/webrtc/webrtc/base/checks.h
91d6edef35e7275879c30ce16ecb8b6dc73c6e4a 17-Sep-2015 henrikg <henrikg@webrtc.org> 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}
/external/webrtc/webrtc/base/checks.h
487afc704d5c6a2519f2decdb47130c7b3424992 04-Mar-2015 magjed@webrtc.org <magjed@webrtc.org> Always define RTC_NOTREACHED, not just in non-chromium builds

R=tommi@webrtc.org
TBR=tommi

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

Cr-Commit-Position: refs/heads/master@{#8592}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8592 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/base/checks.h
9cd7c26d1a420dd98309cc040b37141d9ec7a6b2 04-Mar-2015 magjed@webrtc.org <magjed@webrtc.org> Rename NOTREACHED to RTC_NOTREACHED to avoid name conflict with Chromium

R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8591}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8591 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/base/checks.h
c8895aa2f31e05d3bd4d29507af3bbfcaa638499 03-Mar-2015 magjed@webrtc.org <magjed@webrtc.org> Unify underlying frame buffer in I420VideoFrame and WebRtcVideoFrame

Currently, I420VideoFrame uses three webrtc::Plane to store pixel data, and WebRtcVideoFrame uses WebRtcVideoFrame::FrameBuffer/webrtc::VideoFrame. The two subclasses WebRtcTextureVideoFrame and TextureVideoFrame use a NativeHandle to store pixel data, and there is also a class WebRtcVideoRenderFrame that wraps an I420VideoFrame.

This CL replaces these classes with a new interface VideoFrameBuffer that provides the common functionality. This makes it possible to remove deep frame copies between cricket::VideoFrame and I420VideoFrame.

Some additional minor changes are:
* Disallow creation of 0x0 texture frames.
* Remove the half-implemented ref count functions in I420VideoFrame.
* Remove the Alias functionality in WebRtcVideoFrame

The final goal is to eliminate all frame copies, but to limit the scope of this CL, some planned changes are postponed to follow-up CL:s (see planned changes in https://webrtc-codereview.appspot.com/38879004, or https://docs.google.com/document/d/1bxoJZNmlo-Z9GnQwIaWpEG6hDlL_W-bzka8Zb_K2NbA/preview). Specifically, this CL:
* Keeps empty subclasses WebRtcTextureVideoFrame and TextureVideoFrame, and just delegates the construction to the superclass.
* Keeps the deep copies from cricket::VideoFrame to I420VideoFrame.

BUG=1128
R=mflodman@webrtc.org, pbos@webrtc.org, perkj@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8580}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8580 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/base/checks.h
b6fab2b1cdcc8fd93ab8ac3dad19ee213a31a89e 26-Jan-2015 henrik.lundin@webrtc.org <henrik.lundin@webrtc.org> Introduce rtc::CheckedDivExact

Use the new method to replace local ones in AudioEncoder{Opus,Isac}.

COAUTHOR:kwiberg@webrtc.org

R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8148 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/base/checks.h
55d42c32a4d2ec71d56e863c0cee54f8db270074 11-Dec-2014 kwiberg@webrtc.org <kwiberg@webrtc.org> DCHECK: Reference condition parameter in release builds

So that caller's won't get warnings about unused variables for
variables that are only used in calls to DCHECK, such as

int x = ...
DCHECK_EQ(x, 17);

R=andrew@webrtc.org

Previously committed: https://code.google.com/p/webrtc/source/detail?r=7858
and reverted: https://code.google.com/p/webrtc/source/detail?r=7859

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7869 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/base/checks.h
3cd26b677ad9128ece7de7acdcbd349e96bb2c1d 10-Dec-2014 kwiberg@webrtc.org <kwiberg@webrtc.org> Revert r7858 ("DCHECK: Reference condition parameter in release builds")

Apparently Visual Studio is cleverer than I am at figuring out what
local variables are actually unused.

TBR=pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7859 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/base/checks.h
3148060e6121ff1c16d5d9311eb1ff110511414b 10-Dec-2014 kwiberg@webrtc.org <kwiberg@webrtc.org> DCHECK: Reference condition parameter in release builds

So that caller's won't get warnings about unused variables for
variables that are only used in calls to DCHECK, such as

int x = ...
DCHECK_EQ(x, 17);

R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7858 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/base/checks.h
9c6dc46c6d11474b8d24f719193f8b1c7b844b92 08-Oct-2014 kwiberg@webrtc.org <kwiberg@webrtc.org> CHECK/DCHECK: Explicitly state whether the condition can have side effects

R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7394 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/base/checks.h
18617cfde8537293ab3fa537f7231b5007844cb3 15-Sep-2014 henrik.lundin@webrtc.org <henrik.lundin@webrtc.org> Fix ThreadChecker unittests when DCHECK_ALWAYS_ON is defined

This requires two fixes:
1. Use DCHECK instead of assert in ThreadChecker's unittest.

2. Activate DCHECK when DCHECK_ALWAYS_ON in enabled.

Both these modifications are in line with Chromium's implementation.
The ThreadChecker unittest was changed to use assert instead of DCHECK
on the initial import (since WebRTC did not have a DCHECK back then).

BUG=3803
TEST=local out/{Debug,Release}/rtc_unittests built with and without DCHECK_ALWAYS_ON
R=andrew@webrtc.org, pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7178 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/base/checks.h
0229cbae3339bfadcf018fa424a7163e02c1a0b7 04-Sep-2014 andresp@webrtc.org <andresp@webrtc.org> Remove ambiguous call to MakeCheckOpString.

BUG=3777
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7051 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/base/checks.h
34a6764981a656c62daed0d962f01374a08f9bac 02-Sep-2014 andrew@webrtc.org <andrew@webrtc.org> Remove the checks.h dependence on logging.h in a standalone build.

logging.h apparently drags in a lot of undesirable dependencies. It was
only required for the trivial LogMessageVoidify; simply add an
identical FatalMessageVoidify instead.

Keep the include in a Chromium build to still have the override
mechanism use Chromium's macros.

Bonus: Add the missing DCHECK_GT (noticed by bercic).

R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7031 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/base/checks.h
b0dc3d720414003b271d2f992c34252dc736b74c 28-Aug-2014 andrew@webrtc.org <andrew@webrtc.org> Precompile out our standalone CHECK macros in a Chromium build.

As documented, the use of overrides/webrtc/base/logging.h in a Chromium
build reuslts in redefined macro errors. Fortunately, Chromium's macros
can be used as drop-in replacements for the standalone versions.

TBR=henrike

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7004 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/base/checks.h
a5b7869f3d9887d67a17f9607dcc0922c7d2b278 28-Aug-2014 andrew@webrtc.org <andrew@webrtc.org> Add CHECK and friends from Chromium.

Replace FATAL_ERROR_IF with the more familiar (to Chromium developers)
CHECK and DCHECK. The full Chromium implementation is fairly elaborate
but I copied enough to get us most of the benefits. I believe the main
missing component is a more advanced stack dump. For this bit I relied
on the V8 implementation.

There are a few minor modifications from the Chromium original:
- The FatalMessage class is specialized for logging fatal error
messages and aborting. Chromium uses the general LogMessage class,
which we could consider moving towards in the future.
- NOTIMPLEMENTED() and NOTREACHED() have been removed, partly because
I don't want to rely on our logging.h until base/ and system_wrappers/
are consolidated.
- FATAL() replaces LOG(FATAL).

Minor modifications from V8's stack dump:
- If parsing of a stack trace symbol fails, just print the unparsed
symbol. (I noticed this happened on Mac.)
- Use __GLIBCXX__ and __UCLIBC__. This is from examining the backtrace
use in Chromium.

UNREACHABLE() has been removed because its behavior is different than
Chromium's NOTREACHED(), which is bound to cause confusion. The few uses
were replaced with FATAL(), matching the previous behavior.

Add a NO_RETURN macro, allowing us to remove unreachable return
statements following a CHECK/FATAL.

TESTED=the addition of dummy CHECK, DCHECK, CHECK_EQ and FATAL did the
did the right things. Stack traces work on Mac, but I don't get symbols
on Linux.

R=henrik.lundin@webrtc.org, kwiberg@webrtc.org, tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7003 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/base/checks.h
0fa6366ed15f48b3ec227987f21f339180fb4936 16-Jul-2014 kwiberg@webrtc.org <kwiberg@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Define convenient FATAL_ERROR() and FATAL_ERROR_IF() macros

R=henrike@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6701 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/base/checks.h
ffa8dcab1ecdace6c6b975f7d3b2d1557e6f93a9 15-Jul-2014 kwiberg@webrtc.org <kwiberg@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Eliminate unnecessary #include

R=henrika@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6690 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/base/checks.h
c50bf7cbd0483806c50a848d24349a79939e1161 14-May-2014 henrike@webrtc.org <henrike@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Added namespace rtc to some base classes and functions. It was causing linker error in the FYI bots: http://chromegw.corp.google.com/i/internal.chromium.webrtc.fyi/builders/Android%20Builder%20%28dbg%29/builds/1808/steps/compile/logs/stdio but also, not doing it pollutes the global namespace.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6157 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/base/checks.h
f048872e915a3ee229044ec4bc541f6cbf9e4de1 13-May-2014 henrike@webrtc.org <henrike@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Adds a modified copy of talk/base to webrtc/base. It is the first step in
migrating talk/base to webrtc/base.

BUG=N/A
R=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6129 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/base/checks.h
e9a604accd54ab14dbf98f99ccdcf3ae1c54d27c 13-May-2014 perkj@webrtc.org <perkj@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Revert 6107 "Adds a modified copy of talk/base to webrtc/base. I..."

This breaks Chromium FYI builds and prevent roll of webrtc/libjingle to Chrome.

http://chromegw.corp.google.com/i/chromium.webrtc.fyi/builders/Win%20Builder/builds/457


> Adds a modified copy of talk/base to webrtc/base. It is the first step in migrating talk/base to webrtc/base.
>
> BUG=N/A
> R=andrew@webrtc.org, wu@webrtc.org
>
> Review URL: https://webrtc-codereview.appspot.com/12199004

TBR=henrike@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6116 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/base/checks.h
2c7d1b39b9374d2bc9bda4755fd4813db66a135c 12-May-2014 henrike@webrtc.org <henrike@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Adds a modified copy of talk/base to webrtc/base. It is the first step in migrating talk/base to webrtc/base.

BUG=N/A
R=andrew@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6107 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/base/checks.h