diff options
-rw-r--r-- | media/audio/win/audio_low_latency_input_win.cc | 15 | ||||
-rw-r--r-- | media/audio/win/audio_low_latency_output_win.cc | 19 | ||||
-rw-r--r-- | media/audio/win/device_enumeration_win.cc | 6 |
3 files changed, 8 insertions, 32 deletions
diff --git a/media/audio/win/audio_low_latency_input_win.cc b/media/audio/win/audio_low_latency_input_win.cc index e5e3948..1e5464f 100644 --- a/media/audio/win/audio_low_latency_input_win.cc +++ b/media/audio/win/audio_low_latency_input_win.cc @@ -276,26 +276,15 @@ HRESULT WASAPIAudioInputStream::GetMixFormat(const std::string& device_id, hr = enumerator->GetDevice(UTF8ToUTF16(device_id).c_str(), endpoint_device.Receive()); } - if (FAILED(hr)) { - // This will happen if there's no audio capture device found or available - // (e.g. some audio cards that have inputs will still report them as - // "not found" when no mic is plugged into the input jack). - LOG(WARNING) << "No audio end point: " << std::hex << hr; + if (FAILED(hr)) return hr; - } ScopedComPtr<IAudioClient> audio_client; hr = endpoint_device->Activate(__uuidof(IAudioClient), CLSCTX_INPROC_SERVER, NULL, audio_client.ReceiveVoid()); - DCHECK(SUCCEEDED(hr)) << "Failed to activate device: " << std::hex << hr; - if (SUCCEEDED(hr)) { - hr = audio_client->GetMixFormat(device_format); - DCHECK(SUCCEEDED(hr)) << "GetMixFormat: " << std::hex << hr; - } - - return hr; + return SUCCEEDED(hr) ? audio_client->GetMixFormat(device_format) : hr; } void WASAPIAudioInputStream::Run() { diff --git a/media/audio/win/audio_low_latency_output_win.cc b/media/audio/win/audio_low_latency_output_win.cc index 33cd14f..f98c7b3 100644 --- a/media/audio/win/audio_low_latency_output_win.cc +++ b/media/audio/win/audio_low_latency_output_win.cc @@ -90,35 +90,22 @@ static HRESULT GetMixFormat(ERole device_role, WAVEFORMATEX** device_format) { CLSCTX_INPROC_SERVER, __uuidof(IMMDeviceEnumerator), enumerator.ReceiveVoid()); - if (FAILED(hr)) { - NOTREACHED() << "error code: " << std::hex << hr; + if (FAILED(hr)) return hr; - } ScopedComPtr<IMMDevice> endpoint_device; hr = enumerator->GetDefaultAudioEndpoint(eRender, device_role, endpoint_device.Receive()); - if (FAILED(hr)) { - // This will happen if there's no audio output device found or available - // (e.g. some audio cards that have outputs will still report them as - // "not found" when no speaker is plugged into the output jack). - LOG(WARNING) << "No audio end point: " << std::hex << hr; + if (FAILED(hr)) return hr; - } ScopedComPtr<IAudioClient> audio_client; hr = endpoint_device->Activate(__uuidof(IAudioClient), CLSCTX_INPROC_SERVER, NULL, audio_client.ReceiveVoid()); - DCHECK(SUCCEEDED(hr)) << "Failed to activate device: " << std::hex << hr; - if (SUCCEEDED(hr)) { - hr = audio_client->GetMixFormat(device_format); - DCHECK(SUCCEEDED(hr)) << "GetMixFormat: " << std::hex << hr; - } - - return hr; + return SUCCEEDED(hr) ? audio_client->GetMixFormat(device_format) : hr; } // Retrieves an integer mask which corresponds to the channel layout the diff --git a/media/audio/win/device_enumeration_win.cc b/media/audio/win/device_enumeration_win.cc index c93a16b..46aacb0 100644 --- a/media/audio/win/device_enumeration_win.cc +++ b/media/audio/win/device_enumeration_win.cc @@ -33,7 +33,7 @@ bool GetInputDeviceNamesWin(AudioDeviceNames* device_names) { CLSCTX_INPROC_SERVER, __uuidof(IMMDeviceEnumerator), enumerator.ReceiveVoid()); - DCHECK_NE(hr, CO_E_NOTINITIALIZED); + DCHECK_NE(CO_E_NOTINITIALIZED, hr); if (FAILED(hr)) { LOG(WARNING) << "Failed to create IMMDeviceEnumerator: " << std::hex << hr; return false; @@ -62,13 +62,13 @@ bool GetInputDeviceNamesWin(AudioDeviceNames* device_names) { // Retrieve unique name of endpoint device. // Example: "{0.0.1.00000000}.{8db6020f-18e3-4f25-b6f5-7726c9122574}". ScopedComPtr<IMMDevice> audio_device; - ScopedCoMem<WCHAR> endpoint_device_id; hr = collection->Item(i, audio_device.Receive()); if (FAILED(hr)) continue; - audio_device->GetId(&endpoint_device_id); // Store the unique name. + ScopedCoMem<WCHAR> endpoint_device_id; + audio_device->GetId(&endpoint_device_id); device.unique_id = WideToUTF8(static_cast<WCHAR*>(endpoint_device_id)); // Retrieve user-friendly name of endpoint device. |