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 aac26951f2233f620433530a509fa7718591f0a4..e60de7e14a929809e35c4dcb91f37f2feadcd0be 100644 |
--- a/media/gpu/dxva_video_decode_accelerator_win.cc |
+++ b/media/gpu/dxva_video_decode_accelerator_win.cc |
@@ -291,7 +291,7 @@ static base::win::ScopedComPtr<IMFSample> CreateInputSample( |
base::win::ScopedComPtr<IMFSample>()); |
base::win::ScopedComPtr<IMFMediaBuffer> buffer; |
- HRESULT hr = sample->GetBufferByIndex(0, buffer.Receive()); |
+ HRESULT hr = sample->GetBufferByIndex(0, buffer.GetAddressOf()); |
RETURN_ON_HR_FAILURE(hr, "Failed to get buffer from sample", |
base::win::ScopedComPtr<IMFSample>()); |
@@ -656,7 +656,7 @@ bool DXVAVideoDecodeAccelerator::CreateD3DDevManager() { |
HRESULT hr = E_FAIL; |
- hr = Direct3DCreate9Ex(D3D_SDK_VERSION, d3d9_.Receive()); |
+ hr = Direct3DCreate9Ex(D3D_SDK_VERSION, d3d9_.GetAddressOf()); |
RETURN_ON_HR_FAILURE(hr, "Direct3DCreate9Ex failed", false); |
hr = d3d9_->CheckDeviceFormatConversion( |
@@ -692,19 +692,19 @@ bool DXVAVideoDecodeAccelerator::CreateD3DDevManager() { |
D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, NULL, |
D3DCREATE_FPU_PRESERVE | D3DCREATE_MIXED_VERTEXPROCESSING | |
D3DCREATE_MULTITHREADED, |
- &present_params, NULL, d3d9_device_ex_.Receive()); |
+ &present_params, NULL, d3d9_device_ex_.GetAddressOf()); |
RETURN_ON_HR_FAILURE(hr, "Failed to create D3D device", false); |
} |
hr = DXVA2CreateDirect3DDeviceManager9(&dev_manager_reset_token_, |
- device_manager_.Receive()); |
+ device_manager_.GetAddressOf()); |
RETURN_ON_HR_FAILURE(hr, "DXVA2CreateDirect3DDeviceManager9 failed", false); |
hr = device_manager_->ResetDevice(d3d9_device_ex_.Get(), |
dev_manager_reset_token_); |
RETURN_ON_HR_FAILURE(hr, "Failed to reset device", false); |
- hr = d3d9_device_ex_->CreateQuery(D3DQUERYTYPE_EVENT, query_.Receive()); |
+ hr = d3d9_device_ex_->CreateQuery(D3DQUERYTYPE_EVENT, query_.GetAddressOf()); |
RETURN_ON_HR_FAILURE(hr, "Failed to create D3D device query", false); |
// Ensure query_ API works (to avoid an infinite loop later in |
// CopyOutputSampleDataToPictureBuffer). |
@@ -778,7 +778,7 @@ bool DXVAVideoDecodeAccelerator::CreateVideoProcessor() { |
// Create video processor |
hr = video_processor_service_->CreateVideoProcessor( |
- guids[g], &inputDesc, D3DFMT_X8R8G8B8, 0, processor_.Receive()); |
+ guids[g], &inputDesc, D3DFMT_X8R8G8B8, 0, processor_.GetAddressOf()); |
if (hr) |
continue; |
@@ -801,8 +801,8 @@ bool DXVAVideoDecodeAccelerator::CreateDX11DevManager() { |
// The device may exist if the last state was a config change. |
if (D3D11Device()) |
return true; |
- HRESULT hr = create_dxgi_device_manager_(&dx11_dev_manager_reset_token_, |
- d3d11_device_manager_.Receive()); |
+ HRESULT hr = create_dxgi_device_manager_( |
+ &dx11_dev_manager_reset_token_, d3d11_device_manager_.GetAddressOf()); |
RETURN_ON_HR_FAILURE(hr, "MFCreateDXGIDeviceManager failed", false); |
angle_device_ = gl::QueryD3D11DeviceObjectFromANGLE(); |
@@ -831,8 +831,9 @@ bool DXVAVideoDecodeAccelerator::CreateDX11DevManager() { |
hr = D3D11CreateDevice(NULL, D3D_DRIVER_TYPE_HARDWARE, NULL, flags, |
feature_levels, arraysize(feature_levels), |
- D3D11_SDK_VERSION, d3d11_device_.Receive(), |
- &feature_level_out, d3d11_device_context_.Receive()); |
+ D3D11_SDK_VERSION, d3d11_device_.GetAddressOf(), |
+ &feature_level_out, |
+ d3d11_device_context_.GetAddressOf()); |
if (hr == DXGI_ERROR_SDK_COMPONENT_MISSING) { |
LOG(ERROR) |
<< "Debug DXGI device creation failed, falling back to release."; |
@@ -842,17 +843,18 @@ bool DXVAVideoDecodeAccelerator::CreateDX11DevManager() { |
} |
#endif |
if (!d3d11_device_context_) { |
- hr = D3D11CreateDevice( |
- NULL, D3D_DRIVER_TYPE_HARDWARE, NULL, flags, feature_levels, |
- arraysize(feature_levels), D3D11_SDK_VERSION, d3d11_device_.Receive(), |
- &feature_level_out, d3d11_device_context_.Receive()); |
+ hr = D3D11CreateDevice(NULL, D3D_DRIVER_TYPE_HARDWARE, NULL, flags, |
+ feature_levels, arraysize(feature_levels), |
+ D3D11_SDK_VERSION, d3d11_device_.GetAddressOf(), |
+ &feature_level_out, |
+ d3d11_device_context_.GetAddressOf()); |
RETURN_ON_HR_FAILURE(hr, "Failed to create DX11 device", false); |
} |
- hr = d3d11_device_.CopyTo(video_device_.Receive()); |
+ hr = d3d11_device_.CopyTo(video_device_.GetAddressOf()); |
RETURN_ON_HR_FAILURE(hr, "Failed to get video device", false); |
- hr = d3d11_device_context_.CopyTo(video_context_.Receive()); |
+ hr = d3d11_device_context_.CopyTo(video_context_.GetAddressOf()); |
RETURN_ON_HR_FAILURE(hr, "Failed to get video context", false); |
} |
@@ -896,7 +898,7 @@ bool DXVAVideoDecodeAccelerator::CreateDX11DevManager() { |
D3D11_QUERY_DESC query_desc; |
query_desc.Query = D3D11_QUERY_EVENT; |
query_desc.MiscFlags = 0; |
- hr = D3D11Device()->CreateQuery(&query_desc, d3d11_query_.Receive()); |
+ hr = D3D11Device()->CreateQuery(&query_desc, d3d11_query_.GetAddressOf()); |
RETURN_ON_HR_FAILURE(hr, "Failed to create DX11 device query", false); |
return true; |
@@ -1376,7 +1378,7 @@ std::pair<int, int> DXVAVideoDecodeAccelerator::GetMaxH264Resolution() { |
base::win::ScopedComPtr<ID3D11VideoDecoder> video_decoder; |
hr = video_device->CreateVideoDecoder(&desc, &config, |
- video_decoder.Receive()); |
+ video_decoder.GetAddressOf()); |
if (!video_decoder.Get()) |
return max_resolution; |
@@ -1407,7 +1409,7 @@ bool DXVAVideoDecodeAccelerator::IsLegacyGPU(ID3D11Device* device) { |
return legacy_gpu; |
base::win::ScopedComPtr<IDXGIAdapter> adapter; |
- hr = dxgi_device->GetAdapter(adapter.Receive()); |
+ hr = dxgi_device->GetAdapter(adapter.GetAddressOf()); |
if (FAILED(hr)) |
return legacy_gpu; |
@@ -1597,7 +1599,7 @@ bool DXVAVideoDecodeAccelerator::InitDecoder(VideoCodecProfile profile) { |
bool DXVAVideoDecodeAccelerator::CheckDecoderDxvaSupport() { |
base::win::ScopedComPtr<IMFAttributes> attributes; |
- HRESULT hr = decoder_->GetAttributes(attributes.Receive()); |
+ HRESULT hr = decoder_->GetAttributes(attributes.GetAddressOf()); |
RETURN_ON_HR_FAILURE(hr, "Failed to get decoder attributes", false); |
UINT32 dxva = 0; |
@@ -1664,7 +1666,7 @@ bool DXVAVideoDecodeAccelerator::SetDecoderMediaTypes() { |
bool DXVAVideoDecodeAccelerator::SetDecoderInputMediaType() { |
base::win::ScopedComPtr<IMFMediaType> media_type; |
- HRESULT hr = MFCreateMediaType(media_type.Receive()); |
+ HRESULT hr = MFCreateMediaType(media_type.GetAddressOf()); |
RETURN_ON_HR_FAILURE(hr, "MFCreateMediaType failed", false); |
hr = media_type->SetGUID(MF_MT_MAJOR_TYPE, MFMediaType_Video); |
@@ -1711,7 +1713,7 @@ bool DXVAVideoDecodeAccelerator::SetDecoderOutputMediaType( |
if (share_nv12_textures_) { |
base::win::ScopedComPtr<IMFAttributes> out_attributes; |
HRESULT hr = |
- decoder_->GetOutputStreamAttributes(0, out_attributes.Receive()); |
+ decoder_->GetOutputStreamAttributes(0, out_attributes.GetAddressOf()); |
RETURN_ON_HR_FAILURE(hr, "Failed to get stream attributes", false); |
out_attributes->SetUINT32(MF_SA_D3D11_BINDFLAGS, |
D3D11_BIND_SHADER_RESOURCE | D3D11_BIND_DECODER); |
@@ -1948,7 +1950,7 @@ void DXVAVideoDecodeAccelerator::ProcessPendingSamples() { |
base::win::ScopedComPtr<IMFMediaBuffer> output_buffer; |
HRESULT hr = pending_sample->output_sample->GetBufferByIndex( |
- 0, output_buffer.Receive()); |
+ 0, output_buffer.GetAddressOf()); |
RETURN_AND_NOTIFY_ON_HR_FAILURE( |
hr, "Failed to get buffer from output sample", PLATFORM_FAILURE, ); |
@@ -1963,10 +1965,10 @@ void DXVAVideoDecodeAccelerator::ProcessPendingSamples() { |
PLATFORM_FAILURE, ); |
hr = dxgi_buffer->GetResource( |
__uuidof(ID3D11Texture2D), |
- reinterpret_cast<void**>(d3d11_texture.Receive())); |
+ reinterpret_cast<void**>(d3d11_texture.GetAddressOf())); |
} else { |
hr = MFGetService(output_buffer.Get(), MR_BUFFER_SERVICE, |
- IID_PPV_ARGS(surface.Receive())); |
+ IID_PPV_ARGS(surface.GetAddressOf())); |
} |
RETURN_AND_NOTIFY_ON_HR_FAILURE( |
hr, "Failed to get surface from output sample", PLATFORM_FAILURE, ); |
@@ -2687,7 +2689,7 @@ void DXVAVideoDecodeAccelerator::CopyTextureOnDecoderThread( |
} |
base::win::ScopedComPtr<IMFMediaBuffer> output_buffer; |
- hr = input_sample->GetBufferByIndex(0, output_buffer.Receive()); |
+ hr = input_sample->GetBufferByIndex(0, output_buffer.GetAddressOf()); |
RETURN_AND_NOTIFY_ON_HR_FAILURE(hr, "Failed to get buffer from output sample", |
PLATFORM_FAILURE, ); |
@@ -2701,7 +2703,8 @@ void DXVAVideoDecodeAccelerator::CopyTextureOnDecoderThread( |
PLATFORM_FAILURE, ); |
base::win::ScopedComPtr<ID3D11Texture2D> dx11_decoding_texture; |
- hr = dxgi_buffer->GetResource(IID_PPV_ARGS(dx11_decoding_texture.Receive())); |
+ hr = dxgi_buffer->GetResource( |
+ IID_PPV_ARGS(dx11_decoding_texture.GetAddressOf())); |
RETURN_AND_NOTIFY_ON_HR_FAILURE( |
hr, "Failed to get resource from output sample", PLATFORM_FAILURE, ); |
@@ -2711,7 +2714,7 @@ void DXVAVideoDecodeAccelerator::CopyTextureOnDecoderThread( |
base::win::ScopedComPtr<ID3D11VideoProcessorOutputView> output_view; |
hr = video_device_->CreateVideoProcessorOutputView( |
dest_texture, enumerator_.Get(), &output_view_desc, |
- output_view.Receive()); |
+ output_view.GetAddressOf()); |
RETURN_AND_NOTIFY_ON_HR_FAILURE(hr, "Failed to get output view", |
PLATFORM_FAILURE, ); |
@@ -2722,7 +2725,7 @@ void DXVAVideoDecodeAccelerator::CopyTextureOnDecoderThread( |
base::win::ScopedComPtr<ID3D11VideoProcessorInputView> input_view; |
hr = video_device_->CreateVideoProcessorInputView( |
dx11_decoding_texture.Get(), enumerator_.Get(), &input_view_desc, |
- input_view.Receive()); |
+ input_view.GetAddressOf()); |
RETURN_AND_NOTIFY_ON_HR_FAILURE(hr, "Failed to get input view", |
PLATFORM_FAILURE, ); |
@@ -2830,12 +2833,12 @@ bool DXVAVideoDecodeAccelerator::InitializeID3D11VideoProcessor( |
desc.Usage = D3D11_VIDEO_USAGE_PLAYBACK_NORMAL; |
HRESULT hr = video_device_->CreateVideoProcessorEnumerator( |
- &desc, enumerator_.Receive()); |
+ &desc, enumerator_.GetAddressOf()); |
RETURN_ON_HR_FAILURE(hr, "Failed to enumerate video processors", false); |
// TODO(Hubbe): Find correct index |
hr = video_device_->CreateVideoProcessor(enumerator_.Get(), 0, |
- d3d11_processor_.Receive()); |
+ d3d11_processor_.GetAddressOf()); |
RETURN_ON_HR_FAILURE(hr, "Failed to create video processor.", false); |
processor_width_ = width; |
processor_height_ = height; |
@@ -2861,7 +2864,7 @@ bool DXVAVideoDecodeAccelerator::InitializeID3D11VideoProcessor( |
dx11_converter_output_color_space_ = gfx::ColorSpace::CreateSRGB(); |
if (use_color_info_ || use_fp16_) { |
base::win::ScopedComPtr<ID3D11VideoContext1> video_context1; |
- HRESULT hr = video_context_.CopyTo(video_context1.Receive()); |
+ HRESULT hr = video_context_.CopyTo(video_context1.GetAddressOf()); |
if (SUCCEEDED(hr)) { |
if (use_fp16_ && |
base::CommandLine::ForCurrentProcess()->HasSwitch( |
@@ -2923,7 +2926,7 @@ bool DXVAVideoDecodeAccelerator::GetVideoFrameDimensions(IMFSample* sample, |
int* width, |
int* height) { |
base::win::ScopedComPtr<IMFMediaBuffer> output_buffer; |
- HRESULT hr = sample->GetBufferByIndex(0, output_buffer.Receive()); |
+ HRESULT hr = sample->GetBufferByIndex(0, output_buffer.GetAddressOf()); |
RETURN_ON_HR_FAILURE(hr, "Failed to get buffer from output sample", false); |
if (use_dx11_) { |
@@ -2934,7 +2937,7 @@ bool DXVAVideoDecodeAccelerator::GetVideoFrameDimensions(IMFSample* sample, |
false); |
hr = dxgi_buffer->GetResource( |
__uuidof(ID3D11Texture2D), |
- reinterpret_cast<void**>(d3d11_texture.Receive())); |
+ reinterpret_cast<void**>(d3d11_texture.GetAddressOf())); |
RETURN_ON_HR_FAILURE(hr, "Failed to get D3D11Texture from output buffer", |
false); |
D3D11_TEXTURE2D_DESC d3d11_texture_desc; |
@@ -2945,7 +2948,7 @@ bool DXVAVideoDecodeAccelerator::GetVideoFrameDimensions(IMFSample* sample, |
} else { |
base::win::ScopedComPtr<IDirect3DSurface9> surface; |
hr = MFGetService(output_buffer.Get(), MR_BUFFER_SERVICE, |
- IID_PPV_ARGS(surface.Receive())); |
+ IID_PPV_ARGS(surface.GetAddressOf())); |
RETURN_ON_HR_FAILURE(hr, "Failed to get D3D surface from output sample", |
false); |
D3DSURFACE_DESC surface_desc; |
@@ -2964,8 +2967,8 @@ bool DXVAVideoDecodeAccelerator::SetTransformOutputType(IMFTransform* transform, |
HRESULT hr = E_FAIL; |
base::win::ScopedComPtr<IMFMediaType> media_type; |
- for (uint32_t i = 0; |
- SUCCEEDED(transform->GetOutputAvailableType(0, i, media_type.Receive())); |
+ for (uint32_t i = 0; SUCCEEDED( |
+ transform->GetOutputAvailableType(0, i, media_type.GetAddressOf())); |
++i) { |
GUID out_subtype = {0}; |
hr = media_type->GetGUID(MF_MT_SUBTYPE, &out_subtype); |
@@ -2992,7 +2995,7 @@ HRESULT DXVAVideoDecodeAccelerator::CheckConfigChanged(IMFSample* sample, |
return S_FALSE; |
base::win::ScopedComPtr<IMFMediaBuffer> buffer; |
- HRESULT hr = sample->GetBufferByIndex(0, buffer.Receive()); |
+ HRESULT hr = sample->GetBufferByIndex(0, buffer.GetAddressOf()); |
RETURN_ON_HR_FAILURE(hr, "Failed to get buffer from input sample", hr); |
mf::MediaBufferScopedPointer scoped_media_buffer(buffer.Get()); |