22 Commits

Author SHA1 Message Date
pbos@webrtc.org
f5b56fbc41 Annotate COMPILE_ASSERT with __attribute__((unused)).
Also renames UNUSED -> ATTRIBUTE_UNUSED to be able to use this when
building peerconnection_jni.cc which apparently has this defined to
something else.

R=kjellander@webrtc.org
TBR=mflodman@webrtc.org
BUG=4018

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7711 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-17 13:47:38 +00:00
andrew@webrtc.org
a5b7869f3d 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
2014-08-28 16:28:26 +00:00
kwiberg@webrtc.org
584cd8da4b Fix WEBRTC_AEC_DEBUG_DUMP (broken by int16->float conversion)
And in the process, make it dump WAV files instead of raw PCM.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6959 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-25 06:26:04 +00:00
andrew@webrtc.org
a0edf4cb04 Remove ALLOW_UNUSED.
Turns out Chromium won't be applying this to COMPILE_ASSERT. We don't
need it at all then.

R=thakis@chromium.org
TBR=thakis@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6055 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-05 18:18:02 +00:00
andrew@webrtc.org
9f453b1a1b Add ALLOW_UNUSED and update COMPILE_ASSERT to Chromium's latest.
Fixes building with gcc 4.8.

TBR=fdegans@google.com
BUG=chromium:321833

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6050 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-04 03:04:26 +00:00
andrew@webrtc.org
ca9d038ac8 Fix ARM64 detection.
Use only __aarch64__ and don't look for __arm64__ at all.
It turns out that clang defines both and GCC only the former.
Hence, looking only for __aarch64__ should be safe.

BUG=chromium:354405,chromium:358092
R=andrew@webrtc.org

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

Patch from Primiano Tucci <primiano@chromium.org>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5821 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-01 01:19:08 +00:00
andrew@webrtc.org
fff3fd35a6 Add arm64 to typedefs.h
This is the first step to get a buildable chrome_shell_apk for arm64.

BUG=chromium:354405
R=andrew@webrtc.org

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

Patch from Primiano Tucci <primiano@chromium.org>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5802 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-27 19:48:53 +00:00
henrike@webrtc.org
cc08e3f9b1 Moves WEBRTC_POSIX define from header file to gyp-settings.
Makes WEBRTC_POSIX defined in the same place as the other OSs also this is needed to prevent excessive changes to talk/base files when migrating them to webrtc/base

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5659 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-07 15:30:21 +00:00
andrew@webrtc.org
17e40641b3 Add a deinterleaved float interface to AudioProcessing.
This is mainly to support the native audio format in Chrome. Although
this implementation just moves the float->int conversion under the hood,
we will transition AudioProcessing towards supporting this format
throughout.

- Add a test which verifies we get identical output with the float and
int interfaces.
- The float and int wrappers are tasked with conversion to the
AudioBuffer format. A new shared Process/Analyze method does most of
the work.
- Add a new field to the debug.proto to hold deinterleaved data.
- Add helpers to audio_utils.cc, and start using numeric_limits.
- Note that there was no performance difference between numeric_limits
and a literal value when measured on Linux using gcc or clang.

BUG=2894
R=aluebs@webrtc.org, bjornv@webrtc.org, henrikg@webrtc.org, tommi@webrtc.org, turaj@webrtc.org, xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5641 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-04 20:58:13 +00:00
andrew@webrtc.org
00073aafa8 Clean up CPU detection defines in SincResampler a little.
R=aluebs@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5615 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-27 04:12:34 +00:00
andresp@webrtc.org
242102517d Added architecture for compiling under chrome NaCl.
R=tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5577 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-19 13:55:02 +00:00
andrew@webrtc.org
762fcdcca9 Correctly define OVERRIDE when building with g++ 4.7 and C++11 support
g++ 4.7 and later support explicit virtual overrides when building with C++11
support enabled. However, webrtc does not detect that and makes OVERRIDE a
no-op.

This CL updates typedefs.h to define OVERRIDE properly when g++ 4.7 is used
with C++11 support enabled.

See this page for GCC support of C++11 features:
http://gcc.gnu.org/projects/cxx0x.html

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

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

Patch from Chris Dumez <ch.dumez@samsung.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5253 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-10 19:20:46 +00:00
andrew@webrtc.org
d1bcf1180a Check if WARN_UNUSED_RESULT and COMPILE_ASSERT are defined.
Works around a multiple definition error from webrtc and libjingle.

Corresponds to the libjingle change here:
https://critique.corp.google.com/#review/55489575-p10

TESTED=trybots
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5025 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-23 19:11:32 +00:00
andrew@webrtc.org
31628aae7e Upgrade scoped_ptr to Chromium's latest version.
Analogous to the recent libjingle change: http://cl/54929753-p10.
This supports scoped_ptr<T[]> and scoped_ptr<C, FreeDeleter> rather
than scoped_array and scoped_ptr_malloc respectively.

- Add Chromium's template-based COMPILE_ASSERT. We didn't have this
previously in order to support the macro in C. Instead, move the
existing macro to compile_assert_c.h.
- Additionally copy the move.h and template_util.h depedencies and add
the WARN_UNUSED_RESULT macro.
- Leave scoped_array and scoped_ptr_malloc for now, but mark as
deprecated.
- Remove scoped_ptr foo(NULL) use. The default constructor handles it.
- Remove the now redundant COMPILE_ASSERT from peerconnection_jni.cc.
- Add a CHECK_ARRAY_SIZE macro to rtp_format_vp8_unittest.cc to remove
some repeated code.

TESTED=trybots
R=pbos@webrtc.org, tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5015 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-22 12:50:00 +00:00
andrew@webrtc.org
621df678c8 WEBRTC_{BIG, LITTLE}_ENDIAN -> WEBRTC_ARCH_{BIG, LITTLE}_ENDIAN.
Mostly to remove a long-standing TODO...

TESTED=trybots
R=turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5013 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-22 10:27:23 +00:00
pbos@webrtc.org
f6d67ae21f Disable clang C++11 warnings to permit OVERRIDE keyword.
BUG=1623
R=tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3980 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-08 08:34:34 +00:00
pbos@webrtc.org
77f6b2175e Revert 3934 "Revert 3933 "Remove traces of deprecated WebRtc_Wor..."
> Revert 3933 "Remove traces of deprecated WebRtc_Word types."
> 
> > Remove traces of deprecated WebRtc_Word types.
> > 
> > BUG=314
> > R=tommi@webrtc.org
> > 
> > Review URL: https://webrtc-codereview.appspot.com/1385004
> 
> TBR=pbos@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/1386004

TBR=pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3948 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-03 12:02:11 +00:00
pbos@webrtc.org
68e5a68f07 Revert 3933 "Remove traces of deprecated WebRtc_Word types."
> Remove traces of deprecated WebRtc_Word types.
> 
> BUG=314
> R=tommi@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/1385004

TBR=pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3934 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-02 09:30:12 +00:00
pbos@webrtc.org
265a5d298a Remove traces of deprecated WebRtc_Word types.
BUG=314
R=tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3933 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-02 09:11:20 +00:00
pbos@webrtc.org
e4b6064f8e Replace legacy G_CONST with const.
BUG=1608

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3814 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-10 18:06:57 +00:00
andrew@webrtc.org
c83a00ad49 Add some VoE and AudioProcessing mocks.
Includes a bit of shared helpers in fake_common.h.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3722 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-25 21:20:38 +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