History log of /external/webrtc/webrtc/base/refcount.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
fc950848e39c5627c9af3e3a44e5177843b03d09 12-Oct-2015 Magnus Jedvert <magjed@webrtc.org> Fix: RefCountInterface: Make AddRef() and Release() const

The landed CL contained some unwanted changes.

TBR=tommi

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

Cr-Commit-Position: refs/heads/master@{#10255}
/external/webrtc/webrtc/base/refcount.h
1b40a9a8afe0d7b2244ad8dea19e8222fec3c207 12-Oct-2015 Magnus Jedvert <magjed@webrtc.org> RefCountInterface: Make AddRef() and Release() const

This CL makes AddRef() and Release() const member methods and the refcount integer mutable. This is reasonable, because they only manage the lifetime of the object, and this is also how it's done in Chromium.

The purpose is to be able to capture a const pointer in a scoped_refptr, which is currenty impossible. The practial problem this CL solves is this:

void Foo::Bar() const {}

rtc::Callback0<void> Foo::MakeClosure() const {
return rtc::Bind(&Foo::Bar, this);
}

We currently capture |this| as const Foo*. With this CL, |this| will be captured as scoped_refptr<const Foo>.

A test is also added in bind_unittest to check this behaviour.

BUG=webrtc:5065
R=perkj@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10253}
/external/webrtc/webrtc/base/refcount.h
235c35f292f8e225a155d98a018e257a7db442c4 22-Jul-2015 pbos <pbos@webrtc.org> 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}
/external/webrtc/webrtc/base/refcount.h
ff019b0b551888330b69d6323506eae710e1ab6d 30-Apr-2015 Peter Boström <pbos@webrtc.org> 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}
/external/webrtc/webrtc/base/refcount.h
3354419a2d53c3bfee8077cfbb0d86022b03e94a 02-Apr-2015 Per <perkj@chromium.org> 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}
/external/webrtc/webrtc/base/refcount.h
a43fce6e02f82a0615e9ae23a794167c01945c63 21-Feb-2015 magjed@webrtc.org <magjed@webrtc.org> Add functions rtc::AtomicOps::Load and rtc::RefCountedObject::HasOneRef

R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8452}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8452 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/base/refcount.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/refcount.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/refcount.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/refcount.h