output/pulse: require libpulse 0.9.16

Remove all #ifdefs.  Old versions of libpulse are not being tested,
and thus I'm removing support.
This commit is contained in:
Max Kellermann 2013-09-04 16:44:57 +02:00
parent b691d3123b
commit d1f4a31b5e
2 changed files with 4 additions and 52 deletions

View File

@ -1375,7 +1375,7 @@ fi
AM_CONDITIONAL(ENABLE_PIPE_OUTPUT, test x$enable_pipe_output = xyes)
dnl -------------------------------- PulseAudio -------------------------------
MPD_AUTO_PKG(pulse, PULSE, [libpulse],
MPD_AUTO_PKG(pulse, PULSE, [libpulse >= 0.9.16],
[PulseAudio output plugin], [libpulse not found])
if test x$enable_pulse = xyes; then
AC_DEFINE([HAVE_PULSE], 1,

View File

@ -38,13 +38,6 @@
#define MPD_PULSE_NAME "Music Player Daemon"
#if !defined(PA_CHECK_VERSION)
/**
* This macro was implemented in libpulse 0.9.16.
*/
#define PA_CHECK_VERSION(a,b,c) false
#endif
struct PulseOutput {
struct audio_output base;
@ -59,14 +52,6 @@ struct PulseOutput {
struct pa_stream *stream;
size_t writable;
#if !PA_CHECK_VERSION(0,9,11)
/**
* We need this variable because pa_stream_is_corked() wasn't
* added before 0.9.11.
*/
bool pause;
#endif
};
/**
@ -278,9 +263,7 @@ pulse_output_delete_stream(PulseOutput *po)
assert(po != nullptr);
assert(po->stream != nullptr);
#if PA_CHECK_VERSION(0,9,8)
pa_stream_set_suspended_callback(po->stream, nullptr, nullptr);
#endif
pa_stream_set_state_callback(po->stream, nullptr, nullptr);
pa_stream_set_write_callback(po->stream, nullptr, nullptr);
@ -482,8 +465,6 @@ pulse_output_wait_connection(PulseOutput *po, GError **error_r)
}
}
#if PA_CHECK_VERSION(0,9,8)
static void
pulse_output_stream_suspended_cb(gcc_unused pa_stream *stream, void *userdata)
{
@ -497,8 +478,6 @@ pulse_output_stream_suspended_cb(gcc_unused pa_stream *stream, void *userdata)
pa_threaded_mainloop_signal(po->mainloop, 0);
}
#endif
static void
pulse_output_stream_state_cb(pa_stream *stream, void *userdata)
{
@ -564,10 +543,8 @@ pulse_output_setup_stream(PulseOutput *po, const pa_sample_spec *ss,
return false;
}
#if PA_CHECK_VERSION(0,9,8)
pa_stream_set_suspended_callback(po->stream,
pulse_output_stream_suspended_cb, po);
#endif
pa_stream_set_state_callback(po->stream,
pulse_output_stream_state_cb, po);
@ -645,10 +622,6 @@ pulse_output_open(struct audio_output *ao, AudioFormat &audio_format,
pa_threaded_mainloop_unlock(po->mainloop);
#if !PA_CHECK_VERSION(0,9,11)
po->pause = false;
#endif
return true;
}
@ -711,22 +684,6 @@ pulse_output_wait_stream(PulseOutput *po, GError **error_r)
}
}
/**
* Determines whether the stream is paused. On libpulse older than
* 0.9.11, it uses a custom pause flag.
*/
static bool
pulse_output_stream_is_paused(PulseOutput *po)
{
assert(po->stream != nullptr);
#if !defined(PA_CHECK_VERSION) || !PA_CHECK_VERSION(0,9,11)
return po->pause;
#else
return pa_stream_is_corked(po->stream);
#endif
}
/**
* Sets cork mode on the stream.
*/
@ -756,9 +713,6 @@ pulse_output_stream_pause(PulseOutput *po, bool pause,
return false;
}
#if !PA_CHECK_VERSION(0,9,11)
po->pause = pause;
#endif
return true;
}
@ -770,7 +724,7 @@ pulse_output_delay(struct audio_output *ao)
pa_threaded_mainloop_lock(po->mainloop);
if (po->base.pause && pulse_output_stream_is_paused(po) &&
if (po->base.pause && pa_stream_is_corked(po->stream) &&
pa_stream_get_state(po->stream) == PA_STREAM_READY)
/* idle while paused */
result = 1000;
@ -803,7 +757,7 @@ pulse_output_play(struct audio_output *ao, const void *chunk, size_t size,
/* unpause if previously paused */
if (pulse_output_stream_is_paused(po) &&
if (pa_stream_is_corked(po->stream) &&
!pulse_output_stream_pause(po, false, error_r)) {
pa_threaded_mainloop_unlock(po->mainloop);
return 0;
@ -812,14 +766,12 @@ pulse_output_play(struct audio_output *ao, const void *chunk, size_t size,
/* wait until the server allows us to write */
while (po->writable == 0) {
#if PA_CHECK_VERSION(0,9,8)
if (pa_stream_is_suspended(po->stream)) {
pa_threaded_mainloop_unlock(po->mainloop);
g_set_error(error_r, pulse_output_quark(), 0,
"suspended");
return 0;
}
#endif
pa_threaded_mainloop_wait(po->mainloop);
@ -907,7 +859,7 @@ pulse_output_pause(struct audio_output *ao)
/* cork the stream */
if (!pulse_output_stream_is_paused(po) &&
if (!pa_stream_is_corked(po->stream) &&
!pulse_output_stream_pause(po, true, &error)) {
pa_threaded_mainloop_unlock(po->mainloop);
g_warning("%s", error->message);