summaryrefslogtreecommitdiffstats
path: root/content/renderer
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 /content/renderer
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 'content/renderer')
-rw-r--r--content/renderer/media/rtc_video_encoder.cc6
-rw-r--r--content/renderer/pepper/ppb_video_decoder_impl.cc3
2 files changed, 3 insertions, 6 deletions
diff --git a/content/renderer/media/rtc_video_encoder.cc b/content/renderer/media/rtc_video_encoder.cc
index e078b7e..22f17a1 100644
--- a/content/renderer/media/rtc_video_encoder.cc
+++ b/content/renderer/media/rtc_video_encoder.cc
@@ -279,8 +279,7 @@ void RTCVideoEncoder::Impl::RequestEncodingParametersChange(uint32 bitrate,
void RTCVideoEncoder::Impl::Destroy() {
DVLOG(3) << "Impl::Destroy()";
DCHECK(thread_checker_.CalledOnValidThread());
- if (video_encoder_)
- video_encoder_.release()->Destroy();
+ video_encoder_.reset();
}
void RTCVideoEncoder::Impl::RequireBitstreamBuffers(
@@ -400,8 +399,7 @@ void RTCVideoEncoder::Impl::NotifyError(
retval = WEBRTC_VIDEO_CODEC_ERROR;
}
- if (video_encoder_)
- video_encoder_.release()->Destroy();
+ video_encoder_.reset();
if (async_waiter_) {
SignalAsyncWaiter(retval);
diff --git a/content/renderer/pepper/ppb_video_decoder_impl.cc b/content/renderer/pepper/ppb_video_decoder_impl.cc
index 9844c36..4a3cde4 100644
--- a/content/renderer/pepper/ppb_video_decoder_impl.cc
+++ b/content/renderer/pepper/ppb_video_decoder_impl.cc
@@ -224,8 +224,7 @@ int32_t PPB_VideoDecoder_Impl::Reset(scoped_refptr<TrackedCallback> callback) {
void PPB_VideoDecoder_Impl::Destroy() {
FlushCommandBuffer();
- if (decoder_)
- decoder_.release()->Destroy();
+ decoder_.reset();
ppp_videodecoder_ = NULL;
::ppapi::PPB_VideoDecoder_Shared::Destroy();