Index: content/common/gpu/media/dxva_video_decode_accelerator.cc |
=================================================================== |
--- content/common/gpu/media/dxva_video_decode_accelerator.cc (revision 150949) |
+++ content/common/gpu/media/dxva_video_decode_accelerator.cc (working copy) |
@@ -499,12 +499,14 @@ |
} |
DXVAVideoDecodeAccelerator::DXVAVideoDecodeAccelerator( |
- media::VideoDecodeAccelerator::Client* client) |
+ media::VideoDecodeAccelerator::Client* client, |
+ const base::Callback<bool(void)>& make_context_current) |
: client_(client), |
egl_config_(NULL), |
state_(kUninitialized), |
pictures_requested_(false), |
- inputs_before_decode_(0) { |
+ inputs_before_decode_(0), |
+ make_context_current_(make_context_current) { |
memset(&input_stream_info_, 0, sizeof(input_stream_info_)); |
memset(&output_stream_info_, 0, sizeof(output_stream_info_)); |
} |
@@ -965,6 +967,11 @@ |
if (pending_output_samples_.empty()) |
return; |
+ if (!make_context_current_.Run()) { |
+ StopOnError(media::VideoDecodeAccelerator::PLATFORM_FAILURE); |
+ return; |
+ } |
+ |
OutputBuffers::iterator index; |
for (index = output_picture_buffers_.begin(); |