3e8a242fcbeebea2857fa964ca48624d8433333e |
|
23-May-2014 |
Mike Lockwood <lockwood@google.com> |
More work on A2DP Sink: Output audio data through A2DP audio HAL rather than playing directly to native AudioTrack API. Add separate HAL interface for A2DP sink Change-Id: I6c6cb6088c350e104b4a7354f328b29c7178e295
/external/bluetooth/bluedroid/btif/include/btif_media.h
|
f7dd9f5779680da37dc89e5df2b26d436487818c |
|
24-Oct-2013 |
Hemant Gupta <hemantg@codeaurora.org> |
Add A2DP Sink Support Change-Id: I9affefdd2d00597545e49c593ef3bddb110d4c9c
/external/bluetooth/bluedroid/btif/include/btif_media.h
|
54db2c249efa91082c5a167a924a527ec73ff38d |
|
13-Apr-2014 |
Sharvil Nanavati <sharvil@google.com> |
Remove executable bit on source files. Change-Id: Id456478aea626f57fed3479346e8fb4dbd0fafa6
/external/bluetooth/bluedroid/btif/include/btif_media.h
|
379743beded881127703334e1dda2cd327ec651d |
|
29-Sep-2013 |
Zhihai Xu <zhihaixu@google.com> |
Failure to start playback on A2DP sink after connection This is what happen: after Headset is connected, we call start_audio_datapath which will send AVDTP_Start command to Headset, Headset reject it with bad state. Bluedroid stack will ack failure to start_audio_datapath. The next time we write audio data to bluetooth, we will call start_audio_datapath again to send AVDTP_Start command to Headset Headset reject it with bad state again. Bluedroid stack will ack failure to start_audio_datapath. When the third time we call start_audio_datapath, right at that time we receive AVDTP_Start command from Headset. Handle AVDTP_Start command and Handle start_audio_datapath are in two different threads. Handle AVDTP_Start command is in btu_task thread. Handle start_audio_datapath() is in btif_task thread. We have race condition in this case Because when btif_task processed BTIF_AV_START_STREAM_REQ_EVT(triggered by start_audio_datapath), it don't know we receive AVDTP_Start command which is processed in btu_task. btif_task will send a message BTA_AV_API_START_EVT to btu_task, which will be handled by bta_av_do_start. AVDTP_start command from headset is handled by bta_av_start_ok. bta_av_start_ok will send BTA_AV_START_EVT with suspending true to btif_task and send AVDTP_Suspend command to headset to suspend the AVDTP for reconfiguration purpose. in bta_av_do_start, we will check whether the AVDTP is already started, we will know the AVDTP is already start at this time because bta_av_do_start is also running in btu_task. We will send BTA_AV_START_EVT with success to btif_task. In the btif_task, BTA_AV_START_EVT will be processed by btif_av_state_opened_handler: For the first BTA_AV_START_EVT with suspending true sent by bta_av_start_ok, it will ignore it: if ((p_av->start.status == BTA_SUCCESS) && (p_av->start.suspending == TRUE)) return TRUE; For the second BTA_AV_START_EVT with success sent by bta_av_do_start , it will ack success to start_audio_datapath, and change to BTIF_AV_STATE_STARTED/BTAV_AUDIO_STATE_STARTED, after receive success ack from bluedroid stack, we will start send Audio data to bluetooth. At last we received AVDTP_Suspend response accept from Headset, we will send BTA_AV_SUSPEND_EVT to btif_task, which will be handled by btif_av_state_started_handler. It will call btif_a2dp_on_suspended and call audio_state_cb with new audio state BTAV_AUDIO_STATE_STOPPED. so The state between bluedroid stack and audio data path is out of sync. The fix is to send failure message if we know we suspend AVDTP in bta_av_do_start, also make sure we won't miss acknowledgement for pending start if we exit opened state, to avoid audio data path dead lock. bug:10953908 Change-Id: I1704839977324b7c4e234eb843cddf3719e10d2c
/external/bluetooth/bluedroid/btif/include/btif_media.h
|
b8ceaa484a09be14263d5f10d022a272f9602378 |
|
05-Apr-2013 |
Mattias Agren <magren@broadcom.com> |
Set default a2dp sbc encoding quality to high * Increased bitpool to high quality setting (53). * Added rate quality reduction to medium quality for basic rate connections * Enhanced a2dp frame calculation ratio to smooth out frame distrubution * Removed iop scaling patch. Bug 8252054 Change-Id: I20725d0decfe5f820e1c03407889b6272e830aca
/external/bluetooth/bluedroid/btif/include/btif_media.h
|
5fd74f06caab4324d0ba69df86ad5170c072ec64 |
|
05-Apr-2013 |
Mattias Agren <magren@broadcom.com> |
Stability fixes for a2dp hal control path Ensure av statemachine is preventing a2dp hal to restart the stream when not ready. This prevents ending up in a scenario where a2dp hal locks up. Code cleanup. bug 7002859 Change-Id: I3f3eeaab4ca185733b8b0042ed2cfa701f76a203
/external/bluetooth/bluedroid/btif/include/btif_media.h
|
5738f83aeb59361a0a2eda2460113f6dc9194271 |
|
13-Dec-2012 |
The Android Open Source Project <initial-contribution@android.com> |
Snapshot cdeccf6fdd8c2d494ea2867cb37a025bf8879baf Change-Id: Ia2de32ccb97a9641462c72363b0a8c4288f4f36d
/external/bluetooth/bluedroid/btif/include/btif_media.h
|