summaryrefslogtreecommitdiffstats
path: root/media/video/video_encode_accelerator.cc
diff options
context:
space:
mode:
authordmichael@chromium.org <dmichael@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-30 16:48:43 +0000
committerdmichael@chromium.org <dmichael@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-30 16:48:43 +0000
commit7835114c9a13f893a6c7c2452d3fc5b8f8768aa4 (patch)
tree909bdf332289451b2ab7a4d7f2eaa568a3c36d7b /media/video/video_encode_accelerator.cc
parent700e8f48f51550e6a8b42892fc88153bd24de1c3 (diff)
downloadchromium_src-7835114c9a13f893a6c7c2452d3fc5b8f8768aa4.zip
chromium_src-7835114c9a13f893a6c7c2452d3fc5b8f8768aa4.tar.gz
chromium_src-7835114c9a13f893a6c7c2452d3fc5b8f8768aa4.tar.bz2
Make DefaultDeleter for Video{De|En}codeAccelerator
This makes a specialization of base::DefaultDeleter so that scoped_ptr will use Destroy() instead of the destructor. Without this, it seems wrong to hold VideoDecodeAccelerator in a scoped_ptr, given that letting scoped_ptr delete it via the destructor would be an error. Also moves the destructors to protected, to prevent mistakes. BUG= Review URL: https://codereview.chromium.org/292183011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@273860 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/video/video_encode_accelerator.cc')
-rw-r--r--media/video/video_encode_accelerator.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/media/video/video_encode_accelerator.cc b/media/video/video_encode_accelerator.cc
index 6309180..d8a5838 100644
--- a/media/video/video_encode_accelerator.cc
+++ b/media/video/video_encode_accelerator.cc
@@ -9,3 +9,14 @@ namespace media {
VideoEncodeAccelerator::~VideoEncodeAccelerator() {}
} // namespace media
+
+namespace base {
+
+void DefaultDeleter<media::VideoEncodeAccelerator>::operator()(
+ void* video_encode_accelerator) const {
+ static_cast<media::VideoEncodeAccelerator*>(video_encode_accelerator)->
+ Destroy();
+}
+
+} // namespace base
+