aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/backends/pulseaudio.c
diff options
context:
space:
mode:
Diffstat (limited to 'Alc/backends/pulseaudio.c')
-rw-r--r--Alc/backends/pulseaudio.c30
1 files changed, 15 insertions, 15 deletions
diff --git a/Alc/backends/pulseaudio.c b/Alc/backends/pulseaudio.c
index e7ff369a..e80ee0bd 100644
--- a/Alc/backends/pulseaudio.c
+++ b/Alc/backends/pulseaudio.c
@@ -632,28 +632,26 @@ static ALuint PulseProc(ALvoid *param)
return 0;
}
-static pa_stream *connect_playback_stream(ALCdevice *device,
+static pa_stream *connect_playback_stream(const char *device_name,
+ pa_threaded_mainloop *loop, pa_context *context,
pa_stream_flags_t flags, pa_buffer_attr *attr, pa_sample_spec *spec,
pa_channel_map *chanmap)
{
- pulse_data *data = device->ExtraData;
pa_stream_state_t state;
pa_stream *stream;
- stream = pa_stream_new(data->context, "Playback Stream", spec, chanmap);
+ stream = pa_stream_new(context, "Playback Stream", spec, chanmap);
if(!stream)
{
- ERR("pa_stream_new() failed: %s\n",
- pa_strerror(pa_context_errno(data->context)));
+ ERR("pa_stream_new() failed: %s\n", pa_strerror(pa_context_errno(context)));
return NULL;
}
- pa_stream_set_state_callback(stream, stream_state_callback, data->loop);
+ pa_stream_set_state_callback(stream, stream_state_callback, loop);
- if(pa_stream_connect_playback(stream, data->device_name, attr, flags, NULL, NULL) < 0)
+ if(pa_stream_connect_playback(stream, device_name, attr, flags, NULL, NULL) < 0)
{
- ERR("Stream did not connect: %s\n",
- pa_strerror(pa_context_errno(data->context)));
+ ERR("Stream did not connect: %s\n", pa_strerror(pa_context_errno(context)));
pa_stream_unref(stream);
return NULL;
}
@@ -662,13 +660,12 @@ static pa_stream *connect_playback_stream(ALCdevice *device,
{
if(!PA_STREAM_IS_GOOD(state))
{
- ERR("Stream did not get ready: %s\n",
- pa_strerror(pa_context_errno(data->context)));
+ ERR("Stream did not get ready: %s\n", pa_strerror(pa_context_errno(context)));
pa_stream_unref(stream);
return NULL;
}
- pa_threaded_mainloop_wait(data->loop);
+ pa_threaded_mainloop_wait(loop);
}
pa_stream_set_state_callback(stream, NULL, NULL);
@@ -790,6 +787,7 @@ static ALCenum pulse_open_playback(ALCdevice *device, const ALCchar *device_name
{
char *pulse_name = NULL;
pa_sample_spec spec;
+ pa_stream *stream;
pulse_data *data;
if(!allDevNameMap)
@@ -827,8 +825,8 @@ static ALCenum pulse_open_playback(ALCdevice *device, const ALCchar *device_name
spec.rate = 44100;
spec.channels = 2;
- data->device_name = pulse_name;
- pa_stream *stream = connect_playback_stream(device, 0, NULL, &spec, NULL);
+ stream = connect_playback_stream(pulse_name, data->loop, data->context, 0,
+ NULL, &spec, NULL);
if(!stream)
{
pa_threaded_mainloop_unlock(data->loop);
@@ -932,7 +930,9 @@ static ALCboolean pulse_reset_playback(ALCdevice *device) //{{{
data->attr.tlength = data->attr.minreq * maxu(device->NumUpdates, 2);
data->attr.maxlength = -1;
- data->stream = connect_playback_stream(device, flags, &data->attr, &data->spec, &chanmap);
+ data->stream = connect_playback_stream(data->device_name, data->loop,
+ data->context, flags, &data->attr,
+ &data->spec, &chanmap);
if(!data->stream)
{
pa_threaded_mainloop_unlock(data->loop);