aboutsummaryrefslogtreecommitdiff
path: root/webrtc/common_video
diff options
context:
space:
mode:
authorperkj <perkj@webrtc.org>2015-11-30 22:15:45 -0800
committerCommit bot <commit-bot@chromium.org>2015-12-01 06:15:53 +0000
commit14f4144a82558ec4da2d4962ef02b23f44967b6a (patch)
treeec00a9cea4e74167221d7690b79b00ef24998cf0 /webrtc/common_video
parentee69ed505b6ba4a9dbb47cc927aaf220d661fa06 (diff)
downloadwebrtc-14f4144a82558ec4da2d4962ef02b23f44967b6a.tar.gz
Add helper KeepRefUntilDone.
The callback keeps a reference to an object until the callback goes out of scope. Review URL: https://codereview.webrtc.org/1487493002 Cr-Commit-Position: refs/heads/master@{#10847}
Diffstat (limited to 'webrtc/common_video')
-rw-r--r--webrtc/common_video/video_frame_buffer.cc10
1 files changed, 2 insertions, 8 deletions
diff --git a/webrtc/common_video/video_frame_buffer.cc b/webrtc/common_video/video_frame_buffer.cc
index fff90defbd..492bc49587 100644
--- a/webrtc/common_video/video_frame_buffer.cc
+++ b/webrtc/common_video/video_frame_buffer.cc
@@ -10,19 +10,13 @@
#include "webrtc/common_video/include/video_frame_buffer.h"
-#include "webrtc/base/bind.h"
#include "webrtc/base/checks.h"
+#include "webrtc/base/keep_ref_until_done.h"
// Aligning pointer to 64 bytes for improved performance, e.g. use SIMD.
static const int kBufferAlignment = 64;
namespace webrtc {
-namespace {
-
-// Used in rtc::Bind to keep a buffer alive until destructor is called.
-static void NoLongerUsedCallback(rtc::scoped_refptr<VideoFrameBuffer> dummy) {}
-
-} // anonymous namespace
uint8_t* VideoFrameBuffer::MutableData(PlaneType type) {
RTC_NOTREACHED();
@@ -238,7 +232,7 @@ rtc::scoped_refptr<VideoFrameBuffer> ShallowCenterCrop(
y_plane, buffer->stride(kYPlane),
u_plane, buffer->stride(kUPlane),
v_plane, buffer->stride(kVPlane),
- rtc::Bind(&NoLongerUsedCallback, buffer));
+ rtc::KeepRefUntilDone(buffer));
}
} // namespace webrtc