Index: media/gpu/dxva_video_decode_accelerator_win.cc |
diff --git a/media/gpu/dxva_video_decode_accelerator_win.cc b/media/gpu/dxva_video_decode_accelerator_win.cc |
index 5f104496f320afe1a718f00c0457bf805de23ab9..9e7c7b630c3f0501c0ae1e6fe602246b41a46cc0 100644 |
--- a/media/gpu/dxva_video_decode_accelerator_win.cc |
+++ b/media/gpu/dxva_video_decode_accelerator_win.cc |
@@ -1995,11 +1995,20 @@ void DXVAVideoDecodeAccelerator::StopDecoderThread() { |
uint64_t last_process_output_time = g_last_process_output_time; |
LARGE_INTEGER perf_frequency; |
::QueryPerformanceFrequency(&perf_frequency); |
+ uint32_t output_array_size = output_array_size_; |
+ size_t sample_count; |
+ { |
+ base::AutoLock lock(decoder_lock_); |
+ sample_count = pending_output_samples_.size(); |
+ } |
+ |
base::debug::Alias(&last_exception_code); |
base::debug::Alias(&last_unhandled_error); |
base::debug::Alias(&last_exception_time); |
base::debug::Alias(&last_process_output_time); |
base::debug::Alias(&perf_frequency.QuadPart); |
+ base::debug::Alias(&output_array_size); |
+ base::debug::Alias(&sample_count); |
decoder_thread_.Stop(); |
} |
@@ -2838,6 +2847,7 @@ bool DXVAVideoDecodeAccelerator::GetVideoFrameDimensions(IMFSample* sample, |
d3d11_texture->GetDesc(&d3d11_texture_desc); |
*width = d3d11_texture_desc.Width; |
*height = d3d11_texture_desc.Height; |
+ output_array_size_ = d3d11_texture_desc.ArraySize; |
} else { |
base::win::ScopedComPtr<IDirect3DSurface9> surface; |
hr = MFGetService(output_buffer.get(), MR_BUFFER_SERVICE, |