| Index: content/common/gpu/media/vaapi_video_decode_accelerator.cc
|
| diff --git a/content/common/gpu/media/vaapi_video_decode_accelerator.cc b/content/common/gpu/media/vaapi_video_decode_accelerator.cc
|
| index c169c8123086ab8016c8f55ddff7587021caa8ee..0c9936f7305ae3ad27750fcf63639f52d6e54629 100644
|
| --- a/content/common/gpu/media/vaapi_video_decode_accelerator.cc
|
| +++ b/content/common/gpu/media/vaapi_video_decode_accelerator.cc
|
| @@ -246,6 +246,8 @@ VaapiVideoDecodeAccelerator::VaapiVideoDecodeAccelerator(
|
| surfaces_available_(&lock_),
|
| message_loop_(base::MessageLoop::current()),
|
| weak_this_(base::AsWeakPtr(this)),
|
| + va_surface_release_cb_(media::BindToCurrentLoop(base::Bind(
|
| + &VaapiVideoDecodeAccelerator::RecycleVASurfaceID, weak_this_))),
|
| client_ptr_factory_(client),
|
| client_(client_ptr_factory_.GetWeakPtr()),
|
| decoder_thread_("VaapiDecoderThread"),
|
| @@ -318,7 +320,7 @@ bool VaapiVideoDecodeAccelerator::Initialize(
|
| decoder_.reset(
|
| new VaapiH264Decoder(
|
| vaapi_wrapper_.get(),
|
| - media::BindToLoop(message_loop_->message_loop_proxy(), base::Bind(
|
| + media::BindToCurrentLoop(base::Bind(
|
| &VaapiVideoDecodeAccelerator::SurfaceReady, weak_this_)),
|
| base::Bind(&ReportToUMA)));
|
|
|
| @@ -508,13 +510,9 @@ bool VaapiVideoDecodeAccelerator::FeedDecoderWithOutputSurfaces_Locked() {
|
| if (state_ != kDecoding && state_ != kFlushing && state_ != kIdle)
|
| return false;
|
|
|
| - VASurface::ReleaseCB va_surface_release_cb =
|
| - media::BindToLoop(message_loop_->message_loop_proxy(), base::Bind(
|
| - &VaapiVideoDecodeAccelerator::RecycleVASurfaceID, weak_this_));
|
| -
|
| while (!available_va_surfaces_.empty()) {
|
| scoped_refptr<VASurface> va_surface(
|
| - new VASurface(available_va_surfaces_.front(), va_surface_release_cb));
|
| + new VASurface(available_va_surfaces_.front(), va_surface_release_cb_));
|
| available_va_surfaces_.pop_front();
|
| decoder_->ReuseSurface(va_surface);
|
| }
|
|
|