195fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy/******************************************************************************
295fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy *
395fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy *  Copyright (C) 2009-2012 Broadcom Corporation
495fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy *
56ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach *  Licensed under the Apache License, Version 2.0 (the "License");
66ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach *  you may not use this file except in compliance with the License.
76ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach *  You may obtain a copy of the License at:
895fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy *
96ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach *  http://www.apache.org/licenses/LICENSE-2.0
1095fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy *
116ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach *  Unless required by applicable law or agreed to in writing, software
126ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach *  distributed under the License is distributed on an "AS IS" BASIS,
136ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
146ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach *  See the License for the specific language governing permissions and
156ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach *  limitations under the License.
1695fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy *
176ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach ******************************************************************************/
18254588bfe6c3e70625b0f725b908598f30f476c8Mattias Agren
196ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach/*******************************************************************************
20254588bfe6c3e70625b0f725b908598f30f476c8Mattias Agren *
21254588bfe6c3e70625b0f725b908598f30f476c8Mattias Agren *  Filename:      btif_media.h
22254588bfe6c3e70625b0f725b908598f30f476c8Mattias Agren *
23254588bfe6c3e70625b0f725b908598f30f476c8Mattias Agren *  Description:   This is the audio module for the BTIF system.
24254588bfe6c3e70625b0f725b908598f30f476c8Mattias Agren *
256ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach *******************************************************************************/
2695fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy
2795fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy#ifndef BTIF_MEDIA_H
2895fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy#define BTIF_MEDIA_H
2995fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy
3095fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy#include "bta_api.h"
3195fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy#include "bd.h"
3295fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy#include "gki.h"
3395fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy#include "btif_av_api.h"
34254588bfe6c3e70625b0f725b908598f30f476c8Mattias Agren#include "audio_a2dp_hw.h"
35254588bfe6c3e70625b0f725b908598f30f476c8Mattias Agren
366ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach/*******************************************************************************
37254588bfe6c3e70625b0f725b908598f30f476c8Mattias Agren **  Constants
386ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach *******************************************************************************/
3995fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy
4095fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy/* Generic part */
4195fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy#define BTIF_SUCCESS                         0
4295fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy
436ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach/**
446ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach * AV (Audio Video source) Errors
4595fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy */
4695fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy#define BTIF_ERROR_SRV_AV_NOT_ENABLED        700     /* AV is not enabled */
4795fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy#define BTIF_ERROR_SRV_AV_FEEDING_NOT_SUPPORTED 701  /* Requested Feeding not supported */
4895fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy#define BTIF_ERROR_SRV_AV_BUSY               702     /* Another operation ongoing */
4995fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy#define BTIF_ERROR_SRV_AV_NOT_OPENED         703     /* No AV link opened */
5095fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy#define BTIF_ERROR_SRV_AV_NOT_STARTED        704     /* AV is not started */
5195fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy#define BTIF_ERROR_SRV_AV_CP_NOT_SUPPORTED   705     /* Content protection is not supported by all headsets */
5295fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy
536ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach/* Transcoding definition for TxTranscoding and RxTranscoding */
5495fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy#define BTIF_MEDIA_TRSCD_OFF             0
5595fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy#define BTIF_MEDIA_TRSCD_PCM_2_SBC       1  /* Tx */
5695fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy
5795fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy
586ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach/*******************************************************************************
5995fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **  Data types
606ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach *******************************************************************************/
6195fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy
6295fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamytypedef int tBTIF_STATUS;
6395fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy
6495fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy/* tBTIF_MEDIA_INIT_AUDIO msg structure */
6595fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamytypedef struct
6695fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy{
6795fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy        BT_HDR hdr;
6895fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy        UINT16 SamplingFreq; /* 16k, 32k, 44.1k or 48k*/
6995fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy        UINT8 ChannelMode; /* mono, dual, stereo or joint stereo*/
7095fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy        UINT8 NumOfSubBands; /* 4 or 8 */
7195fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy        UINT8 NumOfBlocks; /* 4, 8, 12 or 16*/
7295fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy        UINT8 AllocationMethod; /* loudness or SNR*/
7395fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy        UINT16 MtuSize; /* peer mtu size */
7495fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy} tBTIF_MEDIA_INIT_AUDIO;
7595fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy
7695fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy#if (BTA_AV_INCLUDED == TRUE)
7795fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy/* tBTIF_MEDIA_UPDATE_AUDIO msg structure */
7895fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamytypedef struct
7995fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy{
8095fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy        BT_HDR hdr;
8195fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy        UINT16 MinMtuSize; /* Minimum peer mtu size */
8295fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy        UINT8 MaxBitPool; /* Maximum peer bitpool */
8395fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy        UINT8 MinBitPool; /* Minimum peer bitpool */
8495fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy} tBTIF_MEDIA_UPDATE_AUDIO;
8595fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy
8695fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy/* tBTIF_MEDIA_INIT_AUDIO_FEEDING msg structure */
8795fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamytypedef struct
8895fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy{
8995fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy        BT_HDR hdr;
9095fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy        tBTIF_AV_FEEDING_MODE feeding_mode;
9195fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy        tBTIF_AV_MEDIA_FEEDINGS feeding;
9295fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy} tBTIF_MEDIA_INIT_AUDIO_FEEDING;
9395fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy#endif
9495fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy
9595fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy
966ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach/*******************************************************************************
976ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach **  Public functions
986ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach *******************************************************************************/
9995fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy
10095fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy/*******************************************************************************
10195fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
10295fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy ** Function         btif_av_task
10395fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
10495fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy ** Description
10595fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
10695fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy ** Returns          void
10795fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
10895fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy *******************************************************************************/
10995fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamyextern int btif_media_task(void *p);
11095fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy
11195fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy/*******************************************************************************
11295fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
11395fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy ** Function         btif_media_task_enc_init_req
11495fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
11595fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy ** Description      Request to initialize the media task encoder
11695fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
11795fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy ** Returns          TRUE is success
11895fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
11995fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy *******************************************************************************/
12095fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamyextern BOOLEAN btif_media_task_enc_init_req(tBTIF_MEDIA_INIT_AUDIO * p_msg);
12195fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy
12295fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy/*******************************************************************************
12395fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
12495fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy ** Function         btif_media_task_enc_update_req
12595fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
12695fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy ** Description      Request to update the media task encoder
12795fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
12895fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy ** Returns          TRUE is success
12995fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
13095fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy *******************************************************************************/
13195fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy#if (BTA_AV_INCLUDED == TRUE)
13295fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamyextern BOOLEAN btif_media_task_enc_update_req(tBTIF_MEDIA_UPDATE_AUDIO * p_msg);
13395fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy#endif
1346ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach
13595fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy/*******************************************************************************
13695fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
13795fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy ** Function         btif_media_task_start_aa_req
13895fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
13995fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy ** Description      Request to start audio encoding task
14095fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
14195fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy ** Returns          TRUE is success
14295fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
14395fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy *******************************************************************************/
14495fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamyextern BOOLEAN btif_media_task_start_aa_req(void);
14595fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy
14695fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy/*******************************************************************************
14795fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
14895fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy ** Function         btif_media_task_stop_aa_req
14995fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
15095fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy ** Description      Request to stop audio encoding task
15195fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
15295fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy ** Returns          TRUE is success
15395fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
15495fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy *******************************************************************************/
15595fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamyextern BOOLEAN btif_media_task_stop_aa_req(void);
15695fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy
15795fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy
15895fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy/*******************************************************************************
15995fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
16095fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy ** Function         btif_media_task_aa_tx_flush_req
16195fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
16295fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy ** Description      Request to flush audio encoding pipe
16395fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
16495fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy ** Returns          TRUE is success
16595fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
16695fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy *******************************************************************************/
16795fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamyextern BOOLEAN btif_media_task_aa_tx_flush_req(void);
16895fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy
16995fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy/*******************************************************************************
17095fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
17195fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy ** Function         btif_media_aa_readbuf
17295fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
17395fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy ** Description      Read an audio GKI buffer from the BTIF media TX queue
17495fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
17595fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy ** Returns          pointer on a GKI aa buffer ready to send
17695fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
17795fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy *******************************************************************************/
17895fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamyextern BT_HDR *btif_media_aa_readbuf(void);
17995fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy
18095fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy/*******************************************************************************
18195fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
18295fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy ** Function         btif_media_aa_writebuf
18395fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
18495fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy ** Description      Enqueue a Advance Audio media GKI buffer to be processed by btif media task.
18595fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
18695fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy ** Returns          TRUE is success
18795fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
18895fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy *******************************************************************************/
18995fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamyextern void btif_media_aa_writebuf(BT_HDR *pBuf, UINT32 timestamp, UINT16 seq_num);
19095fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy
19195fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy/*******************************************************************************
19295fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
19395fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy ** Function         btif_media_av_writebuf
19495fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
19595fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy ** Description      Enqueue a video media GKI buffer to be processed by btif media task.
19695fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
19795fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy ** Returns          TRUE is success
19895fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
19995fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy *******************************************************************************/
20095fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamyextern BOOLEAN btif_media_av_writebuf(UINT8 *p_media, UINT32 media_len,
20195fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy                                     UINT32 timestamp, UINT16 seq_num);
20295fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy
20395fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy#if (BTA_AV_INCLUDED == TRUE)
20495fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy/*******************************************************************************
20595fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
20695fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy ** Function         btif_media_task_audio_feeding_init_req
20795fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
20895fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy ** Description      Request to initialize audio feeding
20995fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
21095fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy ** Returns          TRUE is success
21195fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
21295fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy *******************************************************************************/
21395fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy
21495fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamyextern BOOLEAN btif_media_task_audio_feeding_init_req(tBTIF_MEDIA_INIT_AUDIO_FEEDING *p_msg);
21595fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy#endif
21695fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy
21795fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy/*******************************************************************************
21895fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
21995fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy ** Function         dump_codec_info
22095fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
22195fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy ** Description      Decode and display codec_info (for debug)
22295fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
22395fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy ** Returns          void
22495fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy **
22595fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy *******************************************************************************/
22695fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamyextern void dump_codec_info(unsigned char *p_codec);
22795fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy
2286ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach/**
2296ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach * Local adaptation helper functions between btif and media task
230254588bfe6c3e70625b0f725b908598f30f476c8Mattias Agren */
231254588bfe6c3e70625b0f725b908598f30f476c8Mattias Agren
232254588bfe6c3e70625b0f725b908598f30f476c8Mattias Agrenint btif_a2dp_start_media_task(void);
233254588bfe6c3e70625b0f725b908598f30f476c8Mattias Agrenvoid btif_a2dp_stop_media_task(void);
234254588bfe6c3e70625b0f725b908598f30f476c8Mattias Agren
235254588bfe6c3e70625b0f725b908598f30f476c8Mattias Agrenvoid btif_a2dp_on_init(void);
2362f9c0a7966a08936e8ae7a03ab8fbf1de3b22e0eMattias Agrenvoid btif_a2dp_setup_codec(void);
237254588bfe6c3e70625b0f725b908598f30f476c8Mattias Agrenvoid btif_a2dp_on_idle(void);
238254588bfe6c3e70625b0f725b908598f30f476c8Mattias Agrenvoid btif_a2dp_on_open(void);
239254588bfe6c3e70625b0f725b908598f30f476c8Mattias Agrenvoid btif_a2dp_on_started(tBTA_AV_START *p_av);
240254588bfe6c3e70625b0f725b908598f30f476c8Mattias Agrenvoid btif_a2dp_on_stop_req(void);
241254588bfe6c3e70625b0f725b908598f30f476c8Mattias Agrenvoid btif_a2dp_on_stopped(tBTA_AV_SUSPEND *p_av);
242254588bfe6c3e70625b0f725b908598f30f476c8Mattias Agrenvoid btif_a2dp_on_suspend(void);
243254588bfe6c3e70625b0f725b908598f30f476c8Mattias Agrenvoid btif_a2dp_on_suspended(tBTA_AV_SUSPEND *p_av);
244254588bfe6c3e70625b0f725b908598f30f476c8Mattias Agrenvoid btif_a2dp_set_tx_flush(BOOLEAN enable);
245254588bfe6c3e70625b0f725b908598f30f476c8Mattias Agren
24602f8bc6eeb93809da4a7dee62fd092095a11d885Matthew Xievoid btif_media_check_iop_exceptions(UINT8 *peer_bda);
247b930299a8ad32a8227b00e0d9016b62682b577f3Matthew Xie
24895fa11b3b2f19a382c7e3a744a6afb452fad86dfKausik Sinnaswamy#endif
249