diff --git a/src/audio/CubebAPI.cpp b/src/audio/CubebAPI.cpp index f98fa601..f6d5d516 100644 --- a/src/audio/CubebAPI.cpp +++ b/src/audio/CubebAPI.cpp @@ -183,17 +183,17 @@ void CubebAPI::Destroy() std::vector CubebAPI::GetDevices() { - cubeb_device_collection devices; - if (cubeb_enumerate_devices(s_context, CUBEB_DEVICE_TYPE_OUTPUT, &devices) != CUBEB_OK) - return {}; - std::vector result; - result.reserve(devices.count + 1); // Reserve space for the default device - // Add the default device to the list auto defaultDevice = std::make_shared(nullptr, "default", L"Default Device"); result.emplace_back(defaultDevice); + cubeb_device_collection devices; + if (cubeb_enumerate_devices(s_context, CUBEB_DEVICE_TYPE_OUTPUT, &devices) != CUBEB_OK) + return result; + + result.reserve(devices.count + 1); // The default device already occupies one element + for (size_t i = 0; i < devices.count; ++i) { // const auto& device = devices.device[i]; diff --git a/src/audio/CubebInputAPI.cpp b/src/audio/CubebInputAPI.cpp index c0fa73f4..a9faa9c8 100644 --- a/src/audio/CubebInputAPI.cpp +++ b/src/audio/CubebInputAPI.cpp @@ -175,17 +175,17 @@ void CubebInputAPI::Destroy() std::vector CubebInputAPI::GetDevices() { - cubeb_device_collection devices; - if (cubeb_enumerate_devices(s_context, CUBEB_DEVICE_TYPE_INPUT, &devices) != CUBEB_OK) - return {}; - std::vector result; - result.reserve(devices.count + 1); // Reserve space for the default device - // Add the default device to the list auto defaultDevice = std::make_shared(nullptr, "default", L"Default Device"); result.emplace_back(defaultDevice); + cubeb_device_collection devices; + if (cubeb_enumerate_devices(s_context, CUBEB_DEVICE_TYPE_INPUT, &devices) != CUBEB_OK) + return result; + + result.reserve(devices.count + 1); // The default device already occupies one element + for (size_t i = 0; i < devices.count; ++i) { // const auto& device = devices.device[i];