| Index: content/common/gpu/media/dxva_video_decode_accelerator.cc
|
| diff --git a/content/common/gpu/media/dxva_video_decode_accelerator.cc b/content/common/gpu/media/dxva_video_decode_accelerator.cc
|
| index be50634283fa0f00806b7c69f5951f6889453eba..5c1c7f4f4608232df3062ac3e981e8d8601eefac 100644
|
| --- a/content/common/gpu/media/dxva_video_decode_accelerator.cc
|
| +++ b/content/common/gpu/media/dxva_video_decode_accelerator.cc
|
| @@ -1391,13 +1391,26 @@ void DXVAVideoDecodeAccelerator::Invalidate() {
|
| pending_output_samples_.clear();
|
| pending_input_buffers_.clear();
|
| decoder_.Release();
|
| - if (video_format_converter_mft_.get()) {
|
| - video_format_converter_mft_->ProcessMessage(
|
| - MFT_MESSAGE_NOTIFY_END_STREAMING, 0);
|
| - video_format_converter_mft_.Release();
|
| +
|
| + if (use_dx11_) {
|
| + if (video_format_converter_mft_.get()) {
|
| + video_format_converter_mft_->ProcessMessage(
|
| + MFT_MESSAGE_NOTIFY_END_STREAMING, 0);
|
| + video_format_converter_mft_.Release();
|
| + }
|
| + d3d11_device_context_.Release();
|
| + d3d11_device_.Release();
|
| + d3d11_device_manager_.Release();
|
| + d3d11_query_.Release();
|
| + dx11_video_format_converter_media_type_needs_init_ = true;
|
| + } else {
|
| + d3d9_.Release();
|
| + d3d9_device_ex_.Release();
|
| + device_manager_.Release();
|
| + query_.Release();
|
| }
|
| +
|
| MFShutdown();
|
| - dx11_video_format_converter_media_type_needs_init_ = true;
|
| SetState(kUninitialized);
|
| }
|
|
|
|
|