| Index: media/filters/gpu_video_decoder.cc
|
| diff --git a/media/filters/gpu_video_decoder.cc b/media/filters/gpu_video_decoder.cc
|
| index 0b8e60220a0660491cc28c5877f69866120f9b87..9000afcdee5b6269a3457dadb0b02c8a05bedf31 100644
|
| --- a/media/filters/gpu_video_decoder.cc
|
| +++ b/media/filters/gpu_video_decoder.cc
|
| @@ -441,13 +441,11 @@ void GpuVideoDecoder::PictureReady(const media::Picture& picture) {
|
| DCHECK(decoder_texture_target_);
|
|
|
| scoped_refptr<VideoFrame> frame(VideoFrame::WrapNativeTexture(
|
| - make_scoped_ptr(new VideoFrame::MailboxHolder(
|
| - pb.texture_mailbox(),
|
| - 0, // sync_point
|
| - BindToCurrentLoop(base::Bind(&GpuVideoDecoder::ReusePictureBuffer,
|
| - weak_this_,
|
| - picture.picture_buffer_id())))),
|
| - decoder_texture_target_,
|
| + make_scoped_ptr(new gpu::MailboxHolder(
|
| + pb.texture_mailbox(), decoder_texture_target_, 0 /* sync_point */)),
|
| + BindToCurrentLoop(base::Bind(&GpuVideoDecoder::ReusePictureBuffer,
|
| + weak_this_,
|
| + picture.picture_buffer_id())),
|
| pb.size(),
|
| visible_rect,
|
| natural_size,
|
| @@ -455,8 +453,7 @@ void GpuVideoDecoder::PictureReady(const media::Picture& picture) {
|
| base::Bind(&GpuVideoAcceleratorFactories::ReadPixels,
|
| factories_,
|
| pb.texture_id(),
|
| - gfx::Size(visible_rect.width(), visible_rect.height())),
|
| - base::Closure()));
|
| + gfx::Size(visible_rect.width(), visible_rect.height()))));
|
| CHECK_GT(available_pictures_, 0);
|
| --available_pictures_;
|
| bool inserted =
|
| @@ -488,8 +485,9 @@ void GpuVideoDecoder::EnqueueFrameAndTriggerFrameDelivery(
|
| ready_video_frames_.pop_front();
|
| }
|
|
|
| -void GpuVideoDecoder::ReusePictureBuffer(int64 picture_buffer_id,
|
| - uint32 sync_point) {
|
| +void GpuVideoDecoder::ReusePictureBuffer(
|
| + int64 picture_buffer_id,
|
| + scoped_ptr<gpu::MailboxHolder> mailbox_holder) {
|
| DVLOG(3) << "ReusePictureBuffer(" << picture_buffer_id << ")";
|
| DCHECK(gvd_loop_proxy_->BelongsToCurrentThread());
|
|
|
| @@ -513,7 +511,7 @@ void GpuVideoDecoder::ReusePictureBuffer(int64 picture_buffer_id,
|
| return;
|
| }
|
|
|
| - factories_->WaitSyncPoint(sync_point);
|
| + factories_->WaitSyncPoint(mailbox_holder->sync_point);
|
| ++available_pictures_;
|
|
|
| vda_->ReusePictureBuffer(picture_buffer_id);
|
|
|