/* * SPDX-FileCopyrightText: 2015-2021 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 *//* ... *//***************************************************************************** ** ** Name: btc_av_api.h ** ** Description: This is the public interface file for the advanced ** audio/video streaming (AV) subsystem of BTC. ** *****************************************************************************//* ... */#ifndef__BTC_AV_API_H__#define__BTC_AV_API_H__#include"common/bt_target.h"#include"bta/bta_av_api.h"#include"stack/a2d_api.h"#include"stack/a2d_sbc.h"#if(BTC_AV_INCLUDED==TRUE)#ifdef__cplusplusextern"C"{#endif/***************************************************************************** ** Constants and data types *****************************************************************************//* ... *//* Codec type */#defineBTC_AV_CODEC_NONE0xFF#defineBTC_AV_CODEC_SBCA2D_MEDIA_CT_SBC/* SBC media codec type */#defineBTC_AV_CODEC_PCM0x5/* Raw PCM */typedefUINT8tBTC_AV_CODEC_ID;/* AV features masks */#defineBTC_AV_FEAT_RCTGBTA_AV_FEAT_RCTG/* remote control target */#defineBTC_AV_FEAT_RCCTBTA_AV_FEAT_RCCT/* remote control controller */#defineBTC_AV_FEAT_METADATABTA_AV_FEAT_METADATA/* remote control Metadata Transfer command/response */typedefUINT16tBTC_AV_FEAT;/* AV channel values */#defineBTC_AV_CHNL_MSKBTA_AV_CHNL_MSK#defineBTC_AV_CHNL_AUDIOBTA_AV_CHNL_AUDIO/* audio channel */#defineBTC_AV_CHNL_VIDEOBTA_AV_CHNL_VIDEO/* video channel */typedefUINT8tBTC_AV_CHNL;typedefUINT8tBTC_AV_HNDL;/* Operation id list for BTC_AvRemoteCmd */#defineBTC_AV_ID_SELECT0x00/* select */#defineBTC_AV_ID_UP0x01/* up */#defineBTC_AV_ID_DOWN0x02/* down */#defineBTC_AV_ID_LEFT0x03/* left */#defineBTC_AV_ID_RIGHT0x04/* right */#defineBTC_AV_ID_RIGHT_UP0x05/* right-up */#defineBTC_AV_ID_RIGHT_DOWN0x06/* right-down */#defineBTC_AV_ID_LEFT_UP0x07/* left-up */#defineBTC_AV_ID_LEFT_DOWN0x08/* left-down */#defineBTC_AV_ID_ROOT_MENU0x09/* root menu */#defineBTC_AV_ID_SETUP_MENU0x0A/* setup menu */#defineBTC_AV_ID_CONT_MENU0x0B/* contents menu */#defineBTC_AV_ID_FAV_MENU0x0C/* favorite menu */#defineBTC_AV_ID_EXIT0x0D/* exit */#defineBTC_AV_ID_00x20/* 0 */#defineBTC_AV_ID_10x21/* 1 */#defineBTC_AV_ID_20x22/* 2 */#defineBTC_AV_ID_30x23/* 3 */#defineBTC_AV_ID_40x24/* 4 */#defineBTC_AV_ID_50x25/* 5 */#defineBTC_AV_ID_60x26/* 6 */#defineBTC_AV_ID_70x27/* 7 */#defineBTC_AV_ID_80x28/* 8 */#defineBTC_AV_ID_90x29/* 9 */#defineBTC_AV_ID_DOT0x2A/* dot */#defineBTC_AV_ID_ENTER0x2B/* enter */#defineBTC_AV_ID_CLEAR0x2C/* clear */#defineBTC_AV_ID_CHAN_UP0x30/* channel up */#defineBTC_AV_ID_CHAN_DOWN0x31/* channel down */#defineBTC_AV_ID_PREV_CHAN0x32/* previous channel */#defineBTC_AV_ID_SOUND_SEL0x33/* sound select */#defineBTC_AV_ID_INPUT_SEL0x34/* input select */#defineBTC_AV_ID_DISP_INFO0x35/* display information */#defineBTC_AV_ID_HELP0x36/* help */#defineBTC_AV_ID_PAGE_UP0x37/* page up */#defineBTC_AV_ID_PAGE_DOWN0x38/* page down */#defineBTC_AV_ID_POWER0x40/* power */#defineBTC_AV_ID_VOL_UP0x41/* volume up */#defineBTC_AV_ID_VOL_DOWN0x42/* volume down */#defineBTC_AV_ID_MUTE0x43/* mute */#defineBTC_AV_ID_PLAY0x44/* play */#defineBTC_AV_ID_STOP0x45/* stop */#defineBTC_AV_ID_PAUSE0x46/* pause */#defineBTC_AV_ID_RECORD0x47/* record */#defineBTC_AV_ID_REWIND0x48/* rewind */#defineBTC_AV_ID_FAST_FOR0x49/* fast forward */#defineBTC_AV_ID_EJECT0x4A/* eject */#defineBTC_AV_ID_FORWARD0x4B/* forward */#defineBTC_AV_ID_BACKWARD0x4C/* backward */#defineBTC_AV_ID_ANGLE0x50/* angle */#defineBTC_AV_ID_SUBPICT0x51/* subpicture */#defineBTC_AV_ID_F10x71/* F1 */#defineBTC_AV_ID_F20x72/* F2 */#defineBTC_AV_ID_F30x73/* F3 */#defineBTC_AV_ID_F40x74/* F4 */#defineBTC_AV_ID_F50x75/* F5 */#defineBTC_AV_ID_VENDOR0x7E/* vendor unique */#defineBTC_AV_KEYPRESSED_RELEASE0x8058 definestypedefUINT8tBTC_AV_RC;/* State flag for pass through command */#defineBTC_AV_STATE_PRESS0/* key pressed */#defineBTC_AV_STATE_RELEASE1/* key released */typedefUINT8tBTC_AV_STATE;typedefUINT8tBTC_AV_RC_HNDL;/* Command codes for BTC_AvVendorCmd */#defineBTC_AV_CMD_CTRL0#defineBTC_AV_CMD_STATUS1#defineBTC_AV_CMD_SPEC_INQ2#defineBTC_AV_CMD_NOTIF3#defineBTC_AV_CMD_GEN_INQ45 definestypedefUINT8tBTC_AV_CMD;/* AV callback events */#defineBTC_AV_OPEN_EVT0/* connection opened */#defineBTC_AV_CLOSE_EVT1/* connection closed */#defineBTC_AV_START_EVT2/* stream data transfer started */#defineBTC_AV_STOP_EVT3/* stream data transfer stopped */#defineBTC_AV_RC_OPEN_EVT4/* remote control channel open */#defineBTC_AV_RC_CLOSE_EVT5/* remote control channel closed */#defineBTC_AV_REMOTE_CMD_EVT6/* remote control command */#defineBTC_AV_REMOTE_RSP_EVT7/* remote control response */#defineBTC_AV_META_MSG_EVT8/* metadata messages */9 definestypedefUINT8tBTC_AV_EVT;#defineBTC_AV_FEEDING_ASYNCHRONOUS0/* asynchronous feeding, use tx av timer */#defineBTC_AV_FEEDING_SYNCHRONOUS1/* synchronous feeding, no av tx timer */#defineBTC_AV_MAX_SYNCHRONOUS_LATENCY80/* max latency in ms for BTC_AV_FEEDING_SYNCHRONOUS */#defineBTC_AV_MIN_SYNCHRONOUS_LATENCY4/* min latency in ms for BTC_AV_FEEDING_SYNCHRONOUS */typedefUINT8tBTC_AV_FEEDING_MODE;#defineBTC_AV_CHANNEL_MODE_MONOA2D_SBC_IE_CH_MD_MONO#defineBTC_AV_CHANNEL_MODE_STEREOA2D_SBC_IE_CH_MD_STEREO#defineBTC_AV_CHANNEL_MODE_JOINTA2D_SBC_IE_CH_MD_JOINT#defineBTC_AV_CHANNEL_MODE_DUALA2D_SBC_IE_CH_MD_DUALtypedefUINT8tBTC_AV_CHANNEL_MODE;/** * Structure used to configure the AV codec capabilities/config *//* ... */typedefstruct{tBTC_AV_CODEC_IDid;/* Codec ID (in terms of BTC) */UINT8info[AVDT_CODEC_SIZE];/* Codec info (can be config or capabilities) */}{...}tBTC_AV_CODEC_INFO;/** * Structure used to configure the AV media feeding *//* ... */typedefstruct{UINT16sampling_freq;/* 44100, 48000 etc */UINT16num_channel;/* 1 for mono or 2 stereo */UINT8bit_per_sample;/* Number of bits per sample (8, 16) */}{...}tBTC_AV_MEDIA_FEED_CFG_PCM;typedefunion{tBTC_AV_MEDIA_FEED_CFG_PCMpcm;/* Raw PCM feeding format */}{...}tBTC_AV_MEDIA_FEED_CFG;typedefstruct{tBTC_AV_CODEC_IDformat;/* Media codec identifier */tBTC_AV_MEDIA_FEED_CFGcfg;/* Media codec configuration */}{...}tBTC_AV_MEDIA_FEEDINGS;#ifdef__cplusplus}{...}#endif/* ... */#endif///BTC_AV_INCLUDED == TRUE/* ... */#endif/* __BTC_AV_API_H__ */
Details
Show: from
Types: Columns:
All items filtered out
All items filtered out
This file uses the notable symbols shown below. Click anywhere in the file to view more details.