From: Arun Raghavan Date: Mon, 29 Apr 2013 05:37:56 +0000 (+0530) Subject: pulsesink: Better error message when server version is too old X-Git-Tag: 1.1.1~158 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=cc5562a8d910a59d0b0433a06f87c08fc2af82bf;p=platform%2Fupstream%2Fgst-plugins-good.git pulsesink: Better error message when server version is too old We check for the library version at configure time, but the server version can only really be checked at run-time. https://bugzilla.gnome.org/show_bug.cgi?id=698768 --- diff --git a/ext/pulse/pulsesink.c b/ext/pulse/pulsesink.c index 585174d..08dfe55 100644 --- a/ext/pulse/pulsesink.c +++ b/ext/pulse/pulsesink.c @@ -531,6 +531,11 @@ gst_pulseringbuffer_open_device (GstAudioRingBuffer * buf) pa_threaded_mainloop_wait (mainloop); } + if (pa_context_get_server_protocol_version (pbuf->context) < 22) { + /* We need PulseAudio >= 1.0 on the server side for the extended API */ + goto bad_server_version; + } + GST_LOG_OBJECT (psink, "opened the device"); pa_threaded_mainloop_unlock (mainloop); @@ -559,6 +564,12 @@ connect_failed: pa_strerror (pa_context_errno (pctx->context))), (NULL)); goto unlock_and_fail; } +bad_server_version: + { + GST_ELEMENT_ERROR (psink, RESOURCE, FAILED, ("PulseAudio server version " + "is too old."), (NULL)); + goto unlock_and_fail; + } } /* close the device */