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