aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/backends/pulseaudio.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Alc/backends/pulseaudio.cpp')
-rw-r--r--Alc/backends/pulseaudio.cpp16
1 files changed, 10 insertions, 6 deletions
diff --git a/Alc/backends/pulseaudio.cpp b/Alc/backends/pulseaudio.cpp
index 77719e3c..4569b91a 100644
--- a/Alc/backends/pulseaudio.cpp
+++ b/Alc/backends/pulseaudio.cpp
@@ -800,7 +800,8 @@ static void PulsePlayback_sinkNameCallback(pa_context *UNUSED(context), const pa
}
ALCdevice *device{STATIC_CAST(ALCbackend,self)->mDevice};
- alstr_copy_cstr(&device->DeviceName, info->description);
+ al_free(device->DeviceName);
+ device->DeviceName = alstrdup(info->description);
}
@@ -980,7 +981,8 @@ static ALCenum PulsePlayback_open(PulsePlayback *self, const ALCchar *name)
else
{
ALCdevice *device{STATIC_CAST(ALCbackend,self)->mDevice};
- alstr_copy_cstr(&device->DeviceName, dev_name);
+ al_free(device->DeviceName);
+ device->DeviceName = alstrdup(dev_name);
}
return ALC_NO_ERROR;
@@ -1011,7 +1013,7 @@ static ALCboolean PulsePlayback_reset(PulsePlayback *self)
PA_STREAM_INTERPOLATE_TIMING | PA_STREAM_AUTO_TIMING_UPDATE};
if(!GetConfigValueBool(nullptr, "pulse", "allow-moves", 0))
flags |= PA_STREAM_DONT_MOVE;
- if(GetConfigValueBool(alstr_get_cstr(device->DeviceName), "pulse", "fix-rate", 0) ||
+ if(GetConfigValueBool(device->DeviceName, "pulse", "fix-rate", 0) ||
!(device->Flags&DEVICE_FREQUENCY_REQUEST))
flags |= PA_STREAM_FIX_RATE;
@@ -1418,7 +1420,8 @@ static void PulseCapture_sourceNameCallback(pa_context *UNUSED(context), const p
}
ALCdevice *device{STATIC_CAST(ALCbackend,self)->mDevice};
- alstr_copy_cstr(&device->DeviceName, info->description);
+ al_free(device->DeviceName);
+ device->DeviceName = alstrdup(info->description);
}
@@ -1490,7 +1493,8 @@ static ALCenum PulseCapture_open(PulseCapture *self, const ALCchar *name)
if(iter == CaptureDevices.cend())
return ALC_INVALID_VALUE;
pulse_name = iter->device_name.c_str();
- alstr_copy_cstr(&device->DeviceName, iter->name.c_str());
+ al_free(device->DeviceName);
+ device->DeviceName = alstrdup(iter->name.c_str());
}
std::tie(self->loop, self->context) = pulse_open(PulseCapture_contextStateCallback, self);
@@ -1593,7 +1597,7 @@ static ALCenum PulseCapture_open(PulseCapture *self, const ALCchar *name)
pa_stream_set_state_callback(self->stream, PulseCapture_streamStateCallback, self);
self->device_name = pa_stream_get_device_name(self->stream);
- if(alstr_empty(device->DeviceName))
+ if(!device->DeviceName || device->DeviceName[0] == 0)
{
pa_operation *op{pa_context_get_source_info_by_name(self->context,
self->device_name.c_str(), PulseCapture_sourceNameCallback, self