From a192f22d3ea0f52cc942657beb5cf47450f7cb1b Mon Sep 17 00:00:00 2001 From: Luiz Augusto von Dentz Date: Thu, 4 May 2017 11:22:35 +0300 Subject: [PATCH] doc/handsfree-audio-api: Add Acquire method This adds Acquire method which can be used by agents that require pulling the fd directly instead of waiting a NewConnection. Note: sounds servers like PulseAudio do auto suspend streams when idle for a certain amount of time and once anything happens it will resume the stream, though this all happens in the so called IO thread in a blocking fashion making it impossible to receive the fd via NewConnetion causing the stream to fail to resume. There are other forms to work around but this seems to be most convenient as we do want the auto suspend feature to work properly but letting the stream to fail to resume may create unexpected artifacts while the NewConnection is handled in main thread. --- doc/handsfree-audio-api.txt | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/doc/handsfree-audio-api.txt b/doc/handsfree-audio-api.txt index d82035c2..87d51cf5 100644 --- a/doc/handsfree-audio-api.txt +++ b/doc/handsfree-audio-api.txt @@ -76,6 +76,22 @@ Methods dict GetProperties() [service].Error.NotImplemented [service].Error.NotAllowed + fd, byte Acquire() + + Attempts to establish the SCO audio connection + returning the filedescriptor of the connection and the + codec in use. + + Note: Contrary to Connect this does not call + NewConnection so it can be called in a blocking + manner. + + Possible Errors: [service].Error.InProgress + [service].Error.Failed + [service].Error.NotAvailable + [service].Error.NotImplemented + [service].Error.NotAllowed + Signals PropertyChanged(string name, variant value) This signal indicates a changed value of the given