Make it consistent with the logic when abort timeout since the original
intent is to cancel a pending request there is no point in keeping the
connection if it is in an unrecoverable state.
When --enable-test is passed along with --disable-alsa and
--disable-gstreamer, the SBC lib is not built, which breaks
compilation of the ipctest test program.
Data from previous connection should be reset once disconnected, to fix
this a new structure is introduced called headset_slc which represents
the Service Level Connection and hold the connection data which is freed
when disconnected.
The pending request might be freed twice when receiving an Abort
response, in handle_unanswered_req and session_cb. Avoid freeing
it in handle_unanswered_req.
This was triggering an assert inside libdbus when the timeout inside
the leaking pending call expired. The assert said that we were trying
to remove an nonexistent timeout.
Explicitely link against libm, to avoid linking problems:
CCLD sbc/sbctester
/usr/bin/ld: sbc/sbctester.o: undefined reference to symbol 'sqrt@@GLIBC_2.2.5'
/usr/bin/ld: note: 'sqrt@@GLIBC_2.2.5' is defined in DSO /lib64/libm.so.6 so try adding it to the linker command line
/lib64/libm.so.6: could not read symbols: Invalid operation
Headset authorization callback is not being removed when the headset
disconnects during authorization. Cancel authorization function of
audio devices doesn't iterate the callbacks list properly.
If the connection is lost when there is an AVDTP request the remote has
not replied to and which has not timed out, then at least in some cases
the callback for the request is not called leading to no Error response
being sent on the Audio API.
This patch checks if there is an outstanding request when the stream
state goes to idle and in that case triggers the corresponding callback
with an error.
This fixed an issue with sending an image from OSX. OSX would show a
warning that the bluez stack does not support this file type, but offer
to send it anyway (which works). This change to advertise support for
all object types will remove this warning.
The list of file types that can be advertised in the SDP record is very
limited anyway. It is best to list that we support all file types here,
and then filter at the OPP/OBEX connection instead.
For reference:
0x01 = vCard 2.1
0x02 = vCard 3.0
0x03 = vCal 1.0
0x04 = iCal 2.0
0x05 = vNote
0x06 = vMessage
0xFF = any type of object.
Create a interface where a Handsfree agent can register and use BlueZ to
handle the rfcomm and sco links.
Many thanks to Zhenhua Zhang <zhenhua.zhang@intel.com> for his
prototype on this code.
If a remote name is cached and we didn't got a non-EIR event we should
check for cached remote host features for SSP support to behave
correctly with SSP & non-EIR devices.