audio: Fix missing reply to Acquire in AVDTP

Calling org.bluez.MediaEndpoint.Acquire ends in avdtp_start().
If bluez is acceptor of AVDTP_OPEN, then avdtp_start is delayed in a
timer in order to wait for the initiator to send AVDTP_START.
If the timer expires, avdtp_start() is called a second time and find
that Bluez is acceptor. This time, since a timer already exists, Bluez
does nothing and the answer to Acquire is never sent.
The idea of this patch is that if we get in the timeout, we will no longer
care whether we accepted open or not.
This commit is contained in:
Frédéric Dalleau 2012-07-02 17:16:11 +02:00 committed by Luiz Augusto von Dentz
parent b0c6296b6f
commit a6542f9dde

View File

@ -3627,6 +3627,8 @@ static gboolean start_timeout(gpointer user_data)
struct avdtp_stream *stream = user_data;
struct avdtp *session = stream->session;
stream->open_acp = 0;
if (avdtp_start(session, stream) < 0)
error("wait_timeout: avdtp_start failed");