mirror of
https://github.com/bluekitchen/btstack.git
synced 2025-02-22 06:41:17 +00:00
avrcp: use defines instead of enum for features
This commit is contained in:
parent
722c03bd82
commit
e2f2541787
@ -17,6 +17,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
||||
- GAP: Detect Secure Connection -> Legacy Connection Downgrade Attack by remote features and actual encryption type (BIAS)
|
||||
- GAP: Mutual authentication: request authentication after Classic connection got encrypted (BIAS)
|
||||
- Windows port for Dialog DA14585 connected via serial port
|
||||
- AVRCP: introduced AVRCP_FEATURE_MASK_* as alternative to avrcp_controller_supported_feature_t and avrcp_target_supported_feature_t enums
|
||||
|
||||
### Changed
|
||||
- CVSD PLC: treat zero frames as good and allow to mark data as bad, e.g. if reported by controller as erroneous
|
||||
|
@ -265,16 +265,16 @@ static int a2dp_and_avrcp_setup(void){
|
||||
|
||||
// setup AVRCP Controller
|
||||
memset(sdp_avrcp_controller_service_buffer, 0, sizeof(sdp_avrcp_controller_service_buffer));
|
||||
uint16_t controller_supported_features = (1 << AVRCP_CONTROLLER_SUPPORTED_FEATURE_CATEGORY_PLAYER_OR_RECORDER);
|
||||
uint16_t controller_supported_features = AVRCP_FEATURE_MASK_CATEGORY_PLAYER_OR_RECORDER;
|
||||
#ifdef AVRCP_BROWSING_ENABLED
|
||||
controller_supported_features |= (1 << AVRCP_CONTROLLER_SUPPORTED_FEATURE_BROWSING);
|
||||
controller_supported_features |= AVRCP_FEATURE_MASK_BROWSING;
|
||||
#endif
|
||||
avrcp_controller_create_sdp_record(sdp_avrcp_controller_service_buffer, 0x10002, controller_supported_features, NULL, NULL);
|
||||
sdp_register_service(sdp_avrcp_controller_service_buffer);
|
||||
|
||||
// setup AVRCP Target
|
||||
memset(sdp_avrcp_target_service_buffer, 0, sizeof(sdp_avrcp_target_service_buffer));
|
||||
uint16_t target_supported_features = (1 << AVRCP_TARGET_SUPPORTED_FEATURE_CATEGORY_MONITOR_OR_AMPLIFIER);
|
||||
uint16_t target_supported_features = AVRCP_FEATURE_MASK_CATEGORY_MONITOR_OR_AMPLIFIER;
|
||||
avrcp_target_create_sdp_record(sdp_avrcp_target_service_buffer, 0x10003, target_supported_features, NULL, NULL);
|
||||
sdp_register_service(sdp_avrcp_target_service_buffer);
|
||||
|
||||
|
@ -309,16 +309,16 @@ static int a2dp_source_and_avrcp_services_init(void){
|
||||
|
||||
// Create AVRCP target service record and register it with SDP.
|
||||
memset(sdp_avrcp_target_service_buffer, 0, sizeof(sdp_avrcp_target_service_buffer));
|
||||
uint16_t supported_features = (1 << AVRCP_TARGET_SUPPORTED_FEATURE_CATEGORY_PLAYER_OR_RECORDER);
|
||||
uint16_t supported_features = AVRCP_FEATURE_MASK_CATEGORY_PLAYER_OR_RECORDER;
|
||||
#ifdef AVRCP_BROWSING_ENABLED
|
||||
supported_features |= (1 << AVRCP_TARGET_SUPPORTED_FEATURE_BROWSING);
|
||||
supported_features |= AVRCP_FEATURE_MASK_BROWSING;
|
||||
#endif
|
||||
avrcp_target_create_sdp_record(sdp_avrcp_target_service_buffer, 0x10002, supported_features, NULL, NULL);
|
||||
sdp_register_service(sdp_avrcp_target_service_buffer);
|
||||
|
||||
// setup AVRCP Controller
|
||||
memset(sdp_avrcp_controller_service_buffer, 0, sizeof(sdp_avrcp_controller_service_buffer));
|
||||
uint16_t controller_supported_features = (1 << AVRCP_CONTROLLER_SUPPORTED_FEATURE_CATEGORY_PLAYER_OR_RECORDER);
|
||||
uint16_t controller_supported_features = AVRCP_FEATURE_MASK_CATEGORY_PLAYER_OR_RECORDER;
|
||||
avrcp_controller_create_sdp_record(sdp_avrcp_controller_service_buffer, 0x10003, controller_supported_features, NULL, NULL);
|
||||
sdp_register_service(sdp_avrcp_controller_service_buffer);
|
||||
|
||||
|
@ -206,9 +206,9 @@ int btstack_main(int argc, const char * argv[]){
|
||||
// Create AVRCP service record and register it with SDP.
|
||||
memset(sdp_avrcp_browsing_controller_service_buffer, 0, sizeof(sdp_avrcp_browsing_controller_service_buffer));
|
||||
|
||||
uint16_t supported_features = (1 << AVRCP_CONTROLLER_SUPPORTED_FEATURE_CATEGORY_PLAYER_OR_RECORDER);
|
||||
uint16_t supported_features = AVRCP_FEATURE_MASK_CATEGORY_PLAYER_OR_RECORDER;
|
||||
#ifdef AVRCP_BROWSING_ENABLED
|
||||
supported_features |= (1 << AVRCP_CONTROLLER_SUPPORTED_FEATURE_BROWSING);
|
||||
supported_features |= AVRCP_FEATURE_MASK_BROWSING;
|
||||
#endif
|
||||
avrcp_controller_create_sdp_record(sdp_avrcp_browsing_controller_service_buffer, 0x10001, supported_features, NULL, NULL);
|
||||
sdp_register_service(sdp_avrcp_browsing_controller_service_buffer);
|
||||
|
@ -63,15 +63,15 @@ extern "C" {
|
||||
#define AVDTP_MAX_CONTENT_PROTECTION_TYPE_VALUE_LEN 10
|
||||
|
||||
// Supported Features
|
||||
#define AVDTP_SOURCE_SF_PLAYER 0x0001
|
||||
#define AVDTP_SOURCE_SF_MICROPHONE 0x0002
|
||||
#define AVDTP_SOURCE_SF_TUNER 0x0004
|
||||
#define AVDTP_SOURCE_SF_MIXER 0x0008
|
||||
#define AVDTP_SOURCE_SF_PLAYER 0x0001u
|
||||
#define AVDTP_SOURCE_SF_MICROPHONE 0x0002u
|
||||
#define AVDTP_SOURCE_SF_TUNER 0x0004u
|
||||
#define AVDTP_SOURCE_SF_MIXER 0x0008u
|
||||
|
||||
#define AVDTP_SINK_SF_HEADPHONE 0x0001
|
||||
#define AVDTP_SINK_SF_SPEAKER 0x0002
|
||||
#define AVDTP_SINK_SF_RECORDER 0x0004
|
||||
#define AVDTP_SINK_SF_AMPLIFIER 0x0008
|
||||
#define AVDTP_SINK_SF_HEADPHONE 0x0001u
|
||||
#define AVDTP_SINK_SF_SPEAKER 0x0002u
|
||||
#define AVDTP_SINK_SF_RECORDER 0x0004u
|
||||
#define AVDTP_SINK_SF_AMPLIFIER 0x0008u
|
||||
|
||||
// ACP to INT, Signal Response Header Error Codes
|
||||
#define BAD_HEADER_FORMAT 0x01
|
||||
|
@ -68,6 +68,15 @@ extern "C" {
|
||||
|
||||
#define AVRCP_NO_TRACK_SELECTED_PLAYBACK_POSITION_CHANGED 0xFFFFFFFF
|
||||
|
||||
#define AVRCP_FEATURE_MASK_CATEGORY_PLAYER_OR_RECORDER 0x0001u
|
||||
#define AVRCP_FEATURE_MASK_CATEGORY_MONITOR_OR_AMPLIFIER 0x0002u
|
||||
#define AVRCP_FEATURE_MASK_CATEGORY_TUNER 0x0004u
|
||||
#define AVRCP_FEATURE_MASK_CATEGORY_MENU 0x0008u
|
||||
#define AVRCP_FEATURE_MASK_PLAYER_APPLICATION_SETTINGS 0x0010u // AVRCP_FEATURE_MASK_CATEGORY_PLAYER_OR_RECORDER must be 1 for this feature to be set
|
||||
#define AVRCP_FEATURE_MASK_GROUP_NAVIGATION 0x0020u // AVRCP_FEATURE_MASK_CATEGORY_PLAYER_OR_RECORDER must be 1 for this feature to be set
|
||||
#define AVRCP_FEATURE_MASK_BROWSING 0x0040u
|
||||
#define AVRCP_FEATURE_MASK_MULTIPLE_MEDIA_PLAYE_APPLICATIONS 0x0080u
|
||||
|
||||
typedef enum {
|
||||
AVRCP_STATUS_INVALID_COMMAND = 0, // sent if TG received a PDU that it did not understand.
|
||||
AVRCP_STATUS_INVALID_PARAMETER, // Sent if the TG received a PDU with a parameter ID that it did not understand, or, if there is only one parameter ID in the PDU.
|
||||
|
@ -49,7 +49,7 @@
|
||||
avrcp_context_t avrcp_controller_context;
|
||||
|
||||
static int avrcp_controller_supports_browsing(uint16_t controller_supported_features){
|
||||
return controller_supported_features & (1 << AVRCP_CONTROLLER_SUPPORTED_FEATURE_BROWSING);
|
||||
return controller_supported_features & AVRCP_FEATURE_MASK_BROWSING;
|
||||
}
|
||||
|
||||
void avrcp_controller_create_sdp_record(uint8_t * service, uint32_t service_record_handle, uint16_t supported_features, const char * service_name, const char * service_provider_name){
|
||||
|
@ -70,7 +70,7 @@ typedef enum {
|
||||
* @brief AVRCP Controller service record.
|
||||
* @param service
|
||||
* @param service_record_handle
|
||||
* @param supported_features 16-bit bitmap, see avrcp_controller_supported_feature_t
|
||||
* @param supported_features 16-bit bitmap, see AVRCP_FEATURE_MASK_* in avrcp.h
|
||||
* @param service_name
|
||||
* @param service_provider_name
|
||||
*/
|
||||
|
@ -52,7 +52,7 @@ static const uint8_t AVRCP_NOTIFICATION_TRACK_NOT_SELECTED[] = {0xFF,0xFF,0xFF,0
|
||||
avrcp_context_t avrcp_target_context;
|
||||
|
||||
static int avrcp_target_supports_browsing(uint16_t target_supported_features){
|
||||
return target_supported_features & (1 << AVRCP_TARGET_SUPPORTED_FEATURE_BROWSING);
|
||||
return target_supported_features & AVRCP_FEATURE_MASK_BROWSING;
|
||||
}
|
||||
|
||||
void avrcp_target_create_sdp_record(uint8_t * service, uint32_t service_record_handle, uint16_t supported_features, const char * service_name, const char * service_provider_name){
|
||||
|
@ -69,7 +69,7 @@ typedef enum {
|
||||
* @brief AVRCP Target service record.
|
||||
* @param service
|
||||
* @param service_record_handle
|
||||
* @param supported_features 16-bit bitmap, see avrcp_target_supported_feature_t
|
||||
* @param supported_features 16-bit bitmap, see AVRCP_FEATURE_MASK_* in avrcp.h
|
||||
* @param service_name
|
||||
* @param service_provider_name
|
||||
*/
|
||||
|
@ -357,9 +357,9 @@ int btstack_main(int argc, const char * argv[]){
|
||||
sdp_init();
|
||||
memset(sdp_avrcp_controller_service_buffer, 0, sizeof(sdp_avrcp_controller_service_buffer));
|
||||
|
||||
uint16_t supported_features = (1 << AVRCP_CONTROLLER_SUPPORTED_FEATURE_CATEGORY_PLAYER_OR_RECORDER);
|
||||
uint16_t supported_features = AVRCP_FEATURE_MASK_CATEGORY_PLAYER_OR_RECORDER;
|
||||
#ifdef AVRCP_BROWSING_ENABLED
|
||||
supported_features |= (1 << AVRCP_CONTROLLER_SUPPORTED_FEATURE_BROWSING);
|
||||
supported_features |= AVRCP_FEATURE_MASK_BROWSING;
|
||||
#endif
|
||||
avrcp_controller_create_sdp_record(sdp_avrcp_controller_service_buffer, 0x10001, supported_features, NULL, NULL);
|
||||
sdp_register_service(sdp_avrcp_controller_service_buffer);
|
||||
|
@ -1848,11 +1848,11 @@ int btstack_main(int argc, const char * argv[]){
|
||||
sdp_register_service(sdp_avdtp_source_service_buffer);
|
||||
|
||||
// setup AVRCP
|
||||
uint16_t avrcp_controller_supported_features = (1 << AVRCP_CONTROLLER_SUPPORTED_FEATURE_CATEGORY_PLAYER_OR_RECORDER);
|
||||
uint16_t avrcp_target_supported_features = (1 << AVRCP_TARGET_SUPPORTED_FEATURE_CATEGORY_PLAYER_OR_RECORDER);
|
||||
uint16_t avrcp_controller_supported_features = AVRCP_FEATURE_MASK_CATEGORY_PLAYER_OR_RECORDER;
|
||||
uint16_t avrcp_target_supported_features = AVRCP_FEATURE_MASK_CATEGORY_PLAYER_OR_RECORDER;
|
||||
#ifdef AVRCP_BROWSING_ENABLED
|
||||
avrcp_controller_supported_features |= (1 << AVRCP_CONTROLLER_SUPPORTED_FEATURE_BROWSING);
|
||||
avrcp_target_supported_features |= (1 << AVRCP_TARGET_SUPPORTED_FEATURE_BROWSING);
|
||||
avrcp_controller_supported_features |= AVRCP_FEATURE_MASK_BROWSING;
|
||||
avrcp_target_supported_features |= AVRCP_FEATURE_MASK_BROWSING;
|
||||
#endif
|
||||
memset(sdp_avrcp_controller_service_buffer, 0, sizeof(sdp_avrcp_controller_service_buffer));
|
||||
avrcp_controller_create_sdp_record(sdp_avrcp_controller_service_buffer, 0x10003, avrcp_controller_supported_features, NULL, NULL);
|
||||
|
@ -131,9 +131,9 @@ int btstack_main(int argc, const char * argv[]){
|
||||
a2dp_sink_create_sdp_record(a2dp_sink_service_buffer, 0x10007, 1, NULL, NULL);
|
||||
sdp_register_service(a2dp_sink_service_buffer);
|
||||
|
||||
uint16_t controller_supported_features = (1 << AVRCP_CONTROLLER_SUPPORTED_FEATURE_CATEGORY_PLAYER_OR_RECORDER);
|
||||
uint16_t controller_supported_features = AVRCP_FEATURE_MASK_CATEGORY_PLAYER_OR_RECORDER;
|
||||
#ifdef AVRCP_BROWSING_ENABLED
|
||||
controller_supported_features |= (1 << AVRCP_CONTROLLER_SUPPORTED_FEATURE_BROWSING);
|
||||
controller_supported_features |= AVRCP_FEATURE_MASK_BROWSING;
|
||||
#endif
|
||||
avrcp_controller_create_sdp_record(avrcp_controller_service_buffer, 0x10008, controller_supported_features, NULL, NULL);
|
||||
sdp_register_service(avrcp_controller_service_buffer);
|
||||
@ -141,9 +141,9 @@ int btstack_main(int argc, const char * argv[]){
|
||||
a2dp_source_create_sdp_record(a2dp_source_service_buffer, 0x10009, 1, NULL, NULL);
|
||||
sdp_register_service(a2dp_source_service_buffer);
|
||||
|
||||
uint16_t target_supported_features = (1 << AVRCP_TARGET_SUPPORTED_FEATURE_CATEGORY_PLAYER_OR_RECORDER);
|
||||
uint16_t target_supported_features = AVRCP_FEATURE_MASK_CATEGORY_PLAYER_OR_RECORDER;
|
||||
#ifdef AVRCP_BROWSING_ENABLED
|
||||
target_supported_features |= (1 << AVRCP_CONTROLLER_SUPPORTED_FEATURE_BROWSING);
|
||||
target_supported_features |= AVRCP_FEATURE_MASK_BROWSING;
|
||||
#endif
|
||||
avrcp_target_create_sdp_record(avrcp_target_service_buffer, 0x1000a, target_supported_features, NULL, NULL);
|
||||
sdp_register_service(avrcp_target_service_buffer);
|
||||
|
Loading…
x
Reference in New Issue
Block a user