645 Commits

Author SHA1 Message Date
Karl Wiberg
cbf0927473 Revert "rtc::Buffer: Remove backwards compatibility band-aids"
This reverts commit 9e1a6d7c236c9a8a322bef54d4ec2a087e5baa07, because
Chromium for Android still isn't happy with it.

TBR=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9122}
2015-04-30 14:01:01 +00:00
Karl Wiberg
9e1a6d7c23 rtc::Buffer: Remove backwards compatibility band-aids
This CL makes two changes to rtc::Buffer that have had to wait for
Chromium's use of it to be modernized:

  1. Change default return type of rtc::Buffer::data() from char* to
     uint8_t*. uint8_t is a more natural type for bytes, and won't
     accidentally convert to a string. (Chromium previously expected
     the default return type to be char, which is why
     rtc::Buffer::data() initially got char as default return type in
     9478437f, but that's been fixed now.)

  2. Stop accepting void* inputs in constructors and methods. While
     this is convenient, it's also dangerous since any pointer type
     will implicitly convert to void*.

R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9121}
2015-04-30 12:25:06 +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
Noah Richards
86153c26a0 Added a BitBufferWriter subclass that contains methods for writing bit and byte-sized data, along with exponential golomb encoded data.
This pattern (read-only base, writable subclass) was picked to maintain a *Buffer option that doesn't copy the source bits when parsing. ByteBuffer and Buffer both copy. I'm open to discussion on what the type relationship would be, though :)

Tests have been added to ensure the symmetric nature of read/write operations.

BUG=
R=bcornell@google.com, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9107}
2015-04-28 22:13:50 +00:00
Tommi
494f20977e Move CriticalSection into rtc_base_approved.
This class is being used from both libjingle and webrtc but we recently had a regression when we added dependency on libjingle's Thread class. This cleans that up and moves the implementation of CriticalSection and helper classes into the source file.

I'm also improving debugging facilities and constness.

BUG=
R=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9089}
2015-04-27 15:39:00 +00:00
Magnus Jedvert
7f287cca67 rtc::CriticalSection: Add dummy implementation of IsLocked for release builds
In release mode, DCHECK still references the condition before throwing it away, so the function needs to be defined.

R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9070}
2015-04-23 14:06:42 +00:00
Magnus Jedvert
6bf10843bf rtc::CriticalSection: Add function IsLocked
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9065}
2015-04-23 09:37:37 +00:00
Karl Wiberg
bd67f66ebd Restore webrtc/base/move.h, because it's used in Windows Chromium builds
Presumably there's a cleaner way to fix the problem than having a file
in WebRTC that isn't used by WebRTC, but that'll be a later CL.

TBR=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9064}
2015-04-23 07:52:13 +00:00
Noah Richards
915590e41f Moved ByteBuffer/BitBuffer into rtc_base_approved.
Also pulls in constructormagic.h, byteorder.h, and basictypes.h.

BUG=
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9062}
2015-04-22 22:42:53 +00:00
JiaYang (佳扬) Liu
01aeaee719 Fix GetSignatureDigestAlgorithm for openssl to prepare for EC key switch.
BUG=
R=davidben@chromium.org, juberti@google.com

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

Cr-Commit-Position: refs/heads/master@{#9061}
2015-04-22 19:18:16 +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
Henrik Kjellander
e555b7b440 Fix CC flags in GN Windows build.
It was applying a GCC command line flag on Windows

R=brettw@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#9049}
2015-04-22 06:49:37 +00:00
Noah Richards
bbf7c864ad Add a new BitBuffer class to webrtc base.
Provides a read-only interface for reading byte and bit-sized data from
an underlying buffer in network/big-endian order. Also provides a method
for reading exponential golomb encoded values, which will be useful in
H.264 packet parsing (separate CL).

BUG=
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9046}
2015-04-21 23:29:53 +00:00
Karl Wiberg
011c00f708 rtc::Buffer: Accept void* in addition to the byte-sized types
We used to accept void* (until 9478437f), and we'll have to continue
to do so for a little while longer, until Chromium doesn't need it
anymore.

TBR=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9035}
2015-04-20 20:55:41 +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
Karl Wiberg
61c2a6f241 Remove rtc::Buffer::length(), since no one uses it anymore
Chromium now uses size() instead, just like WebRTC.

This CL also fixes a new length() call that had crept in.

R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9024}
2015-04-16 19:48:52 +00:00
Thiago Farina
9504b89ce2 Cleanup: Remove unnecessary SHA1Transform() declaration.
Nobody needs to see or call it before it is implemented down below.

BUG=None
TEST=rtc_unittests --gtest_filter=Sha1DigestTest.*
R=pthatcher@webrtc.org, tommi@webrtc.org

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

Patch from Thiago Farina <tfarina@chromium.org>.

Cr-Commit-Position: refs/heads/master@{#8962}
2015-04-09 13:48:00 +00:00
Henrik Kjellander
ca047f76a3 Stop building NSS on Windows.
Since the GYP variables use_openssl and build_ssl are both
enabled by default on Windows today, I believe we should be able
to clean up the GYP paths that build NSS for Windows.

BUG=4497
TESTED=Passing tryjobs with --clobber specified.
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8945}
2015-04-08 06:54:13 +00:00
Noah Richards
2e266e9126 On iOS, detect pdp_ip networks as cellular.
BUG=
R=juberti@webrtc.org, tkchin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8943}
2015-04-07 18:52:02 +00:00
Guo-wei Shieh
be508a1d36 Implement Tcp Reconnect for TCPPort.
UDP case should not be changed.

Active TCPConnection will initiate Reconnect after OnClose and when Send or Ping fails.
Passive TCPConnection will prune itself as usual as the active side will create a new connection.

The Reconnect could make P2PCT choose a different best_connection in the case where connectivities exist b/w more than 1 Network.

Also, to avoid upper layer triggers ice restart, the WRITE_TIMEOUT caused by the socket disconnection is delayed  to give the reconnect mechanism chance to kick in. The timeout event is only fired if the reconnect can't work in 5 sec. If the reconnect, there should be no ICE disconnected state trigger either in active or passive side.

BUG=1926
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8929}
2015-04-06 19:48:53 +00:00
Thiago Farina
ae0f0ee79e Cleanup: Remove DISALLOW_EVIL_CONSTRUCTORS macro.
Just use the less-evil version, DISALLOW_COPY_AND_ASSIGN macro.

This should help with my TODO in
https://chromium.googlesource.com/chromium/src/+/master/base/macros.h#33

Tested on Linux with the following command lines:

$ rm -rf out/
$ gn gen //out/Debug --args='is_debug=true target_cpu="x64" build_with_chromium=false'
$ ninja -C out/Debug

BUG=None
TEST=see above
R=tommi@webrtc.org

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

Patch from Thiago Farina <tfarina@chromium.org>.

Cr-Commit-Position: refs/heads/master@{#8927}
2015-04-04 23:56:56 +00:00
Per
3354419a2d Zero copy AndroidVideeCapturer.
This cl uses the YV12 buffers from Java without a copy if no rotation is needed. Buffers are returned to the camera when the encoder and renderers no longer needs them.

This add a new frame type WrappedI420Buffer based in  that allows for wrapping existing memory buffers and getting a notification when it is no longer used.

AndroidVideoCapturer::FrameFactory::CreateAliasedFrame wraps frame received from Java. For each wrapped frame a new reference to AndroidVideoCapturerDelegate is held to ensure that the delegate can not be destroyed until all frames have been returned.

Some overlap exist in webrtcvideoframe.cc and webrtcvideengine.cc with https://webrtc-codereview.appspot.com/47399004/ that is expected to be landed before this cl.

BUG=1128
R=glaznev@webrtc.org, magjed@webrtc.org
TBR=mflodman@webrtc.org // For changes in webrtc/common_video/video_frame_buffer

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

Cr-Commit-Position: refs/heads/master@{#8923}
2015-04-02 10:31:00 +00:00
Thiago Farina
cb76b89572 Cleanup: Move json.h into rtc namespace.
This should fix the TODO in that header.

BUG=None
TEST=ninja -C out/Debug still compiles everything.
R=tommi@webrtc.org

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

Patch from Thiago Farina <tfarina@chromium.org>.

Cr-Commit-Position: refs/heads/master@{#8921}
2015-04-02 09:59:23 +00:00
Thiago Farina
0dd58026a8 Update callers to include messagedigest.h.
And remove pass-through stringdigest.h include.

This should fix the TODO in stringdigest.h that were that saying to update the callers to the new location.

BUG=None
TEST=ninja -C out/Debug still works fine
R=henrika@webrtc.org, tommi@webrtc.org

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

Patch from Thiago Farina <tfarina@chromium.org>.

Cr-Commit-Position: refs/heads/master@{#8920}
2015-04-02 07:03:28 +00:00
Thiago Farina
aaf61e460b Cleanup: Remove MD5_CTX typedef.
Instead just use MD5Context type directly. In C++ it is unnecessary to
alias the types using typedef, unline C (where if you don't you have to
spell out struct or enum infront of the user-type everytime you want to make a
variable).

So since WebRTC's base API is C++, it seems unnecessay to keep this
typedef around.

BUG=None
TEST=rtc_unittests --gtest_filter=Md5*
R=tommi@webrtc.org

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

Patch from Thiago Farina <tfarina@chromium.org>.

Cr-Commit-Position: refs/heads/master@{#8916}
2015-04-01 22:25:29 +00:00
Henrik Kjellander
722ef1fb59 Remove henrike@ from OWNERS
Since he has left the team.

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

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

Cr-Commit-Position: refs/heads/master@{#8913}
2015-04-01 15:08:49 +00:00
Jiayang Liu
bef8d2d020 Add a lock to NSSContext to fix data race
BUG=crbug/466784
R=juberti@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8871}
2015-03-26 21:38:53 +00:00
kwiberg@webrtc.org
4d14592c67 rtc::Buffer: Restore length method for backwards compatibility
TBR=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8845}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8845 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-24 12:52:14 +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
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
guoweis@webrtc.org
b91d0f5130 1. Have IPIsPrivate calling IPIsLinkLocal
2. Also check the Mac based IPv6
3. move the ip filtering into createnetwork. It shouldn't be done in IsIgnoredNetwork as the IP inside that could change later.

BUG=
R=juberti@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8758}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8758 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-17 14:43:42 +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
perkj@webrtc.org
a78a94e838 Fix RateTracker to set an initial reference time when first updated.
BUG=4442
R=mflodman@webrtc.org, pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8751}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8751 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-17 12:45:41 +00:00
kwiberg@webrtc.org
dad85aa53b Chromium build fix: Include new .cc files in rtc_base
r8656 added a couple of new .cc files to rtc_base. Two of them turned
out to mistakenly be in the set excluded from the Chromium build.

TBR=kjellander@webrtc.org, tommi@webrtc.org
BUG=163

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

Cr-Commit-Position: refs/heads/master@{#8659}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8659 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-10 01:00:17 +00:00
kwiberg@webrtc.org
67186fe00c Fix clang style warnings in webrtc/base
Mostly this consists of marking functions with override when
applicable, and moving function bodies from .h to .cc files.

Not inlining virtual functions with simple bodies such as

  { return false; }

strikes me as probably losing more in readability than we gain in
binary size and compilation time, but I guess it's just like any other
case where enabling a generally good warning forces us to write
slightly worse code in a couple of places.

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

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

Cr-Commit-Position: refs/heads/master@{#8656}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8656 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-09 22:24:25 +00:00
tommi@webrtc.org
a32f064e97 Fix build configuration bug with debug builds.
The problem we were running into on the Mac 10.9 debug bot in Chrome turned out to be good ol'fashion memory corruption. Part of webrtc was being compiled with _DEBUG, another half without it. This caused the definition of some symbols to be out of sync (notably pthread_mutex_t) and would cause code built from common.gypi, to overwrite memory allocated via common types from base/base.gypi derived code.  Fun stuff to track down.  This was a problem in particular with base/criticalsection.h since it's inlined into multiple object files but will have different definitions of what a mutex is.

TBR=pbos,kjellander
BUG=

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

Cr-Commit-Position: refs/heads/master@{#8646}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8646 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-08 07:39:22 +00:00
tommi@webrtc.org
679d2f1352 Disable CS_TRACK_OWNER on Mac in debug mode.
Local testing indicates that the pthread_t member variable might be causing alignment problems on the Chromium bots.  After landing this (and once the Chromium tree is open again), I'll try a roll again to see if this has an effect.

R=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8644}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8644 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-07 20:15:24 +00:00
guoweis@webrtc.org
bbce5efaa6 Turn on IPv6 for WebRTC as default as required before ramping the experiment to 30%.
BUG=
R=juberti@webrtc.org

Committed: https://code.google.com/p/webrtc/source/detail?r=8582

Committed: https://code.google.com/p/webrtc/source/detail?r=8607

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

Cr-Commit-Position: refs/heads/master@{#8609}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8609 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-05 04:39:07 +00:00
guoweis@webrtc.org
d43b2c098d Revert "Turn on IPv6 for WebRTC as default as required before ramping the experiment to 30%."
This reverts commit 86c33e3a94f51f8e4b4f305708ec327786ad3794.

TBR=guoweis@webrtc.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#8608}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8608 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-05 04:03:44 +00:00
guoweis@webrtc.org
86c33e3a94 Turn on IPv6 for WebRTC as default as required before ramping the experiment to 30%.
BUG=
R=juberti@webrtc.org

Committed: https://code.google.com/p/webrtc/source/detail?r=8582

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

Cr-Commit-Position: refs/heads/master@{#8607}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8607 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-05 03:40:48 +00:00
tommi@webrtc.org
4a4e688438 Remove dependecy on win32.h in criticalsection.h. This was causing build errors that we haven't fully figured out yet but somehow this caused override files to include the files they're supposed to override, which in turn included webrtc build files that then conflict with Chromium's configuration.
TBR=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8601}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8601 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-04 20:10:37 +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
magjed@webrtc.org
487afc704d 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
2015-03-04 11:26:19 +00:00
magjed@webrtc.org
9cd7c26d1a 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
2015-03-04 10:21:19 +00:00
magjed@webrtc.org
c8895aa2f3 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
2015-03-03 21:22:26 +00:00
guoweis@webrtc.org
59ae5ff310 Filter logic for ip leak misses ::ffff:0.0.0.0
The current logic filtering out "any" address is incomplete in the case
when any address in IPv4 converted in IPv6 form is not filtered out.

BUG=
R=juberti@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8545}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8545 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-01 23:45:42 +00:00
pthatcher@webrtc.org
f7bb6e723b Use new API from BoringSSL to get RFC name of cipher.
This CL uses the new API "SSL_CIPHER_get_rfc_name" from BoringSSL to
get the RFC-compliant cipher name instead of having a custom hardcoded
list of cipher names.

BUG=none
R=juberti@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8541}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8541 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-28 01:41:49 +00:00
tommi@webrtc.org
d31250518a Test to try to track down the alignment problem on Mac 10.9.
There's no code change here, I'm rearranging member variables of the
trace class and adding a sizeof check to the CriticalSection
class + alignment attribute for the mutex, on Mac only.

TBR=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8540}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8540 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-28 00:01:56 +00:00