bta_av_api.h revision ead3cde4bac0c3e32cd31f149093f004eef8ceeb
15738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/****************************************************************************** 25738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 35738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * Copyright (C) 2004-2012 Broadcom Corporation 45738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 55738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 65738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * you may not use this file except in compliance with the License. 75738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * You may obtain a copy of the License at: 85738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 95738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * See the License for the specific language governing permissions and 155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * limitations under the License. 165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project ******************************************************************************/ 185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/****************************************************************************** 205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * This is the public interface file for the advanced audio/video streaming 225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * (AV) subsystem of BTA, Broadcom's Bluetooth application layer for mobile 235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * phones. 245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project ******************************************************************************/ 265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_AV_API_H 275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_API_H 285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "avrc_api.h" 305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "avdt_api.h" 315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "a2d_api.h" 325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "bta_api.h" 335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/***************************************************************************** 355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Constants and data types 365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*****************************************************************************/ 375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Set to TRUE if seperate authorization prompt desired for AVCTP besides A2DP authorization */ 385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Typically FALSE when AVRCP is used in conjunction with A2DP */ 395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_AV_WITH_AVCTP_AUTHORIZATION 405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_WITH_AVCTP_AUTHORIZATION FALSE 415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* AV status values */ 445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_SUCCESS 0 /* successful operation */ 455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_FAIL 1 /* generic failure */ 465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_FAIL_SDP 2 /* service not found */ 475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_FAIL_STREAM 3 /* stream connection failed */ 485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_FAIL_RESOURCES 4 /* no resources */ 495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_FAIL_ROLE 5 /* failed due to role management related issues */ 50ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTA_AV_FAIL_GET_CAP 6 /* get capability failed due to no SEP availale on the peer */ 515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_AV_STATUS; 535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* AV features masks */ 555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_FEAT_RCTG 0x0001 /* remote control target */ 565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_FEAT_RCCT 0x0002 /* remote control controller */ 575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_FEAT_PROTECT 0x0004 /* streaming media contect protection */ 585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_FEAT_VENDOR 0x0008 /* remote control vendor dependent commands */ 595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_FEAT_REPORT 0x0020 /* use reporting service for VDP */ 605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_FEAT_METADATA 0x0040 /* remote control Metadata Transfer command/response */ 615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_FEAT_MULTI_AV 0x0080 /* use multi-av, if controller supports it */ 625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_FEAT_BROWSE 0x0010 /* use browsing channel */ 635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_FEAT_MASTER 0x0100 /* stream only as master role */ 645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_FEAT_ADV_CTRL 0x0200 /* remote control Advanced Control command/response */ 655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_FEAT_DELAY_RPT 0x0400 /* allow delay reporting */ 665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_FEAT_ACP_START 0x0800 /* start stream when 2nd SNK was accepted */ 675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Internal features */ 695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_FEAT_NO_SCO_SSPD 0x8000 /* Do not suspend av streaming as to AG events(SCO or Call) */ 705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT16 tBTA_AV_FEAT; 725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* AV channel values */ 745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_CHNL_MSK 0xC0 755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_CHNL_AUDIO 0x40 /* audio channel */ 765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_CHNL_VIDEO 0x80 /* video channel */ 775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_AV_CHNL; 785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_HNDL_MSK 0x3F 815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_AV_HNDL; 825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* handle index to mask */ 835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_HNDL_TO_MSK(h) ((UINT8)(1 << (h))) 845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* tBTA_AV_HNDL to mask */ 865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_HNDL_TYPE_TO_MSK(h) ((UINT8)(1 << (h&BTA_AV_HNDL_MSK))) 875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* offset of codec type in codec info byte array */ 895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_CODEC_TYPE_IDX AVDT_CODEC_TYPE_INDEX /* 2 */ 905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* maximum number of streams created: 1 for audio, 1 for video */ 945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_AV_NUM_STRS 955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_NUM_STRS 2 965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_AV_MAX_SEPS 995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_MAX_SEPS 2 1005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 1015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_AV_MAX_A2DP_MTU 1035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project /*#define BTA_AV_MAX_A2DP_MTU 668 //224 (DM5) * 3 - 4(L2CAP header) */ 1045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_MAX_A2DP_MTU 1008 1055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 1065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_AV_MAX_VDP_MTU 1085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_MAX_VDP_MTU 1008 1095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 1105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* codec type */ 1135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_CODEC_SBC A2D_MEDIA_CT_SBC /* SBC media codec type */ 1145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_CODEC_M12 A2D_MEDIA_CT_M12 /* MPEG-1, 2 Audio media codec type */ 1155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_CODEC_M24 A2D_MEDIA_CT_M24 /* MPEG-2, 4 AAC media codec type */ 1165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_CODEC_ATRAC A2D_MEDIA_CT_ATRAC /* ATRAC family media codec type */ 1175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_CODEC_H263_P0 VDP_MEDIA_CT_H263_P0 /* H.263 baseline (profile 0) */ 1185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_CODEC_MPEG4 VDP_MEDIA_CT_MPEG4 /* MPEG-4 Visual Simple Profile */ 1195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_CODEC_H263_P3 VDP_MEDIA_CT_H263_P3 /* H.263 profile 3 */ 1205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_CODEC_H263_P8 VDP_MEDIA_CT_H263_P8 /* H.263 profile 8 */ 1215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_CODEC_VEND VDP_MEDIA_CT_VEND /* Non-VDP */ 1225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_AV_CODEC; 1245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Company ID in BT assigned numbers */ 1265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_BT_VENDOR_ID VDP_BT_VENDOR_ID /* Broadcom Corporation */ 1275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* vendor specific codec ID */ 1295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_CODEC_ID_H264 VDP_CODEC_ID_H264 /* Non-VDP codec ID - H.264 */ 1305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_CODEC_ID_IMG VDP_CODEC_ID_IMG /* Non-VDP codec ID - images/slideshow */ 1315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* operation id list for BTA_AvRemoteCmd */ 1335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_SELECT AVRC_ID_SELECT /* select */ 1345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_UP AVRC_ID_UP /* up */ 1355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_DOWN AVRC_ID_DOWN /* down */ 1365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_LEFT AVRC_ID_LEFT /* left */ 1375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_RIGHT AVRC_ID_RIGHT /* right */ 1385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_RIGHT_UP AVRC_ID_RIGHT_UP /* right-up */ 1395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_RIGHT_DOWN AVRC_ID_RIGHT_DOWN /* right-down */ 1405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_LEFT_UP AVRC_ID_LEFT_UP /* left-up */ 1415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_LEFT_DOWN AVRC_ID_LEFT_DOWN /* left-down */ 1425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_ROOT_MENU AVRC_ID_ROOT_MENU /* root menu */ 1435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_SETUP_MENU AVRC_ID_SETUP_MENU /* setup menu */ 1445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_CONT_MENU AVRC_ID_CONT_MENU /* contents menu */ 1455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_FAV_MENU AVRC_ID_FAV_MENU /* favorite menu */ 1465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_EXIT AVRC_ID_EXIT /* exit */ 1475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_0 AVRC_ID_0 /* 0 */ 1485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_1 AVRC_ID_1 /* 1 */ 1495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_2 AVRC_ID_2 /* 2 */ 1505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_3 AVRC_ID_3 /* 3 */ 1515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_4 AVRC_ID_4 /* 4 */ 1525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_5 AVRC_ID_5 /* 5 */ 1535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_6 AVRC_ID_6 /* 6 */ 1545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_7 AVRC_ID_7 /* 7 */ 1555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_8 AVRC_ID_8 /* 8 */ 1565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_9 AVRC_ID_9 /* 9 */ 1575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_DOT AVRC_ID_DOT /* dot */ 1585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_ENTER AVRC_ID_ENTER /* enter */ 1595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_CLEAR AVRC_ID_CLEAR /* clear */ 1605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_CHAN_UP AVRC_ID_CHAN_UP /* channel up */ 1615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_CHAN_DOWN AVRC_ID_CHAN_DOWN /* channel down */ 1625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_PREV_CHAN AVRC_ID_PREV_CHAN /* previous channel */ 1635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_SOUND_SEL AVRC_ID_SOUND_SEL /* sound select */ 1645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_INPUT_SEL AVRC_ID_INPUT_SEL /* input select */ 1655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_DISP_INFO AVRC_ID_DISP_INFO /* display information */ 1665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_HELP AVRC_ID_HELP /* help */ 1675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_PAGE_UP AVRC_ID_PAGE_UP /* page up */ 1685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_PAGE_DOWN AVRC_ID_PAGE_DOWN /* page down */ 1695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_POWER AVRC_ID_POWER /* power */ 1705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_VOL_UP AVRC_ID_VOL_UP /* volume up */ 1715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_VOL_DOWN AVRC_ID_VOL_DOWN /* volume down */ 1725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_MUTE AVRC_ID_MUTE /* mute */ 1735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_PLAY AVRC_ID_PLAY /* play */ 1745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_STOP AVRC_ID_STOP /* stop */ 1755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_PAUSE AVRC_ID_PAUSE /* pause */ 1765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_RECORD AVRC_ID_RECORD /* record */ 1775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_REWIND AVRC_ID_REWIND /* rewind */ 1785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_FAST_FOR AVRC_ID_FAST_FOR /* fast forward */ 1795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_EJECT AVRC_ID_EJECT /* eject */ 1805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_FORWARD AVRC_ID_FORWARD /* forward */ 1815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_BACKWARD AVRC_ID_BACKWARD /* backward */ 1825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_ANGLE AVRC_ID_ANGLE /* angle */ 1835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_SUBPICT AVRC_ID_SUBPICT /* subpicture */ 1845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_F1 AVRC_ID_F1 /* F1 */ 1855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_F2 AVRC_ID_F2 /* F2 */ 1865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_F3 AVRC_ID_F3 /* F3 */ 1875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_F4 AVRC_ID_F4 /* F4 */ 1885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_F5 AVRC_ID_F5 /* F5 */ 1895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_VENDOR AVRC_ID_VENDOR /* vendor unique */ 1905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_AV_RC; 1925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* state flag for pass through command */ 1945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_STATE_PRESS AVRC_STATE_PRESS /* key pressed */ 1955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_STATE_RELEASE AVRC_STATE_RELEASE /* key released */ 1965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_AV_STATE; 1985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* command codes for BTA_AvVendorCmd */ 2005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_CMD_CTRL AVRC_CMD_CTRL 2015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_CMD_STATUS AVRC_CMD_STATUS 2025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_CMD_SPEC_INQ AVRC_CMD_SPEC_INQ 2035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_CMD_NOTIF AVRC_CMD_NOTIF 2045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_CMD_GEN_INQ AVRC_CMD_GEN_INQ 2055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_AV_CMD; 2075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* response codes for BTA_AvVendorRsp */ 2095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RSP_NOT_IMPL AVRC_RSP_NOT_IMPL 2105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RSP_ACCEPT AVRC_RSP_ACCEPT 2115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RSP_REJ AVRC_RSP_REJ 2125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RSP_IN_TRANS AVRC_RSP_IN_TRANS 2135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RSP_IMPL_STBL AVRC_RSP_IMPL_STBL 2145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RSP_CHANGED AVRC_RSP_CHANGED 2155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RSP_INTERIM AVRC_RSP_INTERIM 2165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_AV_CODE; 2185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* error codes for BTA_AvProtectRsp */ 2205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_ERR_NONE A2D_SUCCESS /* Success, no error */ 2215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_ERR_BAD_STATE AVDT_ERR_BAD_STATE /* Message cannot be processed in this state */ 2225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_ERR_RESOURCE AVDT_ERR_RESOURCE /* Insufficient resources */ 2235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_ERR_BAD_CP_TYPE A2D_BAD_CP_TYPE /* The requested Content Protection Type is not supported */ 2245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_ERR_BAD_CP_FORMAT A2D_BAD_CP_FORMAT /* The format of Content Protection Data is not correct */ 2255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_AV_ERR; 2275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* AV callback events */ 2305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_ENABLE_EVT 0 /* AV enabled */ 2315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_REGISTER_EVT 1 /* registered to AVDT */ 2325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_OPEN_EVT 2 /* connection opened */ 2335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_CLOSE_EVT 3 /* connection closed */ 2345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_START_EVT 4 /* stream data transfer started */ 2355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_STOP_EVT 5 /* stream data transfer stopped */ 2365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_PROTECT_REQ_EVT 6 /* content protection request */ 2375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_PROTECT_RSP_EVT 7 /* content protection response */ 2385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_OPEN_EVT 8 /* remote control channel open */ 2395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_CLOSE_EVT 9 /* remote control channel closed */ 2405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_REMOTE_CMD_EVT 10 /* remote control command */ 2415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_REMOTE_RSP_EVT 11 /* remote control response */ 2425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_VENDOR_CMD_EVT 12 /* vendor dependent remote control command */ 2435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_VENDOR_RSP_EVT 13 /* vendor dependent remote control response */ 2445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RECONFIG_EVT 14 /* reconfigure response */ 2455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_SUSPEND_EVT 15 /* suspend response */ 2465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_PENDING_EVT 16 /* incoming connection pending: 2475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * signal channel is open and stream is not open 2485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * after BTA_AV_SIG_TIME_VAL ms */ 2495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_META_MSG_EVT 17 /* metadata messages */ 2505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_REJECT_EVT 18 /* incoming connection rejected */ 2515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RC_FEAT_EVT 19 /* remote control channel peer supported features update */ 2525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Max BTA event */ 2535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_MAX_EVT 20 2545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_AV_EVT; 2565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Event associated with BTA_AV_ENABLE_EVT */ 2585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_FEAT features; 2615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_AV_ENABLE; 2625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Event associated with BTA_AV_REGISTER_EVT */ 2645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_CHNL chnl; /* audio/video */ 2675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_HNDL hndl; /* Handle associated with the stream. */ 2685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 app_id; /* ID associated with call to BTA_AvRegister() */ 2695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_STATUS status; 2705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_AV_REGISTER; 2715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data associated with BTA_AV_OPEN_EVT */ 2735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_EDR_2MBPS 0x01 2745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_EDR_3MBPS 0x02 2755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_AV_EDR; 2765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_CHNL chnl; 2805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_HNDL hndl; 2815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR bd_addr; 2825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_STATUS status; 2835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN starting; 2845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_EDR edr; /* 0, if peer device does not support EDR */ 2855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_AV_OPEN; 2865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data associated with BTA_AV_CLOSE_EVT */ 2885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_CHNL chnl; 2915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_HNDL hndl; 2925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_AV_CLOSE; 2935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data associated with BTA_AV_START_EVT */ 2955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_CHNL chnl; 2985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_HNDL hndl; 2995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_STATUS status; 3005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN initiator; /* TRUE, if local device initiates the START */ 3015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN suspending; 3025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_AV_START; 3035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data associated with BTA_AV_SUSPEND_EVT */ 3055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_CHNL chnl; 3085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_HNDL hndl; 3095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN initiator; /* TRUE, if local device initiates the SUSPEND */ 3105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_STATUS status; 3115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_AV_SUSPEND; 3125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data associated with BTA_AV_RECONFIG_EVT */ 3145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_CHNL chnl; 3175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_HNDL hndl; 3185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_STATUS status; 3195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_AV_RECONFIG; 3205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data associated with BTA_AV_PROTECT_REQ_EVT */ 3225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_CHNL chnl; 3255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_HNDL hndl; 3265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_data; 3275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 len; 3285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_AV_PROTECT_REQ; 3295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data associated with BTA_AV_PROTECT_RSP_EVT */ 3315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_CHNL chnl; 3345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_HNDL hndl; 3355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_data; 3365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 len; 3375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_ERR err_code; 3385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_AV_PROTECT_RSP; 3395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data associated with BTA_AV_RC_OPEN_EVT */ 3415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 rc_handle; 3445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_FEAT peer_features; 3455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR peer_addr; 3465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_STATUS status; 3475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_AV_RC_OPEN; 3485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data associated with BTA_AV_RC_CLOSE_EVT */ 3505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 rc_handle; 3535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR peer_addr; 3545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_AV_RC_CLOSE; 3555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data associated with BTA_AV_RC_FEAT_EVT */ 3575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 rc_handle; 3605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_FEAT peer_features; 3615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_AV_RC_FEAT; 3625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data associated with BTA_AV_REMOTE_CMD_EVT */ 3645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 rc_handle; 3675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_RC rc_id; 3685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_STATE key_state; 3695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 len; 3705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_data; 3715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_HDR hdr; /* Message header. */ 3725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 label; 3735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_AV_REMOTE_CMD; 3745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data associated with BTA_AV_REMOTE_RSP_EVT */ 3765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 rc_handle; 3795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_RC rc_id; 3805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_STATE key_state; 3815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 len; 3825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_data; 3835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_CODE rsp_code; 3845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 label; 3855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_AV_REMOTE_RSP; 3865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data associated with BTA_AV_VENDOR_CMD_EVT, BTA_AV_VENDOR_RSP_EVT */ 3885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 rc_handle; 3915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 len; /* Max vendor dependent message is 512 */ 3925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 label; 3935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_CODE code; 3945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT32 company_id; 3955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_data; 3965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_AV_VENDOR; 3975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data associated with BTA_AV_META_MSG_EVT */ 3995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 4005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 4015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 rc_handle; 4025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 len; 4035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 label; 4045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_CODE code; 4055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT32 company_id; 4065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_data; 4075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_MSG *p_msg; 4085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_AV_META_MSG; 4095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data associated with BTA_AV_PENDING_EVT */ 4115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 4125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 4135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR bd_addr; 4145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_AV_PEND; 4155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data associated with BTA_AV_REJECT_EVT */ 4175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 4185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 4195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR bd_addr; 4205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_HNDL hndl; /* Handle associated with the stream that rejected the connection. */ 4215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_AV_REJECT; 4225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* union of data associated with AV callback */ 4255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef union 4265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 4275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_CHNL chnl; 4285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_ENABLE enable; 4295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_REGISTER registr; 4305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_OPEN open; 4315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_CLOSE close; 4325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_START start; 4335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_PROTECT_REQ protect_req; 4345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_PROTECT_RSP protect_rsp; 4355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_RC_OPEN rc_open; 4365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_RC_CLOSE rc_close; 4375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_REMOTE_CMD remote_cmd; 4385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_REMOTE_RSP remote_rsp; 4395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_VENDOR vendor_cmd; 4405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_VENDOR vendor_rsp; 4415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_RECONFIG reconfig; 4425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_SUSPEND suspend; 4435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_PEND pend; 4445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_META_MSG meta_msg; 4455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_REJECT reject; 4465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_RC_FEAT rc_feat; 4475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_AV; 4485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AVC_PACKET_LEN AVRC_PACKET_LEN 4515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_VENDOR_DATA_OFFSET 6 4525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_VENDOR_HEADER_LEN 4 4535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_MAX_VENDOR_DEPENDENT_DATA_LEN (BTA_AVC_PACKET_LEN-BTA_VENDOR_DATA_OFFSET-BTA_VENDOR_HEADER_LEN) 4545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GROUP_NAVI_MSG_OP_DATA_LEN 5 4555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_ERROR_INVALID_CMD AVRC_STS_BAD_CMD 4575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_ERROR_INVALID_PARAM AVRC_STS_BAD_PARAM 4585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_ERROR_BAD_CONTENTS AVRC_STS_NOT_FOUND 4595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_ERROR_INTERNAL AVRC_STS_INTERNAL_ERR 4605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_META_SINGLE_PACKET AVRC_PKT_SINGLE 4625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_CO_METADATA AVRC_CO_METADATA 4645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* AV callback */ 4665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef void (tBTA_AV_CBACK)(tBTA_AV_EVT event, tBTA_AV *p_data); 4675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* type for stream state machine action functions */ 4695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef void (*tBTA_AV_ACT)(void *p_cb, void *p_data); 4705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* type for registering VDP */ 4725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef void (tBTA_AV_REG) (tAVDT_CS *p_cs, char *p_service_name, void *p_data); 4735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* AV configuration structure */ 4755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 4765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 4775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT32 company_id; /* AVRCP Company ID */ 4785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 avrc_mtu; /* AVRCP MTU at L2CAP for control channel */ 4795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 avrc_br_mtu; /* AVRCP MTU at L2CAP for browsing channel */ 4805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 avrc_ct_cat; /* AVRCP controller categories */ 4815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 avrc_tg_cat; /* AVRCP target categories */ 4825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 sig_mtu; /* AVDTP signaling channel MTU at L2CAP */ 4835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 audio_mtu; /* AVDTP audio transport channel MTU at L2CAP */ 4845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project const UINT16 *p_audio_flush_to;/* AVDTP audio transport channel flush timeout */ 4855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 audio_mqs; /* AVDTP audio channel max data queue size */ 4865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 video_mtu; /* AVDTP video transport channel MTU at L2CAP */ 4875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 video_flush_to; /* AVDTP video transport channel flush timeout */ 4885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN avrc_group; /* TRUE, to accept AVRC 1.3 group nevigation command */ 4895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 num_co_ids; /* company id count in p_meta_co_ids */ 4905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 num_evt_ids; /* event id count in p_meta_evt_ids */ 4915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_CODE rc_pass_rsp; /* the default response code for pass through commands */ 4925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project const UINT32 *p_meta_co_ids;/* the metadata Get Capabilities response for company id */ 4935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project const UINT8 *p_meta_evt_ids;/* the the metadata Get Capabilities response for event id */ 4945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project const tBTA_AV_ACT *p_act_tbl;/* the action function table for VDP stream */ 4955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_REG *p_reg; /* action function to register VDP */ 496ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta char avrc_controller_name[BTA_SERVICE_NAME_LEN]; /* Default AVRCP controller name */ 497ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta char avrc_target_name[BTA_SERVICE_NAME_LEN]; /* Default AVRCP target name*/ 4985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_AV_CFG; 4995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifdef __cplusplus 5015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern "C" 5025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 5035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 5045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/***************************************************************************** 5065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** External Function Declarations 5075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*****************************************************************************/ 5085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 5105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_AvEnable 5125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Enable the advanced audio/video service. When the enable 5145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** operation is complete the callback function will be 5155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** called with a BTA_AV_ENABLE_EVT. This function must 5165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** be called before other function in the AV API are 5175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** called. 5185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 5205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 5225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API void BTA_AvEnable(tBTA_SEC sec_mask, tBTA_AV_FEAT features, 5235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_CBACK *p_cback); 5245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 5265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_AvDisable 5285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Disable the advanced audio/video service. 5305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 5335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 5355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API void BTA_AvDisable(void); 5365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 5385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_AvRegister 5405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Register the audio or video service to stack. When the 5425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** operation is complete the callback function will be 5435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** called with a BTA_AV_REGISTER_EVT. This function must 5445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** be called before AVDT stream is open. 5455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 5485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 5505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API void BTA_AvRegister(tBTA_AV_CHNL chnl, const char *p_service_name, 5515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 app_id); 5525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 5545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_AvDeregister 5565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Deregister the audio or video service 5585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 5605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 5625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API void BTA_AvDeregister(tBTA_AV_HNDL hndl); 5635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 5655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_AvOpen 5675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Opens an advanced audio/video connection to a peer device. 5695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** When connection is open callback function is called 5705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** with a BTA_AV_OPEN_EVT. 5715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 5735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 5755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API void BTA_AvOpen(BD_ADDR bd_addr, tBTA_AV_HNDL handle, 5765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN use_rc, tBTA_SEC sec_mask); 5775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 5795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_AvClose 5815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Close the current streams. 5835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 5855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 5875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API void BTA_AvClose(tBTA_AV_HNDL handle); 5885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 5905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_AvDisconnect 5925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Close the connection to the address. 5945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 5965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 5985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API void BTA_AvDisconnect(BD_ADDR bd_addr); 5995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 6015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_AvStart 6035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Start audio/video stream data transfer. 6055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 6075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 6095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API void BTA_AvStart(void); 6105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 6125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_AvStop 6145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Stop audio/video stream data transfer. 6165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** If suspend is TRUE, this function sends AVDT suspend signal 6175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** to the connected peer(s). 6185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 6205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 6225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API void BTA_AvStop(BOOLEAN suspend); 6235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 6255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_AvReconfig 6275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Reconfigure the audio/video stream. 6295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** If suspend is TRUE, this function tries the suspend/reconfigure 6305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** procedure first. 6315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** If suspend is FALSE or when suspend/reconfigure fails, 6325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** this function closes and re-opens the AVDT connection. 6335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 6355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 6375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API void BTA_AvReconfig(tBTA_AV_HNDL hndl, BOOLEAN suspend, UINT8 sep_info_idx, 6385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_codec_info, UINT8 num_protect, UINT8 *p_protect_info); 6395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 6415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_AvProtectReq 6435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Send a content protection request. This function can only 6455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** be used if AV is enabled with feature BTA_AV_FEAT_PROTECT. 6465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 6485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 6505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API void BTA_AvProtectReq(tBTA_AV_HNDL hndl, UINT8 *p_data, UINT16 len); 6515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 6535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_AvProtectRsp 6555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Send a content protection response. This function must 6575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** be called if a BTA_AV_PROTECT_REQ_EVT is received. 6585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** This function can only be used if AV is enabled with 6595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** feature BTA_AV_FEAT_PROTECT. 6605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 6625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 6645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API void BTA_AvProtectRsp(tBTA_AV_HNDL hndl, UINT8 error_code, UINT8 *p_data, 6655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 len); 6665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 6685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_AvRemoteCmd 6705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Send a remote control command. This function can only 6725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** be used if AV is enabled with feature BTA_AV_FEAT_RCCT. 6735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 6755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 6775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API void BTA_AvRemoteCmd(UINT8 rc_handle, UINT8 label, tBTA_AV_RC rc_id, 6785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AV_STATE key_state); 6795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 6815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_AvVendorCmd 6835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Send a vendor dependent remote control command. This 6855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** function can only be used if AV is enabled with feature 6865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** BTA_AV_FEAT_VENDOR. 6875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 6895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 6915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API void BTA_AvVendorCmd(UINT8 rc_handle, UINT8 label, tBTA_AV_CODE cmd_code, 6925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_data, UINT16 len); 6935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 6955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_AvVendorRsp 6975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Send a vendor dependent remote control response. 6995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** This function must be called if a BTA_AV_VENDOR_CMD_EVT 7005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** is received. This function can only be used if AV is 7015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** enabled with feature BTA_AV_FEAT_VENDOR. 7025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 7045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 7065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API void BTA_AvVendorRsp(UINT8 rc_handle, UINT8 label, tBTA_AV_CODE rsp_code, 7075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_data, UINT16 len, UINT32 company_id); 7085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 7115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_AvOpenRc 7135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Open an AVRCP connection toward the device with the 7155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** specified handle 7165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 7185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 7205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API void BTA_AvOpenRc(tBTA_AV_HNDL handle); 7215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 7235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_AvCloseRc 7255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Close an AVRCP connection 7275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 7295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 7315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API void BTA_AvCloseRc(UINT8 rc_handle); 7325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 7345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_AvMetaRsp 7365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Send a Metadata command/response. The message contained 7385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** in p_pkt can be composed with AVRC utility functions. 7395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** This function can only be used if AV is enabled with feature 7405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** BTA_AV_FEAT_METADATA. 7415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 7435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 7455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API void BTA_AvMetaRsp(UINT8 rc_handle, UINT8 label, tBTA_AV_CODE rsp_code, 7465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR *p_pkt); 7475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 7495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_AvMetaCmd 7515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Send a Metadata/Advanced Control command. The message contained 7535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** in p_pkt can be composed with AVRC utility functions. 7545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** This function can only be used if AV is enabled with feature 7555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** BTA_AV_FEAT_METADATA. 7565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** This message is sent only when the peer supports the TG role. 7575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*8 The only command makes sense right now is the absolute volume command. 7585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 7605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 7625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API void BTA_AvMetaCmd(UINT8 rc_handle, UINT8 label, tBTA_AV_CMD cmd_code, BT_HDR *p_pkt); 7635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifdef __cplusplus 7655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 7665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 7675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif /* BTA_AV_API_H */ 769