//生成一个SDP RECORD, 以Attribute ID为单位! static sdp_record_t *a2dp_record(uint8_t type) {
sdp_list_t *svclass_id, *pfseq, *apseq, *root; sdp_record_t *record; record = sdp_record_alloc(); //PUBLIC_BROWSE_GROUP 1002 //AUDIO_SOURCE_SVCLASS_ID 110A //AUDIO_SINK_SVCLASS_ID 110B //ADVANCED_AUDIO_PROFILE_ID 110D //L2CAP_UUID 0100 //AVDTP_UUID 0019 sdp_uuid16_create(&root_uuid, PUBLIC_BROWSE_GROUP); root = sdp_list_append(0, &root_uuid); sdp_set_browse_groups(record, root); if (type == AVDTP_SEP_TYPE_SOURCE) sdp_uuid16_create(&a2dp_uuid, AUDIO_SOURCE_SVCLASS_ID); else sdp_uuid16_create(&a2dp_uuid, AUDIO_SINK_SVCLASS_ID); svclass_id = sdp_list_append(0, &a2dp_uuid); sdp_set_service_classes(record, svclass_id); } //添加SDP 一个 RECORD 到数据库 int adapter_service_add(struct btd_adapter *adapter, sdp_record_t *rec) /* log: 对应到a2dp_record函数添加的UUID src/adapter.c:adapter_service_add() /org/bluez/hci0 src/sdpd-service.c:add_record_to_server() Adding record with handle 0x10004 src/sdpd-service.c:add_record_to_server() Record pattern UUID 00000019-0000-100-8000-00805f9 src/sdpd-service.c:add_record_to_server() Record pattern UUID 00000100-0000-1000-8000-00805f9 src/sdpd-service.c:add_record_to_server() Record pattern UUID 00001002-0000-1000-8000-00805f9 src/sdpd-service.c:add_record_to_server() Record pattern UUID 0000110a-0000-1000-8000-00805f9 src/sdpd-service.c:add_record_to_server() Record pattern UUID 0000110d-0000-1000-8000-00805f9 Controller 5F:76:59:26:55:53 UUIDs: 00001910-0000-1000-8000-00805f9b34fb ??? 5F:76:59:26:55:53 UUIDs: 0000110a-0000-1000-8000-00805f9b34fb AUDIO_SOURCE_SVCLASS_ID 5F:76:59:26:55:53 UUIDs: 00001800-0000-1000-8000-00805f9b34fb GENERIC_ACCESS_SVCLASS_ID 5F:76:59:26:55:53 UUIDs: 00001200-0000-1000-8000-00805f9b34fb PNP_INFO_SVCLASS_ID 5F:76:59:26:55:53 UUIDs: 0000110c-0000-1000-8000-00805f9b34fb AV_REMOTE_TARGET_SVCLASS_ID 5F:76:59:26:55:53 UUIDs: 0000110e-0000-1000-8000-00805f9b34fb AV_REMOTE_SVCLASS_ID 5F:76:59:26:55:53 UUIDs: 00001801-0000-1000-8000-00805f9b34fb GENERIC_ATTRIB_SVCLASS_ID */