Index: content/common/gpu/media/gpu_video_decode_accelerator.cc |
diff --git a/content/common/gpu/media/gpu_video_decode_accelerator.cc b/content/common/gpu/media/gpu_video_decode_accelerator.cc |
index 9ef0a537f2b9e63ac72cea9b39f80adf50e9e1e6..06174d822b0c2c18bb982a82b7cfad5ea12247a9 100644 |
--- a/content/common/gpu/media/gpu_video_decode_accelerator.cc |
+++ b/content/common/gpu/media/gpu_video_decode_accelerator.cc |
@@ -341,7 +341,11 @@ scoped_ptr<media::VideoDecodeAccelerator> |
GpuVideoDecodeAccelerator::CreateVaapiVDA() { |
scoped_ptr<media::VideoDecodeAccelerator> decoder; |
#if defined(OS_CHROMEOS) && defined(ARCH_CPU_X86_FAMILY) |
- decoder.reset(new VaapiVideoDecodeAccelerator(make_context_current_)); |
+ gpu::gles2::GLES2Decoder* command_decoder = stub_->decoder(); |
+ gpu::gles2::TextureManager* texture_manager = |
+ command_decoder->GetContextGroup()->texture_manager(); |
+ decoder.reset( |
+ new VaapiVideoDecodeAccelerator(make_context_current_, texture_manager)); |
#endif |
return decoder.Pass(); |
} |
@@ -475,8 +479,8 @@ void GpuVideoDecodeAccelerator::OnAssignPictureBuffers( |
NotifyError(media::VideoDecodeAccelerator::PLATFORM_FAILURE); |
return; |
} |
- buffers.push_back(media::PictureBuffer( |
- buffer_ids[i], texture_dimensions_, service_texture_id)); |
+ buffers.push_back(media::PictureBuffer(buffer_ids[i], texture_dimensions_, |
+ service_texture_id, texture_ids[i])); |
Pawel Osciak
2015/01/21 13:07:07
Could you please explain the difference between se
achaulk
2015/01/21 17:10:03
texture_id[] is the client-side (browser) texture
piman
2015/01/21 23:58:22
If you have the TextureRef, you can get the servic
achaulk
2015/01/22 18:13:47
Yes, but if I pass only the client ID instead, all
|
textures.push_back(texture_ref); |
} |
video_decode_accelerator_->AssignPictureBuffers(buffers); |