Commit Graph

15 Commits

Author SHA1 Message Date
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
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
andresp@webrtc.org
ff689be3c0 Use std::min and std::max instead of self-defined functions such as rtc::_min/_max.
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8347}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8347 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-12 11:55:32 +00:00
jlmiller@webrtc.org
5f93d0a140 Update libjingle license statements at top of talk files for consistency
BUG=2133
R=juberti@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8105 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-20 21:36:13 +00:00
buildbot@webrtc.org
1ecbe45c7e (Auto)update libjingle 77689511-> 77696841
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7449 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-14 20:29:28 +00:00
buildbot@webrtc.org
a09a99950e (Auto)update libjingle 73222930-> 73226398
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6891 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-13 17:26:08 +00:00
buildbot@webrtc.org
d4e598d57a (Auto)update libjingle 72097588-> 72159069
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6799 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-29 17:36:52 +00:00
pbos@webrtc.org
371243dfa3 Remove std:: prefixes from C functions in talk/.
std::memcpy -> memcpy for instance. This change was motivated by a
compile report complaining that std::rand() was used instead of rand(),
probably with a stdlib.h include instead of cstdlib. Use of C functions
without the std:: prefix is a lot more common, so removing std:: to
address this.

BUG=
R=tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5657 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-07 15:22:04 +00:00
wu@webrtc.org
a9890800e0 Update talk to 58127566 together with
https://webrtc-codereview.appspot.com/5309005/.

R=mallinath@webrtc.org, niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5277 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-13 00:21:03 +00:00
wu@webrtc.org
2018269dc3 Revert 5274 "Update talk to 58113193 together with https://webrt..."
> Update talk to 58113193 together with https://webrtc-codereview.appspot.com/5309005/.
> 
> R=mallinath@webrtc.org, niklas.enbom@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/5719004

TBR=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5275 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-12 22:54:25 +00:00
wu@webrtc.org
a129b6cd13 Update talk to 58113193 together with https://webrtc-codereview.appspot.com/5309005/.
R=mallinath@webrtc.org, niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5274 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-12 22:40:39 +00:00
wu@webrtc.org
9caf2765b2 Update talk to 58037405.
R=sergeyu@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5267 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-11 18:25:07 +00:00
wu@webrtc.org
3c5d2b43ec Thread::Stop() must be called before any subclass's destructor completes.
Update Thread documentation, fix all subclasses that had a problem.

This is to avoid a data racing between the destructor modifying the vtable, and
Thread::PreRun calling virtual method Run at the same time.

For example:
[ RUN      ] FileMediaEngineTest.TestGetCapabilities
==================
WARNING: ThreadSanitizer: data race on vptr (ctor/dtor vs virtual call) (pid=2967)
  Read of size 8 at 0x7d480000bd00 by thread T1:
    #0 talk_base::Thread::PreRun(void*) /mnt/data/b/build/slave/Linux_Tsan_v2/build/src/out/Release/../../talk/base/thread.cc:353 (libjingle_media_unittest+0x000000234da8)

  Previous write of size 8 at 0x7d480000bd00 by main thread:
    #0 talk_base::Thread::~Thread() /mnt/data/b/build/slave/Linux_Tsan_v2/build/src/out/Release/../../talk/base/thread.cc:158 (libjingle_media_unittest+0x00000023478c)
    #1 ~RtpSenderReceiver /mnt/data/b/build/slave/Linux_Tsan_v2/build/src/out/Release/../../talk/media/base/filemediaengine.cc:122 (libjingle_media_unittest+0x0000001b551f)
    ...

RISK=P2
TESTED=try bots and tsan
BUG=2078,2080
R=fischman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4999 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-18 16:27:26 +00:00
henrike@webrtc.org
1e09a71126 Update talk folder to revision=49952949
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4413 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-26 19:17:59 +00:00
henrike@webrtc.org
28e2075280 Adds trunk/talk folder of revision 359 from libjingles google code to
trunk/talk


git-svn-id: http://webrtc.googlecode.com/svn/trunk@4318 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-10 00:45:36 +00:00