| b52dc7e9 |
Off-by-one error in uses_rfcomm
Variable len could be assigned to PATH_MAX + 1 length (returned
from readlink) and this variable is used as index to array link
of size only PATH_MAX + 1. |
Pavel Raiskup |
14 years ago |
1 file, +1, -1 |
| 7af9f868 |
formfactor: Add missing comma
Missing comma in static array chassis_map definition between
"Blade" and "Blade Enclosure" field.
Typing error fixed. |
Pavel Raiskup |
14 years ago |
1 file, +2, -2 |
| edb505b8 |
Off-by-one(two) error in form factor detection
Indexing of chassis_map array has to be done like that:
chassis_map[chassis_type * 2 - 1]
because if not, everything is shifted by one. When (e.g.) chassis_type
is 0x04 result should be "Low Profile Desktop" => "desktop" (not a
"Pizza Box" => "server"). Lets see the 2.6.1 document on:
http://www.dmtf.org/standards/smbios |
Pavel Raiskup |
14 years ago |
1 file, +1, -1 |
| a1e585d9 |
build: Link bluetoothd with private copy of libbluetooth |
Marcel Holtmann |
14 years ago |
1 file, +6, -2 |
| 35906565 |
audio: Update license for shared header files
The header files with constants and structures for audio specific
interaction with Pulseaudio are suppose to be under LGPL license.
For some odd reason a2dp-codecs.h ended up being under GPL license
which is against the intention of this being shared and re-used by
non-GPL programs. Fix this now to avoid any future confusion. |
Marcel Holtmann |
14 years ago |
3 files, +11, -9 |
| 021813af |
Implement media_transport for HFP_HS_UUID
The transport is used by pulseaudio to suspend and resume streams. |
Frédéric Dalleau |
14 years ago |
1 file, +130, -0 |
| 06eb47de |
Introduce gateway locking mechanism |
Frédéric Dalleau |
14 years ago |
2 files, +46, -0 |
| 9ce8d3f0 |
Set state to "connecting" when AG connects.
This state is used by media.c to trigger pulseaudio configuration. |
Frédéric Dalleau |
14 years ago |
1 file, +2, -0 |
| 270f3bb4 |
Fix RFCOMM disconnect on suspend request
When pulseaudio release an audio stream, gateway.c disconnects
RFCOMM instead of disconnecting only SCO. |
Frédéric Dalleau |
14 years ago |
1 file, +1, -1 |
| d3f53402 |
Update g_strcmp0 to strcasecmp |
Frédéric Dalleau |
14 years ago |
1 file, +1, -1 |
| 9a0bab47 |
Use state change callback from media interface
When a HFPHS endpoint is created, media will start to watch for
HandsfreeGateway state changes. media call SetConfiguration upon
connection and ClearConfiguration upon disconnection. |
Frédéric Dalleau |
14 years ago |
1 file, +56, -0 |
| 083177c8 |
Add state change callback to HandsfreeGateway
Media interface needs to monitor state changes of HandsfreeGateway. |
Frédéric Dalleau |
14 years ago |
2 files, +68, -0 |
| a471827d |
Fix double free in error case in endpoint_reply
If SetConfiguration call fails, the headset or gateway for which
SetConfiguration is called is disconnected. This will free any
pending request, but this does not prevent the request to
terminate (endpoint_reply) and try to free itself once again.
Note that a copy of the freed pointer is tested which has not
been updated. |
Frédéric Dalleau |
14 years ago |
1 file, +2, -1 |
| 9d509ed8 |
Disable Path Loss service in configuration file
Path Loss service requires kernel and userspace patches to work
properly. Keep it disabled while the implementation is not ready. |
Claudio Takahasi |
14 years ago |
1 file, +3, -3 |
| 885b9613 |
Change default Link Loss alert level to high
After creating a Proximity device, Link Loss alert level is always
written. Setting the default value to "high" enables alert without
requiring an application to change it later. |
Claudio Takahasi |
14 years ago |
1 file, +1, -1 |
| 74baed6c |
Add Trusted to DeviceFound signal
This makes it consistent with the documentation which says that this
signal is has the same parameters as GetProperties reply. |
Gustavo F. Padovan |
14 years ago |
1 file, +5, -2 |
| 4920323c |
Fix remove temporary link key for No Bonding
This fixes regression caused by 33cdfcb0fabcfb5260953a13ae277b5abe9a322d.
Temporary link key should be removed after device is disconnected if
bonding information is not stored in file system.
Currently, the key is deleted only when paired device is removed, or
adapter is powered off. In case of No Bonding authentication, device is
not paired after disconnection, which results in link key left in memory.
On the other hand, device is not necessarily removed after disconnection
that also leaves unneeded temporary link key in memory. Therefore,
btd_adapter_remove_bonding is moved to device_set_paired(device, FALSE)
covering both cases. |
Dmitriy Paliy |
14 years ago |
1 file, +3, -1 |
| f2c61eb4 |
build: Fix external plugin installation |
Marcel Holtmann |
14 years ago |
1 file, +5, -3 |
| bf857b7a |
Read local extended features at the initialization
Local extended features bitmask may change when Write LE Host Supported
Command is sent by the kernel. This patch adds reading of the local
extended features in the initialization sending a HCI command, extend
the ioctl HCIGETDEVINFO is not suitable due possible inconsistency
between kernel and userspace. |
Claudio Takahasi |
14 years ago |
1 file, +7, -17 |
| d7e1f84d |
Remove EnableLE option from the user-space
Deprecated configure option after adding "enable_le" parameter in the
bluetooth module. Write LE Host Supported Command is now sent by the
kernel if "enable_le" is enabled and the controller supports LE. |
Claudio Takahasi |
14 years ago |
8 files, +2, -51 |
| 319f66f7 |
Add support for listing all adapters using test-adapter |
Vinicius Costa Gomes |
14 years ago |
1 file, +17, -0 |
| 84f4d71d |
Fix get/set_hfp_active to match name conventions
These two functions are defined exclusively for headsets, so
follow established name conventions. |
Peter Hurley |
14 years ago |
4 files, +6, -6 |
| f9dddf3f |
Increase timeout before initiating AVDTP connection
AVDTP_CONNECT_TIMEOUT controls the delay between HSP/HFP
connection establishment and AVDTP signal channel establishment.
The original value of 1 sec. is too short to avoid racing for AVDTP
connection establishment (eg., if the device continues to configure
the HFP service level connection with additional AT cmds).
Some devices have broken AVDTP implementations that just cannot
handle the race conditions that arise if both devices are attempting
stream establishment at the same time. However, these conditions arise
only when the remote device is the ACL initiator (and in practice, the
RFCOMM initiator as well). This fix bumps out the timeout value only
when the headset has initiated the link. |
Peter Hurley |
14 years ago |
4 files, +30, -1 |
| 87b332e3 |
plugin: Use weak reference for external debug statements |
Marcel Holtmann |
14 years ago |
1 file, +2, -2 |
| 8cd91d18 |
plugin: Add debug support for exteranl plugins |
Marcel Holtmann |
14 years ago |
4 files, +28, -5 |
| 6b5b53f5 |
build: Allow loading of plugins from development tree |
Marcel Holtmann |
14 years ago |
1 file, +5, -0 |
| 5a0c179b |
Add external dummy plugin for testing |
Szymon Janc |
14 years ago |
2 files, +48, -0 |
| 8ec11b42 |
Clean up code in control.c |
Johan Hedberg |
14 years ago |
1 file, +17, -19 |
| 363afd0b |
Update Control documentation
Move methods and signal to an experimental interface named MediaPlayer
as currently implemented. |
Lucas De Marchi |
14 years ago |
1 file, +47, -47 |
| 655656db |
Add script to test MediaPlayer interface |
Lucas De Marchi |
14 years ago |
1 file, +108, -0 |
| a21e648c |
avrcp: update copyright |
Lucas De Marchi |
14 years ago |
1 file, +1, -0 |
| ab7e71ed |
avrcp: change TG record to use version 1.3 |
Lucas De Marchi |
14 years ago |
1 file, +1, -1 |
| 1a3de7ba |
avrcp: send response for registered events
When a certain event occur, check if CT registered to receive that
notification and send a response.
Example event for PTS test TC_TG_NFY_BV_02_C:
> ACL data: handle 11 flags 0x02 dlen 22
L2CAP(d): cid 0x0043 len 18 [psm 23]
AVCTP: Command : pt 0x00 transaction 2 pid 0x110e
AV/C: Notify: address 0x48 opcode 0x00
Subunit: Panel
Opcode: Vendor Dependent
Company ID: 0x001958
AVRCP: RegisterNotification: pt 0x00 len 0x0005
EventID: 0x02 (EVENT_TRACK_CHANGED)
Interval: 0x00000000 (0 seconds)
< ACL data: handle 11 flags 0x02 dlen 26
L2CAP(d): cid 0x0043 len 22 [psm 23]
AVCTP: Response : pt 0x00 transaction 2 pid 0x110e
AV/C: Interim: address 0x48 opcode 0x00
Subunit: Panel
Opcode: Vendor Dependent
Company ID: 0x001958
AVRCP: RegisterNotification: pt 0x00 len 0x0009
EventID: 0x02 (EVENT_TRACK_CHANGED)
Identifier: 0x0 (PLAYING)
[...]
< ACL data: handle 11 flags 0x02 dlen 26
L2CAP(d): cid 0x0043 len 22 [psm 23]
AVCTP: Response : pt 0x00 transaction 2 pid 0x110e
AV/C: Changed: address 0x48 opcode 0x00
Subunit: Panel
Opcode: Vendor Dependent
Company ID: 0x001958
AVRCP: RegisterNotification: pt 0x00 len 0x0009
EventID: 0x02 (EVENT_TRACK_CHANGED)
Identifier: 0x0 (PLAYING) |
Lucas De Marchi |
14 years ago |
1 file, +91, -4 |
| a5924f66 |
avrcp: handle GetElementAttributes pdu
Example responses for PTS test TC_TG_MDI_BV_04_C:
> ACL data: handle 11 flags 0x02 dlen 26
L2CAP(d): cid 0x0042 len 22 [psm 23]
AVCTP: Command : pt 0x00 transaction 2 pid 0x110e
AV/C: Status: address 0x48 opcode 0x00
Subunit: Panel
Opcode: Vendor Dependent
Company ID: 0x001958
AVRCP: GetElementAttributes: pt 0x00 len 0x0009
Identifier: 0x0 (PLAYING)
AttributeCount: 0x00
< ACL data: handle 11 flags 0x02 dlen 70
L2CAP(d): cid 0x0042 len 66 [psm 23]
AVCTP: Response : pt 0x00 transaction 2 pid 0x110e
AV/C: Stable: address 0x48 opcode 0x00
Subunit: Panel
Opcode: Vendor Dependent
Company ID: 0x001958
AVRCP: GetElementAttributes: pt 0x00 len 0x0035
AttributeCount: 0x03
Attribute: 0x00000001 (Title)
CharsetID: 0x006a (UTF-8)
AttributeValueLength: 0x0012
AttributeValue: Walking on the Sun
Attribute: 0x00000002 (Artist)
CharsetID: 0x006a (UTF-8)
AttributeValueLength: 0x0005
AttributeValue: Lucas
Attribute: 0x00000007 (Progress)
CharsetID: 0x006a (UTF-8)
AttributeValueLength: 0x0005
AttributeValue: 32029
And TC_TG_MDI_BV_05_C:
> ACL data: handle 11 flags 0x02 dlen 30
L2CAP(d): cid 0x0043 len 26 [psm 23]
AVCTP: Command : pt 0x00 transaction 2 pid 0x110e
AV/C: Status: address 0x48 opcode 0x00
Subunit: Panel
Opcode: Vendor Dependent
Company ID: 0x001958
AVRCP: GetElementAttributes: pt 0x00 len 0x000d
Identifier: 0x0 (PLAYING)
AttributeCount: 0x01
Attribute: 0x00000001 (Title)
< ACL data: handle 11 flags 0x02 dlen 44
L2CAP(d): cid 0x0043 len 40 [psm 23]
AVCTP: Response : pt 0x00 transaction 2 pid 0x110e
AV/C: Stable: address 0x48 opcode 0x00
Subunit: Panel
Opcode: Vendor Dependent
Company ID: 0x001958
AVRCP: GetElementAttributes: pt 0x00 len 0x001b
AttributeCount: 0x01
Attribute: 0x00000001 (Title)
CharsetID: 0x006a (UTF-8)
AttributeValueLength: 0x0012
AttributeValue: Walking on the Sun |
Lucas De Marchi |
14 years ago |
1 file, +189, -0 |
| e468f8f1 |
avrcp: handle query for supported events |
Lucas De Marchi |
14 years ago |
1 file, +8, -0 |
| 6ae019ed |
avrcp: handle RegisterNotification pdu
Handle mandatory events according to AVRCP 1.3 spec. |
Lucas De Marchi |
14 years ago |
1 file, +74, -0 |
| 177d7aea |
avrcp: handle GetPlayStatus pdu
Example response for PTS test TC_TG_MDI_BV_02_C:
> ACL data: handle 11 flags 0x02 dlen 17
L2CAP(d): cid 0x0043 len 13 [psm 23]
AVCTP: Command : pt 0x00 transaction 2 pid 0x110e
AV/C: Status: address 0x48 opcode 0x00
Subunit: Panel
Opcode: Vendor Dependent
Company ID: 0x001958
AVRCP: GetPlayStatus: pt 0x00 len 0x0000
< ACL data: handle 11 flags 0x02 dlen 26
L2CAP(d): cid 0x0043 len 22 [psm 23]
AVCTP: Response : pt 0x00 transaction 2 pid 0x110e
AV/C: Stable: address 0x48 opcode 0x00
Subunit: Panel
Opcode: Vendor Dependent
Company ID: 0x001958
AVRCP: GetPlayStatus: pt 0x00 len 0x0009
SongLength: 0x0000a7f8 (43000 miliseconds)
SongPosition: 0x00012fad (77741 miliconds)
PlayStatus: 0x01 (PLAYING) |
Lucas De Marchi |
14 years ago |
1 file, +71, -0 |
| ea42bc73 |
avrcp: handle InformBatteryStatusOfCT pdu |
Lucas De Marchi |
14 years ago |
1 file, +65, -0 |
| bb8e4d6a |
avrcp: handle InformDisplayableCharacterSet pdu |
Lucas De Marchi |
14 years ago |
1 file, +21, -0 |
| 3e5bde22 |
avrcp: handle commands for future extension
AVRCP_GET_PLAYER_ATTRIBUTE_TEXT and AVRCP_GET_PLAYER_VALUE_TEXT shall
only be used if TG has extended attributes.
For the ones defined in AVRCP spec these commands should not be called.
Since we do not have extended attributes yet we can ignore those
commands. |
Lucas De Marchi |
14 years ago |
1 file, +18, -0 |
| 81b99b59 |
avrcp: handle SetPlayerApplicationSettingValue pdu |
Lucas De Marchi |
14 years ago |
1 file, +125, -0 |
| 908d9186 |
avrcp: handle GetCurrentPlayerAplicationSettingValue pdu
Example response for PTS test TC_TG_PAS_BV_10_C:
> ACL data: handle 11 flags 0x02 dlen 19
L2CAP(d): cid 0x0043 len 15 [psm 23]
AVCTP: Command : pt 0x00 transaction 3 pid 0x110e
AV/C: Status: address 0x48 opcode 0x00
Subunit: Panel
Opcode: Vendor Dependent
Company ID: 0x001958
AVRCP: GetCurrentPlayerApplicationSettingValue: pt 0x00 len 0x0002
AttributeCount: 0x01
AttributeID: 0x01 (Equalizer ON/OFF Status)
< ACL data: handle 11 flags 0x02 dlen 20
L2CAP(d): cid 0x0043 len 16 [psm 23]
AVCTP: Response : pt 0x00 transaction 3 pid 0x110e
AV/C: Stable: address 0x48 opcode 0x00
Subunit: Panel
Opcode: Vendor Dependent
Company ID: 0x001958
AVRCP: GetCurrentPlayerApplicationSettingValue: pt 0x00 len 0x0003
ValueCount: 0x01
AttributeID: 0x01 (Equalizer ON/OFF Status)
ValueID: 0x02 (ON) |
Lucas De Marchi |
14 years ago |
1 file, +76, -0 |
| 0834a161 |
avrcp: handle ListPlayerApplicationSettingValues pdu
Example of response obtained with PTS test TC_TG_PAS_BV_06_C:
> ACL data: handle 11 flags 0x02 dlen 18
L2CAP(d): cid 0x0043 len 14 [psm 23]
AVCTP: Command : pt 0x00 transaction 3 pid 0x110e
AV/C: Status: address 0x48 opcode 0x00
Subunit: Panel
Opcode: Vendor Dependent
Company ID: 0x001958
AVRCP: ListPlayerApplicationSettingValues: pt 0x00 len 0x0001
AttributeID: 0x01 (Equalizer ON/OFF Status)
< ACL data: handle 11 flags 0x02 dlen 20
L2CAP(d): cid 0x0043 len 16 [psm 23]
AVCTP: Response : pt 0x00 transaction 3 pid 0x110e
AV/C: Stable: address 0x48 opcode 0x00
Subunit: Panel
Opcode: Vendor Dependent
Company ID: 0x001958
AVRCP: ListPlayerApplicationSettingValues: pt 0x00 len 0x0003
ValueCount: 0x02
ValueID: 0x01 (OFF)
ValueID: 0x02 (ON) |
Lucas De Marchi |
14 years ago |
1 file, +59, -0 |
| 0c6cadf9 |
avrcp: handle ListPlayerApplicationSettingAttributes pdu
Example of response obtained with PTS test TC_TG_PAS_BV_06_C:
> ACL data: handle 11 flags 0x02 dlen 17
L2CAP(d): cid 0x0043 len 13 [psm 23]
AVCTP: Command : pt 0x00 transaction 2 pid 0x110e
AV/C: Status: address 0x48 opcode 0x00
Subunit: Panel
Opcode: Vendor Dependent
Company ID: 0x001958
AVRCP: ListPlayerApplicationSettingAttributes: pt 0x00 len 0x0000
< ACL data: handle 11 flags 0x02 dlen 20
L2CAP(d): cid 0x0043 len 16 [psm 23]
AVCTP: Response : pt 0x00 transaction 2 pid 0x110e
AV/C: Stable: address 0x48 opcode 0x00
Subunit: Panel
Opcode: Vendor Dependent
Company ID: 0x001958
AVRCP: ListPlayerApplicationSettingAttributes: pt 0x00 len 0x0003
AttributeCount: 0x02
AttributeID: 0x01 (Equalizer ON/OFF Status)
AttributeID: 0x04 (Scan ON/OFF Status) |
Lucas De Marchi |
14 years ago |
1 file, +53, -0 |
| f25568f3 |
avrcp: handle query for company ids
Example of response for PTS test TC_TG_CFG_BV_02_C:
> ACL data: handle 11 flags 0x02 dlen 18
L2CAP(d): cid 0x0043 len 14 [psm 23]
AVCTP: Command : pt 0x00 transaction 2 pid 0x110e
AV/C: Status: address 0x48 opcode 0x00
Subunit: Panel
Opcode: Vendor Dependent
Company ID: 0x001958
AVRCP: GetCapabilities: pt 0x00 len 0x0001
CapabilityID: 0x02 (CompanyID)
< ACL data: handle 11 flags 0x02 dlen 22
L2CAP(d): cid 0x0043 len 18 [psm 23]
AVCTP: Response : pt 0x00 transaction 2 pid 0x110e
AV/C: Stable: address 0x48 opcode 0x00
Subunit: Panel
Opcode: Vendor Dependent
Company ID: 0x001958
AVRCP: GetCapabilities: pt 0x00 len 0x0005
CapabilityID: 0x02 (CompanyID)
CapabilityCount: 0x01
CompanyID: 0x001958 |
Lucas De Marchi |
14 years ago |
1 file, +97, -2 |
| 65e27905 |
avrcp: implement ChangeTrack() method
ChangeTrack() is used by applications to inform bluetoothd that current
track changed, passing also the metadata. |
Lucas De Marchi |
14 years ago |
1 file, +163, -0 |
| 85206cbb |
avrcp: implement ChangePlayback() method
ChangePlayback() is used by applications to inform bluetoothd of the
current status of playback. |
Lucas De Marchi |
14 years ago |
1 file, +77, -0 |
| b7dd3c8a |
avrcp: implement SetProperty() method of MediaPlayer
SetProperty() is used by an application to set player specific
settings. |
Lucas De Marchi |
14 years ago |
1 file, +153, -0 |
| 8c8eaec4 |
avrcp: add skeleton of MediaPlayer interface |
Lucas De Marchi |
14 years ago |
4 files, +85, -11 |
| be70215d |
audio: move interface declarations to their headers |
Lucas De Marchi |
14 years ago |
2 files, +1, -4 |