Commit Graph

1750 Commits

Author SHA1 Message Date
Chan-yeol Park
8a3f778658 audio: Add missing debug message in authorization 2012-04-16 22:54:27 +03:00
Marcel Holtmann
84156dadb2 build: Remove glib-compat.h support 2012-04-16 18:23:02 +02:00
Chan-yeol Park
5c092d37f3 audio: Add SBC NULL check for GST AVDTP signaling
Due to RF condition or headset malfunctioning, gst audio plug-in could
not get SBC (mandatory codec) information.
2012-04-16 13:15:19 +03:00
Chan-yeol Park
34f2240d2d audio: Fix default disabled values in audio.conf
Disabled features in audio.conf should be the same with source code
"audio/manager.c:struct enabled_interfaces enabled".
2012-04-16 11:49:56 +03:00
Syam Sidhardhan
985966df29 audio: Fix newline before EOF 2012-04-13 12:44:42 +03:00
Syam Sidhardhan
2740c1abd0 headset: Remove header declared but not defined 2012-04-13 12:44:24 +03:00
Syam Sidhardhan
ab8a7ebc91 gateway: Fix D-Bus reply memory leak
Re-arrange the code to avoid the D-Bus memory leak. Earlier if rfcomm
is not connected, then there was a reply memory leak.
2012-04-13 12:38:16 +03:00
Syam Sidhardhan
8151afd395 gateway: Fix D-Bus memory leak in audio 2012-04-13 12:37:11 +03:00
Syam Sidhardhan
9ec213277b gstavdtpsink: Fix D-Bus memory leak in audio 2012-04-13 12:36:41 +03:00
Syam Sidhardhan
7240dc63d3 avrcp: Fix the response ctype of SetPlayerApplicationSettingValue
Request ctype of "SetPlayerApplicationSettingValue" is CONTROL,
so response should be ACCEPTED instead of STABLE.
2012-04-13 12:36:20 +03:00
Michal Labedzki
4292c980d3 AVRCP: Add missing capability for TrackReachedEnd
Add missing capability for TrackReachedEnd.
2012-04-12 14:46:39 +03:00
Anderson Lizardo
cb40056ccd audio: Fix memory leak when headset server probe() fails
If RFCOMM is disabled on the kernel, headset_server_probe() fails.
Relevant log messages:

 audio/manager.c:headset_server_probe() path /org/bluez/499/hci0
 src/adapter.c:btd_adapter_ref() 0x4bb4f78: ref=6
 audio/manager.c:audio_adapter_ref() 0x4ca3010: ref=1
 socket(STREAM, RFCOMM): Protocol not supported (93)
 audio/manager.c:audio_adapter_unref() 0x4ca3010: ref=0
 src/adapter.c:btd_adapter_unref() 0x4bb4f78: ref=5
 audio-headset: Operation not permitted (1)

The powered callback should only be registered if adapter driver probe
was successful. The callback unregister was moved to the beginning of
headset_server_remove() for consistency.

This fixes this memory leak:

==499== 8 bytes in 1 blocks are definitely lost in loss record 44 of 182
==499==    at 0x4826444: malloc (vg_replace_malloc.c:263)
==499==    by 0x4877243: g_malloc (gmem.c:132)
==499==    by 0x488D088: g_slice_alloc (gslice.c:836)
==499==    by 0x488E8A5: g_slist_append (gslist.c:230)
==499==    by 0x18AEEE: btd_adapter_register_powered_callback
(adapter.c:3416)
==499==    by 0x11AF61: headset_server_probe (manager.c:919)
==499==    by 0x18B67B: probe_driver (adapter.c:2033)
==499==    by 0x1908F5: adapter_init (adapter.c:2048)
==499==    by 0x189D20: btd_manager_register_adapter (manager.c:397)
==499==    by 0x1649AF: mgmt_cmd_complete (mgmtops.c:1075)
==499==    by 0x16665E: mgmt_event (mgmtops.c:1780)
==499==    by 0x48B2EFA: g_io_unix_dispatch (giounix.c:162)
2012-04-12 14:36:34 +03:00
Joohi Rastogi
91baac990d AVRCP: Fix response length for Subunit Info command
This affect PTS Test Case TC_TG_ICC_BV_02_I
2012-04-05 12:52:27 +03:00
Joohi Rastogi
2d392db690 AVRCP: Fix response length for Unit Info command
This affect PTS Test Case TC_TG_ICC_BV_01_I
2012-04-05 12:52:18 +03:00
Rafael Fonseca
70d7ee146b Fix spelling errors
Fix spelling errors found using the codespell tool
(https://github.com/lucasdemarchi/codespell).
2012-04-04 13:03:54 +03:00
Lucas De Marchi
3479ba9370 AVCTP: return not-implemented for unknown passthrough 2012-04-02 17:44:45 +03:00
Szymon Janc
2f6a0a6641 Fix common spelling error in code and comments
Correct spelling is "incoming" not "incomming".
2012-03-30 13:10:11 +03:00
Michael Brudevold
2755200dcc avdtp: fix audio source init check 2012-03-27 14:51:43 +03:00
Arnaud Mouiche
4fd2d5ae38 HFP gateway: fix failure on very first GSM connection
This patch fix the very first incoming connection from a GSM device
(playing the gateway role), when 'device->gateway' is NULL (when we
didn't perform a SDP browse request yet)

we add the service with 'btd_device_add_uuid(device->btd_dev,
remote_uuid)' but we provide HFP_HS_UUID as remote_uuid. Consequently,
the HFP headset service is activated instead the gateway service.
2012-03-15 08:22:10 +00:00
Mikel Astiz
817b2577f8 audio: fix io channel shutdown on error
In the unlikely case of service record allocation error, the io channel
should be properly shut down.
2012-03-13 15:53:34 +02:00
Mikel Astiz
8e6f1054e8 audio: fix missing io channel shutdown
Channel must be explicitly shut down because otherwise the reference
counter never reaches zero, due to the server installed by bt_io_listen.
2012-03-13 15:53:17 +02:00
Mikel Astiz
f732bbf978 audio: fix missing unref in case of error
audio_adapter_get() increases the reference counter of the adapter, so
it's necessary to decrement it in case of error.
2012-03-13 15:53:07 +02:00
Michal Labedzki
cff8c39fb5 avrcp: Add error code for rejected vendor command
Fix response for any vendor commands when there are no players
registered. According to the specification responses should be
REJECTED with error code.

"For error response PDU the response parameter is always the
error code independent of the response format defined for
ACCEPTED PDU response for the corresponding PDU command."
(source: section 4.7.9 of AVRCP 1.3 specification)
2012-03-13 13:50:19 +02:00
Michal Labedzki
e8e323e1fb avrcp: Fix response ctype of AbortContinuingResponse
Request ctype of "AbortContinuingResponse" is CONTROL, so response
should be ACCEPTED instead of STABLE. This affect PTS Test Case for
TP/RCR/BV-04-C.
2012-03-13 13:49:49 +02:00
Frédéric Dalleau
5e5cbd0637 media: register disconnect watch at transport add
disconnect watch is not removed when the media owner is freed if
an error occurs while resuming in acquire (id == 0).
2012-03-08 17:58:18 -06:00
Frédéric Dalleau
4afb762ce4 gateway: Fix crash if SCO connection fails
In some situations, a connect callback is created, but
this callback is not added to media_owner. Thus when the owner
is destroyed and at rfcomm disconnect, the callback is executed
with an invalid pointer.
2012-03-08 17:58:18 -06:00
Johan Hedberg
c2ecc3efc7 audio: Remove redundant state_changed() call in headset_server_probe() 2012-03-02 01:39:14 +02:00
Luiz Augusto von Dentz
1a50bbb4ea audio: Fix signature of MediaTransport.Acquire method
Acquire returns the input and output MTUs in addition to the file
descriptor, but the signature doesn't indicate that.
2012-02-17 16:42:28 +02:00
Vinicius Costa Gomes
eb7a1dc3f7 audio: Fix clang compiler warnings regarding implicit enum conversion
It was expected that source_get_state() returned a source_state_t, and
that sink_get_state() returned a sink_state_t.
2012-02-14 14:30:20 +02:00
Mikel Astiz
2e032e674e audio: do not disconnect on gateway SCO failure
Failure on BlueZ-initiated SCO requests should not drop the RFCOMM
connection to the gateway. Instead, considering the stream as suspended
should be enough.
2012-02-14 12:48:19 +02:00
Mikel Astiz
966561e04a a2dp: return NotSupported error if no server found
With both sink and sources disabled, the A2DP server is not even
registered in audio_manager_init. When trying to register the endpoint,
this should result in the same error as if the server existed but the
profile was disabled.
2012-02-14 12:47:57 +02:00
Mikel Astiz
8a8aa92e51 audio: gateway_unlock together with in_use = FALSE
Calling gateway_unlock seems safer in gateway_suspend_complete, in
combination with the update of transport->in_use. This avoids the
transitional state of having the gateway unlocked but the transport
still in use.

This approach is also more consistent with the way headset and a2dp
handle it.
2012-02-14 12:46:08 +02:00
Szymon Janc
1b44684fb0 Fix GLib assertion failure in media.c get_setting()
If get_setting is called before set_setting, mp->settings would be
NULL resulting in GLib assertion. Hashmap is now allocated in
media_player_create instead of on-demand allocation in set_setting.

external/bluetooth/bluez/audio/media.c:get_setting() Equalizer
CRITICAL **: g_hash_table_lookup: assertion `hash_table != NULL' failed
2012-02-02 15:56:42 -08:00
Luiz Augusto von Dentz
0109fa0b6f audio: Fix disabling local A2DP endpoints when UNIX socket is disabled
Local endpoints can only be used when UNIX socket API is available.
2012-01-27 12:30:04 +02:00
Vinicius Costa Gomes
4028630fb7 btio: Fix users to not expect a default security level
The users of btio should not expect that btio will set the security
level to medium if it wasn't specified. Now, all the users specfify
the security level needed.
2012-01-24 16:19:28 +02:00
Syam Sidhardhan
2539799e3c headset: Fix unknown command error response
If HF has already requested for the Extended Error result code
reporting, then send the same in certain failure cases. Earlier in this
case we were sending normal error.
2012-01-12 21:39:54 +02:00
Anderson Lizardo
d94628a136 Remove PulseAudio plugin leftover
The .c file and the configure check were not being used anywhere.
2012-01-09 14:50:27 +02:00
Radoslaw Jablonski
df62dbb69b audio: Use headset_shutdown in headset_setconf_cb
If pending connection will stay after state has been changed to
HEADSET_STATE_DISCONNECTED, then crash may happen (e.g. when hs_connect
will be called quickly again after that) To avoid that kind of problems
using headset_shutdown, which does necessary cleanup first (finalizes
pending connections) and after that changes state to
HEADSET_STATE_DISCONNECTED.
2011-12-27 12:06:15 +02:00
Johan Hedberg
b06899eace Fix device address type tracking 2011-12-23 13:00:55 +02:00
Syam Sidhardhan
440d8578a7 telephony-maemo5: Fix D-Bus reply memory leaks 2011-12-08 12:39:34 +02:00
Mikel Astiz
053a3f62f9 media: update copyright statement 2011-11-21 12:57:59 +02:00
Mikel Astiz
8403408cd2 a2dp: update copyright statement 2011-11-21 12:57:56 +02:00
Mikel Astiz
fbcaf3f77a a2dp: avoid conversion between guint and pointers
These conversions might cause a segmentation fault in 64 bit machines.
2011-11-21 12:49:06 +02:00
Mikel Astiz
bfdcd55901 media: sep registration fix 2011-11-21 12:49:03 +02:00
Mikel Astiz
ea0d9aef03 media: release transport locks on acquisition failure 2011-11-21 12:48:58 +02:00
Luiz Augusto von Dentz
6b1be64e10 audio: enable Media API by default
This replaces unix socket IPC which is considered deprecated and will
eventually be removed.
2011-11-21 11:50:16 +02:00
Anderson Lizardo
5e9048c878 AVDTP: Fix closing invalid FD on error
In gst_avdtp_sink_start(), if bt_audio_service_open() failed, there was
an attempt to close an invalid file descriptor (through
bt_audio_service_close()).
2011-11-18 13:24:22 +02:00
Anderson Lizardo
5bd311398e Fix return value check for bt_audio_service_open()
Only negative values (namely -1) are errors for this function.
2011-11-17 13:57:53 +02:00
Anderson Lizardo
5297e0c3b0 audio: Fix errno handling convention
Variables which are assigned to the errno variable (usually called
"err") should be negative, and "-err" should be used where a positive
value is needed.
2011-11-17 13:57:52 +02:00
Anderson Lizardo
13de1a7a5b audio/PCM: Fix errno handling convention
Variables which are assigned to the errno variable (usually called
"err") should be negative, and "-err" should be used where a positive
value is needed.
2011-11-17 13:57:52 +02:00
Anderson Lizardo
5c6db9e861 audio/IPC: Fix errno handling convention
Variables which are assigned to the errno variable (usually called
"err") should be negative, and "-err" should be used where a positive
value is needed.

This commit also changes places where errno can be replaced with -err
(for consistency) and one perror() usage error.
2011-11-17 13:57:52 +02:00
Anderson Lizardo
f2c10b575c AVDTP: Fix errno handling convention
Variables which are assigned to the errno variable (usually called
"err") should be negative, and "-err" should be used where a positive
value is needed.
2011-11-17 13:57:52 +02:00
Anderson Lizardo
e4e02ce657 AVCTP: Fix errno handling convention
Variables which are assigned to the errno variable (usually called
"err") should be negative, and "-err" should be used where a positive
value is needed.

This patch also fixes a bug related to not using an "err" variable to
store the errno value before calling external library code.
2011-11-17 13:57:52 +02:00
Dmitriy Paliy
a267bc2dcd Fix enable fast connectable when connection allowed 2011-11-14 14:09:00 +02:00
Lucas De Marchi
3adcd9ed77 AVRCP: implement TRACK-REACHED-END event 2011-11-04 15:38:33 +02:00
Dmitriy Paliy
35c7dd410f Fix response on AT+CHLD=0 in maemo6
Currently, +CIEV indicator after AT+CHLD=0 command for one active call,
one held call, one incoming call scenario is incorrect. callheld=2
according to HFP 1.5 spec., p.70, means 'Call on hold, no active call'.
Hence, value 2 cannot be provided in +CIEV if there is an active call.
2011-11-02 12:00:09 +02:00
Luiz Augusto von Dentz
4ed6c1c2a4 Add MediaPlayer.Release method
This is similar to MediaEndpoint.Release which is useful to notify the
player that it is no longer registered/active.
2011-10-28 15:15:48 +03:00
Dmitriy Paliy
d8e4938352 Fix incorrect use of atoi in maemo6
Use of atoi is incorrect and unsafe in maemo6 telephony and replaced
by g_ascii_digit_value.
2011-10-28 14:46:41 +03:00
Lucas De Marchi
26204a61eb Fix check for PDU size
Company ID became part of the avrcp header so its size is already
accounted in the AVRCP_HEADER_LENGTH define.
2011-10-28 14:00:42 +03:00
Luiz Augusto von Dentz
6d130cd512 Fix calling g_io_channel_shutdown twice for a gateway connection
This happens in the following circumstance:

bluetoothd[30869]: audio/manager.c:hf_io_cb() Authorization denied!

(bluetoothd:30869): GLib-WARNING **: Invalid file descriptor.

Reported by Daniel Wagner <wagi@monom.org>
2011-10-25 10:40:01 +02:00
Lucas De Marchi
557a8ae858 Unregister players' events when disconnected 2011-10-22 12:18:28 +02:00
Lucas De Marchi
fd8dda80fc Fix leak of GTimer 2011-10-22 12:18:24 +02:00
Lucas De Marchi
ce8cd61098 Add missing TRACK-REACHED-START event
When track is changed, we automatically start to play it, therefore we
need to notify CT regarding this event.
2011-10-22 12:18:18 +02:00
Frédéric Danis
4a4b56556f Fix implicit declaration of 'g_slist_free_full'
audio/avrcp.c: In function 'avrcp_unregister':
audio/avrcp.c:1253: error: implicit declaration of function 'g_slist_free_full'

thermometer/thermometer.c: In function 'destroy_char':
thermometer/thermometer.c:79: error: implicit declaration of function 'g_slist_free_full'
2011-10-18 13:23:47 +03:00
Johan Hedberg
68838679e1 Move SDP client functions from glib-helper.c to sdp-client.c 2011-10-18 11:15:23 +03:00
Johan Hedberg
9b98a6c764 Add glib-compat.h to deal with issues in old GLib versions 2011-10-18 10:57:06 +03:00
Lucas De Marchi
b3ba324261 AVRCP: Implement RequestContinuingResponse PDU 2011-10-18 10:25:50 +03:00
Lucas De Marchi
d888f54946 AVRCP: Implement AbortContinuingResponse PDU 2011-10-18 10:25:48 +03:00
Lucas De Marchi
464c36f7d8 AVRCP: respond with UINT32_MAX if duration is not available
Section 5.4.1 of AVRCP 1.3 spec says:

	If TG does not support SongLength And SongPosition on TG, then TG shall
	return 0xFFFFFFFF.

SongPosition is always available, but song length depends on user to
provied it.
2011-10-18 10:25:46 +03:00
Lucas De Marchi
2c920f6d68 AVRCP: implement TRACK-REACHED-START event 2011-10-18 10:25:43 +03:00
Lucas De Marchi
9ab125a8ec AVRCP: Use track's UID in event notification
When registering for TRACK_CHANGED event, CT expects the track's UID in
the INTERIM and CHANGED responses. According to AVRCP 1.3 spec, there
are only 2 possible values:
	1) 0: there's a track selected
	2) UINT32_MAX: there's no track selected

AVRCP 1.4 reserves the value UINT64_MAX for the second case. Since this
later value is the one used in certification process for best IOP
we return UINT64_MAX instead of the former.

This implementation allows to pass PTS test TP/NFY/BV-05-C.
2011-10-18 10:25:40 +03:00
Lucas De Marchi
239a0f68bb Make title always available in metadata 2011-10-13 16:09:52 +03:00
Lucas De Marchi
cd25bc2b76 Don't overwrite metadata when changing track
If we use the same hash table to set the new metadata, we have 2
undesired behaviors:

1) New track may contain fields from previous track if it didn't set all
the fields
2) If we fail on parsing the signal, we will still change some of the
fields
2011-10-13 16:08:29 +03:00
Dmitriy Paliy
9a4a6fad12 Fix +CLCC in maemo6 during CSD_CALL_STATUS_COMING
This fixes the same issue as in 8a6119ea1c685fc61419ee444a5967596f524c1c
but for CSD_CALL_STATUS_COMING. Call status change sequence in csd is
IDLE to COMING, COMING to PROCEEDING, and PROCEEDING to WAITING.

Returned 'state of the call' value after CSD_CALL_STATUS_COMING, as well
as after CSD_CALL_STATUS_PROCEEDING, in +CLCC shall be 5 (waiting, MT
call) instead of 4 (incoming, MT call) in maemo6 telephony driver for the
second incoming call.
2011-10-13 13:45:39 +03:00
Dmitriy Paliy
d0ed45425d Fix crash on power off in maemo6 after sending DTMF
This fixes regression introduced in
b48e610314. Crash happens when powering
off adapter after sending DTMF tone.
2011-10-13 13:33:46 +03:00
Lucas De Marchi
a2a2db8167 Refactor to share code
Refactor code when we are 'listing selected attributes' to share code
with 'listing all attributes'. This way we always keep the list of
attributes in a GList, and call player_get_media_attribute() in only one
place.
2011-10-13 13:10:45 +03:00
Lucas De Marchi
c8265ec286 AVRCP: Only return available metadata attributes
When remote side requests all available metadata (i.e. it gives number
attributes equals to 0) do not return zero-length strings for
unavailable items. The only exception is title, that must be always present.
2011-10-13 13:10:13 +03:00
Lucas De Marchi
7cddeb379d AVRCP: Check if len matches number of IDs
If number of attributes remote side provided is larger than the length
we read, we would read garbage from stack memory.
2011-10-13 13:09:25 +03:00
Lucas De Marchi
28b3057757 AVRCP: Return error for invalid metadata IDs 2011-10-13 13:08:58 +03:00
Lucas De Marchi
c684389188 Add callback to list available metadata IDs 2011-10-13 13:08:46 +03:00
Lucas De Marchi
c0cc10498d AVRCP: Do not list values for unsupported attributes 2011-10-13 13:06:39 +03:00
Lucas De Marchi
2932dbeeb3 Move debug messages to their correspondent getters 2011-10-13 13:05:54 +03:00
Dmitriy Paliy
c2a74289ef Fix call status in +CLCC for maemo6 telephony
If list current calls is requested when there is second incoming call
and csd call status is CSD_CALL_STATUS_PROCEEDING, then returned 'state
of the call' value in +CLCC is 4 (incoming, MT call), which is incorrect.
Indication than proceeds from incoming to waiting state.

This patch sets the corresponding value to 5 (waiting, MT call) in
maemo6 telephony driver for the second call.
2011-10-12 10:53:08 +03:00
Johan Hedberg
e34836262b Fix compilation error on 32-bit systems
This fixes the following compilation error with GLib on 32-bit sytems:

audio/media.c: In function 'get_setting':
audio/media.c:1109:44: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
audio/media.c: In function 'set_setting':
audio/media.c:1132:41: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
2011-10-12 00:28:51 +03:00
Luiz Augusto von Dentz
911f1b1be0 Fix crash while registering player
Crash is caused by not removed freed player from the list:

Invalid read of size 8
   at 0x13E7B5: media_adapter_find_player (media.c:861)
   by 0x13FEBC: register_player (media.c:1561)
   by 0x120DFE: process_message (object.c:224)
   by 0x4F6E9A0: ??? (in /lib64/libdbus-1.so.3.5.6)
   by 0x4F6092F: dbus_connection_dispatch (in /lib64/libdbus-1.so.3.5.6)
   by 0x11F787: message_dispatch (mainloop.c:80)
   by 0x4C762CA: ??? (in /lib64/libglib-2.0.so.0.3000.0)
   by 0x4C74ADC: g_main_context_dispatch (in /lib64/libglib-2.0.so.0.3000.0)
   by 0x4C752D7: ??? (in /lib64/libglib-2.0.so.0.3000.0)
   by 0x4C75824: g_main_loop_run (in /lib64/libglib-2.0.so.0.3000.0)
   by 0x11EE4B: main (main.c:485)
 Address 0x642ef30 is 16 bytes inside a block of size 80 free'd
   at 0x4A0662E: free (vg_replace_malloc.c:366)
   by 0x4C7B7F2: g_free (in /lib64/libglib-2.0.so.0.3000.0)
   by 0x12D292: player_destroy (avrcp.c:1099)
   by 0x120C38: service_filter (watch.c:477)
   by 0x120950: message_filter (watch.c:527)
   by 0x4F608E5: dbus_connection_dispatch (in /lib64/libdbus-1.so.3.5.6)
   by 0x11F787: message_dispatch (mainloop.c:80)
   by 0x4C762CA: ??? (in /lib64/libglib-2.0.so.0.3000.0)
   by 0x4C74ADC: g_main_context_dispatch (in /lib64/libglib-2.0.so.0.3000.0)
   by 0x4C752D7: ??? (in /lib64/libglib-2.0.so.0.3000.0)
   by 0x4C75824: g_main_loop_run (in /lib64/libglib-2.0.so.0.3000.0)
   by 0x11EE4B: main (main.c:485)
2011-10-06 18:46:54 +03:00
Luiz Augusto von Dentz
9cf1a84ef7 Fix not being able to unregister player via UnregisterPlayer 2011-10-06 18:46:49 +03:00
Lucas De Marchi
c7f32491a8 AVRCP: do not allow CT to set a property not supported
If player never set a property, it means it doesn't support it. Doesn't
allow the remote side to set it and send a REJECTED response.
2011-10-06 15:36:36 +03:00
Lucas De Marchi
b6379821a6 AVRCP: fix loop over number of application settings 2011-10-06 15:35:35 +03:00
Luiz Augusto von Dentz
14ae307458 AVRCP: move MediaPlayer to adapter object
This move the MediaPlayer registration to adapter object on Media
interface so we can track players properly.
2011-10-06 11:13:28 +03:00
Luiz Augusto von Dentz
90c9c7bb13 Fix crash when remote connects to AVRCP without having a record
Device object may exist but control wont be initialized causing the
following crash:

Invalid read of size 8
   at 0x12B510: state_changed (control.c:90)
   by 0x12BA20: avctp_set_state (avctp.c:367)
   by 0x12C0DC: avctp_confirm_cb (avctp.c:733)
   by 0x166481: server_cb (btio.c:200)
   by 0x4E75ADC: g_main_context_dispatch (in /lib64/libglib-2.0.so.0.3000.0)
   by 0x4E762D7: ??? (in /lib64/libglib-2.0.so.0.3000.0)
   by 0x4E76824: g_main_loop_run (in /lib64/libglib-2.0.so.0.3000.0)
   by 0x11ED19: main (main.c:473)
 Address 0x8 is not stack'd, malloc'd or (recently) free'd
2011-10-05 17:08:57 +03:00
Luiz Augusto von Dentz
2d4c58a760 Fix not being able to register pdu handlers
This happens when removing and adding again an adapter
2011-10-05 17:08:53 +03:00
Johan Hedberg
4cadf1d198 Fix missing initialization of A2DP error 2011-10-05 15:28:08 +03:00
Luiz Augusto von Dentz
e5753d8778 Fix regression when disconnecting AVRCP
This prevent to disconnect AVRCP when doing e.g. Audio.Disconnect
2011-10-03 18:00:20 +03:00
Lucas De Marchi
4d3bb39485 AVRCP: fix missing bytes on notification 2011-10-03 16:14:12 +03:00
Frédéric Danis
355637a057 Fix Unref message after it was sent 2011-10-02 18:53:45 +03:00
Lucas De Marchi
4364aa411d AVRCP: fix changed notification
We sure want to send notifications only when section is not NULL.
Otherwise we either crash or do not send the expected notification.
2011-10-02 18:52:05 +03:00
Lucas De Marchi
8ebb3c79e1 AVRCP: fix case when only one setting is provided
If CT tries to change an Application Setting providing only one
setting, the size of the PDU will be 3 bytes. Therefore we should check
if the PDU is shorter than or equal 3, not only shorter.
2011-10-02 18:48:06 +03:00
Lucas De Marchi
138f831787 AVRCP: return empty string instead of rejecting
If media attribute is not available for a certain media file, return an
empty string instead of rejecting the request. The spec is not so clear
if only the title should be handled as an empty string when not present,
but this is the only alternative to rejecting the request.

IOP tests showed that some CT devices don't like reject messages: they
never ask for an attribute again if they previously received a REJECTED
message for that attribute. They consider REJECTED as "TG doesn't
implement it these optional attributes" as opposed to what we had
before, "this attribute is currently not available".
2011-10-02 18:47:58 +03:00
Dmitriy Paliy
b5dae52d36 Fix remove feedback DTMF tones timer on call release
User feedback DTMF tones queue is freed and timer removed when call
is released.
2011-09-27 16:41:11 +03:00
Dmitriy Paliy
4861017b1b Fix play DTMF feeback tones only for active call
Check on active call is added for playing of DTMF feedback tones to
notify user. Network DTMF tones are handled by modem, and therefore
there is no need in special check for those.
2011-09-27 16:41:09 +03:00