Fix Linux compiler errors.
parent
e299ab096d
commit
a8c2f77ef8
|
@ -33,6 +33,7 @@ struct AudioDeviceSpecification
|
||||||
wxString cardName; // Name of the audio device
|
wxString cardName; // Name of the audio device
|
||||||
wxString portName; // Name of the port from the above audio device (e.g. "Speakers" on Windows). Optional.
|
wxString portName; // Name of the port from the above audio device (e.g. "Speakers" on Windows). Optional.
|
||||||
wxString apiName; // Name of the active audio API
|
wxString apiName; // Name of the active audio API
|
||||||
|
int defaultSampleRate;
|
||||||
int maxChannels;
|
int maxChannels;
|
||||||
int minChannels;
|
int minChannels;
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,8 @@
|
||||||
#include "PulseAudioDevice.h"
|
#include "PulseAudioDevice.h"
|
||||||
#include "PulseAudioEngine.h"
|
#include "PulseAudioEngine.h"
|
||||||
|
|
||||||
|
#include <map>
|
||||||
|
|
||||||
PulseAudioEngine::PulseAudioEngine()
|
PulseAudioEngine::PulseAudioEngine()
|
||||||
: initialized_(false)
|
: initialized_(false)
|
||||||
{
|
{
|
||||||
|
@ -140,6 +142,7 @@ void PulseAudioEngine::stop()
|
||||||
struct PulseAudioDeviceListTemp
|
struct PulseAudioDeviceListTemp
|
||||||
{
|
{
|
||||||
std::vector<AudioDeviceSpecification> result;
|
std::vector<AudioDeviceSpecification> result;
|
||||||
|
std::map<int, std::string> cardResult;
|
||||||
PulseAudioEngine* thisPtr;
|
PulseAudioEngine* thisPtr;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -207,10 +210,9 @@ std::vector<AudioDeviceSpecification> PulseAudioEngine::getAudioDeviceList(Audio
|
||||||
pa_operation_unref(op);
|
pa_operation_unref(op);
|
||||||
|
|
||||||
// Get list of cards
|
// Get list of cards
|
||||||
std::map<int, std::string> cards;
|
|
||||||
op = pa_context_get_card_info_list(context_, [](pa_context *c, const pa_card_info *i, int eol, void *userdata)
|
op = pa_context_get_card_info_list(context_, [](pa_context *c, const pa_card_info *i, int eol, void *userdata)
|
||||||
{
|
{
|
||||||
std::map<int, wxString>* tempObj = static_cast<std::map<int, wxString>*>(userdata);
|
PulseAudioDeviceListTemp* tempObj = static_cast<PulseAudioDeviceListTemp*>(userdata);
|
||||||
|
|
||||||
if (eol)
|
if (eol)
|
||||||
{
|
{
|
||||||
|
@ -218,8 +220,8 @@ std::vector<AudioDeviceSpecification> PulseAudioEngine::getAudioDeviceList(Audio
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
(*tempObj)[i->index] = i->name;
|
tempObj->cardResult[i->index] = i->name;
|
||||||
}, &cards);
|
}, &tempObj);
|
||||||
|
|
||||||
// Wait for the operation to complete
|
// Wait for the operation to complete
|
||||||
for(;;)
|
for(;;)
|
||||||
|
@ -235,9 +237,9 @@ std::vector<AudioDeviceSpecification> PulseAudioEngine::getAudioDeviceList(Audio
|
||||||
// Iterate over result and populate cardName
|
// Iterate over result and populate cardName
|
||||||
for (auto& obj : tempObj.result)
|
for (auto& obj : tempObj.result)
|
||||||
{
|
{
|
||||||
if (cards.find(obj.deviceId) != cards.end())
|
if (tempObj.cardResult.find(obj.deviceId) != tempObj.cardResult.end())
|
||||||
{
|
{
|
||||||
obj.cardName = wxString::FromUTF8(cards[obj.deviceId].c_str());
|
obj.cardName = wxString::FromUTF8(tempObj.cardResult[obj.deviceId].c_str());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue