| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
| |
According to ITU-T V.250 there should be a space after the colon in AT
result codes.
|
|
|
|
|
| |
This patch adds support for the AT+NREC command which can be used for
disabling noice reduction and echo canceling features on the AG side.
|
|
|
|
|
| |
Concurrent connections is needed in order to support clients holding
different access locks of the headset, eg. arecord | aplay.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
A stream should only be configured if there is no other application
holding the lock.
|
| |
|
| |
|
|
|
|
|
| |
This ensures that the timer is not only set when we requested the
suspend but also when the other side requested the suspend.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
It's very tricky to get the multiple connected HSP/HFP devices use case right.
E.g. in the case of in-band ringtone the specification mandates us to open SCO
to the HFP before sending RING indications. So, in the case of multiple
connected devices we would have to open multimple simultaneous SCO connections
which simply isn't a wise thing to do.
|
|
|
|
|
|
| |
Without this fix sending invalid arguments to telephony-dummy causes libgdbus
to return NO_MEMORY to libdbus which in turn causes the method handler to be
called in an infinite loop.
|
| |
|
| |
|
|
|
|
|
| |
If the remote end sends a START_CMD while we're setting up the stream
use it to notify the stream requestor (unix.c) of success.
|
|
|
|
|
|
|
| |
This could happen if both peers send START_CMD at the same time and the
SNK peer doesn't reject the command (as it should according to the
spec). This behaviour can be seen e.g. when using pulseaudio and the
Mororola S9 headset.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some time back the INT role OPEN transition was moved from receiving the OPEN
response to actually having the stream L2CAP channel ready. Unfortunatly this
patch forgot to change the ACP case so the code has so far attempted a double
->OPEN transition. According to the AVDTP spec the transition should happen
before the stream L2CAP transport but this doesn't really make sense since
several places want to have the stream fd ready when we go to the OPEN state.
Therefore, this patch removes the ACP role OPEN transition from receiving the
OPEN command and lets the state change be in having the stream L2CAP transport
established.
|
| |
|
|
|
|
|
| |
This error code doesn't appear in the CME error table in the HFP spec but there
are references to it in a couple of other places in the spec.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
There's something broken in the "profile enabled" logic at the moment which
makes server_is_enabled return FALSE sometimes when it shouldn't which causes
the necessary interface not to be added to remote device objects. Use simply
the config file values for now since we don't support per-adapter server
configuration anyway.
|
|
|
|
|
|
|
| |
Previously the avctp session would be free'd and the connect callback would try
to access this free'd memory. Now we detect this situation properly but the
fundamental problem remains that the bt_l2cap_connect API doesn't allow
aborting the connect procedure.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Remove the stream state callback if stream start fails. Without this patch the
callback could still be called after a unix client has disconnected which in
turn would cause a double-free to occur. There is code to remove the callback
also in client_free() but it won't work since we remove any references to the
session and stream in the resume callback.
|
|
|
|
|
|
| |
With this patch drivers can notify the core daemon that a device supports some
UUID. This is useful in case we don't have a service record for a profile which
the remote device initiates a connection for.
|
|
|
|
|
| |
This is preparation for allowing the device object to be correctly set up even
when we don't have the full service records but only the remote UUID's.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
In theory a headset could be in a connected state when the driver for it gets
unregistered. Do proper cleanup in this case (call headset_set_state(hs,
DISCONNECTED)). Currently this happens even in practice due to a bug where we
incorrectly assume that a device has removed a profile when in fact it's just
hiding it while it's connected.
|
| |
|
|
|
|
|
|
|
| |
We can't initialize dev->sink in the AVDTP server callback since at this point
we don't know if the remote device will be acting in audio source or audio sink
role. So, do the initialization when we get the SetConfiguration command since
then we can check the type of the SEP that was selected.
|