diff options
author | dmichael@chromium.org <dmichael@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-30 16:48:43 +0000 |
---|---|---|
committer | dmichael@chromium.org <dmichael@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-30 16:48:43 +0000 |
commit | 7835114c9a13f893a6c7c2452d3fc5b8f8768aa4 (patch) | |
tree | 909bdf332289451b2ab7a4d7f2eaa568a3c36d7b /media/video/video_encode_accelerator.cc | |
parent | 700e8f48f51550e6a8b42892fc88153bd24de1c3 (diff) | |
download | chromium_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.cc | 11 |
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 + |