Zephyr Project API  3.4.0
A Scalable Open Source RTOS
Bluetooth Audio

Bluetooth Audio. More...

Modules

 Codec config parsing APIs
 Audio codec Config APIs.
 

Data Structures

struct  bt_codec_data
 Codec configuration structure. More...
 
struct  bt_codec
 Codec structure. More...
 
struct  bt_codec_qos
 Codec QoS structure. More...
 
struct  bt_codec_qos_pref
 Audio Stream Quality of Service Preference structure. More...
 

Macros

#define BT_AUDIO_BROADCAST_ID_SIZE   3 /* octets */
 
#define BT_AUDIO_BROADCAST_ID_MAX   0xFFFFFFU
 
#define BT_AUDIO_PD_PREF_NONE   0x000000U
 
#define BT_AUDIO_PD_MAX   0xFFFFFFU
 
#define BT_AUDIO_BROADCAST_CODE_SIZE   16
 
#define BT_AUDIO_CONTEXT_TYPE_ANY
 
#define BT_AUDIO_UNICAST_ANNOUNCEMENT_GENERAL   0x00
 
#define BT_AUDIO_UNICAST_ANNOUNCEMENT_TARGETED   0x01
 
#define BT_CODEC_DATA(_type, _bytes...)
 Helper to declare elements of bt_codec_data arrays. More...
 
#define BT_CODEC(_id, _cid, _vid, _data, _meta)
 Helper to declare bt_codec structure. More...
 
#define BT_AUDIO_LOCATION_ANY
 
#define BT_CODEC_QOS(_interval, _framing, _phy, _sdu, _rtn, _latency, _pd)
 Helper to declare elements of bt_codec_qos. More...
 
#define BT_CODEC_QOS_UNFRAMED(_interval, _sdu, _rtn, _latency, _pd)
 Helper to declare Input Unframed bt_codec_qos. More...
 
#define BT_CODEC_QOS_FRAMED(_interval, _sdu, _rtn, _latency, _pd)
 Helper to declare Input Framed bt_codec_qos. More...
 
#define BT_CODEC_QOS_PREF(_unframed_supported, _phy, _rtn, _latency, _pd_min, _pd_max, _pref_pd_min, _pref_pd_max)
 Helper to declare elements of bt_codec_qos_pref. More...
 

Enumerations

enum  bt_audio_context {
  BT_AUDIO_CONTEXT_TYPE_PROHIBITED = 0 , BT_AUDIO_CONTEXT_TYPE_UNSPECIFIED = BIT(0) , BT_AUDIO_CONTEXT_TYPE_CONVERSATIONAL = BIT(1) , BT_AUDIO_CONTEXT_TYPE_MEDIA = BIT(2) ,
  BT_AUDIO_CONTEXT_TYPE_GAME = BIT(3) , BT_AUDIO_CONTEXT_TYPE_INSTRUCTIONAL = BIT(4) , BT_AUDIO_CONTEXT_TYPE_VOICE_ASSISTANTS = BIT(5) , BT_AUDIO_CONTEXT_TYPE_LIVE = BIT(6) ,
  BT_AUDIO_CONTEXT_TYPE_SOUND_EFFECTS = BIT(7) , BT_AUDIO_CONTEXT_TYPE_NOTIFICATIONS = BIT(8) , BT_AUDIO_CONTEXT_TYPE_RINGTONE = BIT(9) , BT_AUDIO_CONTEXT_TYPE_ALERTS = BIT(10) ,
  BT_AUDIO_CONTEXT_TYPE_EMERGENCY_ALARM = BIT(11)
}
 Audio Context Type for Generic Audio. More...
 
enum  bt_audio_parental_rating {
  BT_AUDIO_PARENTAL_RATING_NO_RATING = 0x00 , BT_AUDIO_PARENTAL_RATING_AGE_ANY = 0x01 , BT_AUDIO_PARENTAL_RATING_AGE_5_OR_ABOVE = 0x02 , BT_AUDIO_PARENTAL_RATING_AGE_6_OR_ABOVE = 0x03 ,
  BT_AUDIO_PARENTAL_RATING_AGE_7_OR_ABOVE = 0x04 , BT_AUDIO_PARENTAL_RATING_AGE_8_OR_ABOVE = 0x05 , BT_AUDIO_PARENTAL_RATING_AGE_9_OR_ABOVE = 0x06 , BT_AUDIO_PARENTAL_RATING_AGE_10_OR_ABOVE = 0x07 ,
  BT_AUDIO_PARENTAL_RATING_AGE_11_OR_ABOVE = 0x08 , BT_AUDIO_PARENTAL_RATING_AGE_12_OR_ABOVE = 0x09 , BT_AUDIO_PARENTAL_RATING_AGE_13_OR_ABOVE = 0x0A , BT_AUDIO_PARENTAL_RATING_AGE_14_OR_ABOVE = 0x0B ,
  BT_AUDIO_PARENTAL_RATING_AGE_15_OR_ABOVE = 0x0C , BT_AUDIO_PARENTAL_RATING_AGE_16_OR_ABOVE = 0x0D , BT_AUDIO_PARENTAL_RATING_AGE_17_OR_ABOVE = 0x0E , BT_AUDIO_PARENTAL_RATING_AGE_18_OR_ABOVE = 0x0F
}
 Parental rating defined by the Generic Audio assigned numbers (bluetooth.com). More...
 
enum  bt_audio_active_state { BT_AUDIO_ACTIVE_STATE_DISABLED = 0x00 , BT_AUDIO_ACTIVE_STATE_ENABLED = 0x01 }
 Audio Active State defined by the Generic Audio assigned numbers (bluetooth.com). More...
 
enum  bt_audio_metadata_type {
  BT_AUDIO_METADATA_TYPE_PREF_CONTEXT = 0x01 , BT_AUDIO_METADATA_TYPE_STREAM_CONTEXT = 0x02 , BT_AUDIO_METADATA_TYPE_PROGRAM_INFO = 0x03 , BT_AUDIO_METADATA_TYPE_STREAM_LANG = 0x04 ,
  BT_AUDIO_METADATA_TYPE_CCID_LIST = 0x05 , BT_AUDIO_METADATA_TYPE_PARENTAL_RATING = 0x06 , BT_AUDIO_METADATA_TYPE_PROGRAM_INFO_URI = 0x07 , BT_AUDIO_METADATA_TYPE_AUDIO_STATE = 0x08 ,
  BT_AUDIO_METADATA_TYPE_BROADCAST_IMMEDIATE = 0x09 , BT_AUDIO_METADATA_TYPE_EXTENDED = 0xFE , BT_AUDIO_METADATA_TYPE_VENDOR = 0xFF
}
 Codec metadata type IDs. More...
 
enum  bt_audio_location {
  BT_AUDIO_LOCATION_PROHIBITED = 0 , BT_AUDIO_LOCATION_FRONT_LEFT = BIT(0) , BT_AUDIO_LOCATION_FRONT_RIGHT = BIT(1) , BT_AUDIO_LOCATION_FRONT_CENTER = BIT(2) ,
  BT_AUDIO_LOCATION_LOW_FREQ_EFFECTS_1 = BIT(3) , BT_AUDIO_LOCATION_BACK_LEFT = BIT(4) , BT_AUDIO_LOCATION_BACK_RIGHT = BIT(5) , BT_AUDIO_LOCATION_FRONT_LEFT_OF_CENTER = BIT(6) ,
  BT_AUDIO_LOCATION_FRONT_RIGHT_OF_CENTER = BIT(7) , BT_AUDIO_LOCATION_BACK_CENTER = BIT(8) , BT_AUDIO_LOCATION_LOW_FREQ_EFFECTS_2 = BIT(9) , BT_AUDIO_LOCATION_SIDE_LEFT = BIT(10) ,
  BT_AUDIO_LOCATION_SIDE_RIGHT = BIT(11) , BT_AUDIO_LOCATION_TOP_FRONT_LEFT = BIT(12) , BT_AUDIO_LOCATION_TOP_FRONT_RIGHT = BIT(13) , BT_AUDIO_LOCATION_TOP_FRONT_CENTER = BIT(14) ,
  BT_AUDIO_LOCATION_TOP_CENTER = BIT(15) , BT_AUDIO_LOCATION_TOP_BACK_LEFT = BIT(16) , BT_AUDIO_LOCATION_TOP_BACK_RIGHT = BIT(17) , BT_AUDIO_LOCATION_TOP_SIDE_LEFT = BIT(18) ,
  BT_AUDIO_LOCATION_TOP_SIDE_RIGHT = BIT(19) , BT_AUDIO_LOCATION_TOP_BACK_CENTER = BIT(20) , BT_AUDIO_LOCATION_BOTTOM_FRONT_CENTER = BIT(21) , BT_AUDIO_LOCATION_BOTTOM_FRONT_LEFT = BIT(22) ,
  BT_AUDIO_LOCATION_BOTTOM_FRONT_RIGHT = BIT(23) , BT_AUDIO_LOCATION_FRONT_LEFT_WIDE = BIT(24) , BT_AUDIO_LOCATION_FRONT_RIGHT_WIDE = BIT(25) , BT_AUDIO_LOCATION_LEFT_SURROUND = BIT(26) ,
  BT_AUDIO_LOCATION_RIGHT_SURROUND = BIT(27)
}
 Location values for BT Audio. More...
 
enum  bt_audio_dir { BT_AUDIO_DIR_SINK = 0x01 , BT_AUDIO_DIR_SOURCE = 0x02 }
 Audio Capability type. More...
 
enum  { BT_CODEC_QOS_UNFRAMED = 0x00 , BT_CODEC_QOS_FRAMED = 0x01 }
 Codec QoS Framing. More...
 
enum  { BT_CODEC_QOS_1M = BIT(0) , BT_CODEC_QOS_2M = BIT(1) , BT_CODEC_QOS_CODED = BIT(2) }
 Codec QoS Preferred PHY. More...
 

Functions

ssize_t bt_audio_codec_data_to_buf (const struct bt_codec_data *codec_data, size_t count, uint8_t *buf, size_t buf_size)
 Turns an array of bt_codec_data to a flat LTV encoded uint8_t array. More...
 

Detailed Description

Bluetooth Audio.

Macro Definition Documentation

◆ BT_AUDIO_BROADCAST_CODE_SIZE

#define BT_AUDIO_BROADCAST_CODE_SIZE   16

◆ BT_AUDIO_BROADCAST_ID_MAX

#define BT_AUDIO_BROADCAST_ID_MAX   0xFFFFFFU

#include <include/zephyr/bluetooth/audio/audio.h>

Maximum broadcast ID value

◆ BT_AUDIO_BROADCAST_ID_SIZE

#define BT_AUDIO_BROADCAST_ID_SIZE   3 /* octets */

◆ BT_AUDIO_CONTEXT_TYPE_ANY

#define BT_AUDIO_CONTEXT_TYPE_ANY

#include <include/zephyr/bluetooth/audio/audio.h>

Value:
BT_AUDIO_CONTEXT_TYPE_CONVERSATIONAL | \
BT_AUDIO_CONTEXT_TYPE_MEDIA | \
BT_AUDIO_CONTEXT_TYPE_GAME | \
BT_AUDIO_CONTEXT_TYPE_INSTRUCTIONAL | \
BT_AUDIO_CONTEXT_TYPE_VOICE_ASSISTANTS | \
BT_AUDIO_CONTEXT_TYPE_LIVE | \
BT_AUDIO_CONTEXT_TYPE_SOUND_EFFECTS | \
BT_AUDIO_CONTEXT_TYPE_NOTIFICATIONS | \
BT_AUDIO_CONTEXT_TYPE_RINGTONE | \
BT_AUDIO_CONTEXT_TYPE_ALERTS | \
BT_AUDIO_CONTEXT_TYPE_EMERGENCY_ALARM)
@ BT_AUDIO_CONTEXT_TYPE_UNSPECIFIED
Definition: audio.h:50

Any known context.

◆ BT_AUDIO_LOCATION_ANY

#define BT_AUDIO_LOCATION_ANY

#include <include/zephyr/bluetooth/audio/audio.h>

Value:
BT_AUDIO_LOCATION_FRONT_RIGHT | \
BT_AUDIO_LOCATION_FRONT_CENTER | \
BT_AUDIO_LOCATION_LOW_FREQ_EFFECTS_1 | \
BT_AUDIO_LOCATION_BACK_LEFT | \
BT_AUDIO_LOCATION_BACK_RIGHT | \
BT_AUDIO_LOCATION_FRONT_LEFT_OF_CENTER | \
BT_AUDIO_LOCATION_FRONT_RIGHT_OF_CENTER | \
BT_AUDIO_LOCATION_BACK_CENTER | \
BT_AUDIO_LOCATION_LOW_FREQ_EFFECTS_2 | \
BT_AUDIO_LOCATION_SIDE_LEFT | \
BT_AUDIO_LOCATION_SIDE_RIGHT | \
BT_AUDIO_LOCATION_TOP_FRONT_LEFT | \
BT_AUDIO_LOCATION_TOP_FRONT_RIGHT | \
BT_AUDIO_LOCATION_TOP_FRONT_CENTER | \
BT_AUDIO_LOCATION_TOP_CENTER | \
BT_AUDIO_LOCATION_TOP_BACK_LEFT | \
BT_AUDIO_LOCATION_TOP_BACK_RIGHT | \
BT_AUDIO_LOCATION_TOP_SIDE_LEFT | \
BT_AUDIO_LOCATION_TOP_SIDE_RIGHT | \
BT_AUDIO_LOCATION_TOP_BACK_CENTER | \
BT_AUDIO_LOCATION_BOTTOM_FRONT_CENTER | \
BT_AUDIO_LOCATION_BOTTOM_FRONT_LEFT | \
BT_AUDIO_LOCATION_BOTTOM_FRONT_RIGHT | \
BT_AUDIO_LOCATION_FRONT_LEFT_WIDE | \
BT_AUDIO_LOCATION_FRONT_RIGHT_WIDE | \
BT_AUDIO_LOCATION_LEFT_SURROUND | \
BT_AUDIO_LOCATION_RIGHT_SURROUND)
@ BT_AUDIO_LOCATION_FRONT_LEFT
Definition: audio.h:230

Any known location.

◆ BT_AUDIO_PD_MAX

#define BT_AUDIO_PD_MAX   0xFFFFFFU

#include <include/zephyr/bluetooth/audio/audio.h>

Maximum presentation delay in microseconds

◆ BT_AUDIO_PD_PREF_NONE

#define BT_AUDIO_PD_PREF_NONE   0x000000U

#include <include/zephyr/bluetooth/audio/audio.h>

Indicates that the server have no preference for the presentation delay

◆ BT_AUDIO_UNICAST_ANNOUNCEMENT_GENERAL

#define BT_AUDIO_UNICAST_ANNOUNCEMENT_GENERAL   0x00

◆ BT_AUDIO_UNICAST_ANNOUNCEMENT_TARGETED

#define BT_AUDIO_UNICAST_ANNOUNCEMENT_TARGETED   0x01

◆ BT_CODEC

#define BT_CODEC (   _id,
  _cid,
  _vid,
  _data,
  _meta 
)

#include <include/zephyr/bluetooth/audio/audio.h>

Value:
{ \
/* Use HCI data path as default, can be overwritten by application */ \
.path_id = BT_ISO_DATA_PATH_HCI, \
.id = _id, \
.cid = _cid, \
.vid = _vid, \
.data_count = ARRAY_SIZE(((struct bt_codec_data[]) _data)), \
.data = _data, \
.meta_count = ARRAY_SIZE(((struct bt_codec_data[]) _meta)), \
.meta = _meta, \
}
#define BT_ISO_DATA_PATH_HCI
Definition: iso.h:46
#define ARRAY_SIZE(array)
Number of elements in the given array.
Definition: util.h:122
Codec configuration structure.
Definition: audio.h:181

Helper to declare bt_codec structure.

Parameters
_idCodec ID
_cidCompany ID
_vidVendor ID
_dataCodec Specific Data in LVT format
_metaCodec Specific Metadata in LVT format

◆ BT_CODEC_DATA

#define BT_CODEC_DATA (   _type,
  _bytes... 
)

#include <include/zephyr/bluetooth/audio/audio.h>

Value:
{ \
.data = BT_DATA(_type, ((uint8_t []) { _bytes }), \
sizeof((uint8_t []) { _bytes })) \
}
#define BT_DATA(_type, _data, _data_len)
Helper to declare elements of bt_data arrays.
Definition: bluetooth.h:449
__UINT8_TYPE__ uint8_t
Definition: stdint.h:88

Helper to declare elements of bt_codec_data arrays.

This macro is mainly for creating an array of struct bt_codec_data elements inside bt_codec which is then passed to the likes of bt_bap_stream_config or bt_bap_stream_reconfig.

Parameters
_typeType of advertising data field
_bytesVariable number of single-byte parameters

◆ BT_CODEC_QOS

#define BT_CODEC_QOS (   _interval,
  _framing,
  _phy,
  _sdu,
  _rtn,
  _latency,
  _pd 
)

#include <include/zephyr/bluetooth/audio/audio.h>

Value:
{ \
.interval = _interval, \
.framing = _framing, \
.phy = _phy, \
.sdu = _sdu, \
.rtn = _rtn, \
.latency = _latency, \
.pd = _pd, \
}

Helper to declare elements of bt_codec_qos.

Parameters
_intervalSDU interval (usec)
_framingFraming
_phyTarget PHY
_sduMaximum SDU Size
_rtnRetransmission number
_latencyMaximum Transport Latency (msec)
_pdPresentation Delay (usec)

◆ BT_CODEC_QOS_FRAMED

#define BT_CODEC_QOS_FRAMED (   _interval,
  _sdu,
  _rtn,
  _latency,
  _pd 
)

#include <include/zephyr/bluetooth/audio/audio.h>

Value:
_rtn, _latency, _pd)
#define BT_CODEC_QOS(_interval, _framing, _phy, _sdu, _rtn, _latency, _pd)
Helper to declare elements of bt_codec_qos.
Definition: audio.h:337
#define BT_CODEC_QOS_FRAMED(_interval, _sdu, _rtn, _latency, _pd)
Helper to declare Input Framed bt_codec_qos.
Definition: audio.h:384
@ BT_CODEC_QOS_2M
Definition: audio.h:358

Helper to declare Input Framed bt_codec_qos.

Parameters
_intervalSDU interval (usec)
_sduMaximum SDU Size
_rtnRetransmission number
_latencyMaximum Transport Latency (msec)
_pdPresentation Delay (usec)

◆ BT_CODEC_QOS_PREF

#define BT_CODEC_QOS_PREF (   _unframed_supported,
  _phy,
  _rtn,
  _latency,
  _pd_min,
  _pd_max,
  _pref_pd_min,
  _pref_pd_max 
)

#include <include/zephyr/bluetooth/audio/audio.h>

Value:
{ \
.unframed_supported = _unframed_supported, \
.phy = _phy, \
.rtn = _rtn, \
.latency = _latency, \
.pd_min = _pd_min, \
.pd_max = _pd_max, \
.pref_pd_min = _pref_pd_min, \
.pref_pd_max = _pref_pd_max, \
}

Helper to declare elements of bt_codec_qos_pref.

Parameters
_unframed_supportedUnframed PDUs supported
_phyPreferred Target PHY
_rtnPreferred Retransmission number
_latencyPreferred Maximum Transport Latency (msec)
_pd_minMinimum Presentation Delay (usec)
_pd_maxMaximum Presentation Delay (usec)
_pref_pd_minPreferred Minimum Presentation Delay (usec)
_pref_pd_maxPreferred Maximum Presentation Delay (usec)

◆ BT_CODEC_QOS_UNFRAMED

#define BT_CODEC_QOS_UNFRAMED (   _interval,
  _sdu,
  _rtn,
  _latency,
  _pd 
)

#include <include/zephyr/bluetooth/audio/audio.h>

Value:
_rtn, _latency, _pd)
#define BT_CODEC_QOS_UNFRAMED(_interval, _sdu, _rtn, _latency, _pd)
Helper to declare Input Unframed bt_codec_qos.
Definition: audio.h:371

Helper to declare Input Unframed bt_codec_qos.

Parameters
_intervalSDU interval (usec)
_sduMaximum SDU Size
_rtnRetransmission number
_latencyMaximum Transport Latency (msec)
_pdPresentation Delay (usec)

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

#include <include/zephyr/bluetooth/audio/audio.h>

Codec QoS Framing.

Enumerator
BT_CODEC_QOS_UNFRAMED 
BT_CODEC_QOS_FRAMED 

◆ anonymous enum

anonymous enum

#include <include/zephyr/bluetooth/audio/audio.h>

Codec QoS Preferred PHY.

Enumerator
BT_CODEC_QOS_1M 
BT_CODEC_QOS_2M 
BT_CODEC_QOS_CODED 

◆ bt_audio_active_state

#include <include/zephyr/bluetooth/audio/audio.h>

Audio Active State defined by the Generic Audio assigned numbers (bluetooth.com).

Enumerator
BT_AUDIO_ACTIVE_STATE_DISABLED 
BT_AUDIO_ACTIVE_STATE_ENABLED 

◆ bt_audio_context

#include <include/zephyr/bluetooth/audio/audio.h>

Audio Context Type for Generic Audio.

These values are defined by the Generic Audio Assigned Numbers, bluetooth.com

Enumerator
BT_AUDIO_CONTEXT_TYPE_PROHIBITED 
BT_AUDIO_CONTEXT_TYPE_UNSPECIFIED 
BT_AUDIO_CONTEXT_TYPE_CONVERSATIONAL 
BT_AUDIO_CONTEXT_TYPE_MEDIA 
BT_AUDIO_CONTEXT_TYPE_GAME 
BT_AUDIO_CONTEXT_TYPE_INSTRUCTIONAL 
BT_AUDIO_CONTEXT_TYPE_VOICE_ASSISTANTS 
BT_AUDIO_CONTEXT_TYPE_LIVE 
BT_AUDIO_CONTEXT_TYPE_SOUND_EFFECTS 
BT_AUDIO_CONTEXT_TYPE_NOTIFICATIONS 
BT_AUDIO_CONTEXT_TYPE_RINGTONE 
BT_AUDIO_CONTEXT_TYPE_ALERTS 
BT_AUDIO_CONTEXT_TYPE_EMERGENCY_ALARM 

◆ bt_audio_dir

#include <include/zephyr/bluetooth/audio/audio.h>

Audio Capability type.

Enumerator
BT_AUDIO_DIR_SINK 
BT_AUDIO_DIR_SOURCE 

◆ bt_audio_location

#include <include/zephyr/bluetooth/audio/audio.h>

Location values for BT Audio.

These values are defined by the Generic Audio Assigned Numbers, bluetooth.com

Enumerator
BT_AUDIO_LOCATION_PROHIBITED 
BT_AUDIO_LOCATION_FRONT_LEFT 
BT_AUDIO_LOCATION_FRONT_RIGHT 
BT_AUDIO_LOCATION_FRONT_CENTER 
BT_AUDIO_LOCATION_LOW_FREQ_EFFECTS_1 
BT_AUDIO_LOCATION_BACK_LEFT 
BT_AUDIO_LOCATION_BACK_RIGHT 
BT_AUDIO_LOCATION_FRONT_LEFT_OF_CENTER 
BT_AUDIO_LOCATION_FRONT_RIGHT_OF_CENTER 
BT_AUDIO_LOCATION_BACK_CENTER 
BT_AUDIO_LOCATION_LOW_FREQ_EFFECTS_2 
BT_AUDIO_LOCATION_SIDE_LEFT 
BT_AUDIO_LOCATION_SIDE_RIGHT 
BT_AUDIO_LOCATION_TOP_FRONT_LEFT 
BT_AUDIO_LOCATION_TOP_FRONT_RIGHT 
BT_AUDIO_LOCATION_TOP_FRONT_CENTER 
BT_AUDIO_LOCATION_TOP_CENTER 
BT_AUDIO_LOCATION_TOP_BACK_LEFT 
BT_AUDIO_LOCATION_TOP_BACK_RIGHT 
BT_AUDIO_LOCATION_TOP_SIDE_LEFT 
BT_AUDIO_LOCATION_TOP_SIDE_RIGHT 
BT_AUDIO_LOCATION_TOP_BACK_CENTER 
BT_AUDIO_LOCATION_BOTTOM_FRONT_CENTER 
BT_AUDIO_LOCATION_BOTTOM_FRONT_LEFT 
BT_AUDIO_LOCATION_BOTTOM_FRONT_RIGHT 
BT_AUDIO_LOCATION_FRONT_LEFT_WIDE 
BT_AUDIO_LOCATION_FRONT_RIGHT_WIDE 
BT_AUDIO_LOCATION_LEFT_SURROUND 
BT_AUDIO_LOCATION_RIGHT_SURROUND 

◆ bt_audio_metadata_type

#include <include/zephyr/bluetooth/audio/audio.h>

Codec metadata type IDs.

Metadata types defined by the Generic Audio assigned numbers (bluetooth.com).

Enumerator
BT_AUDIO_METADATA_TYPE_PREF_CONTEXT 

Preferred audio context.

   Bitfield of preferred audio contexts.

   If 0, the context type is not a preferred use case for this codec
   configuration.

   See the BT_AUDIO_CONTEXT_* for valid values.
BT_AUDIO_METADATA_TYPE_STREAM_CONTEXT 

Streaming audio context.

   Bitfield of streaming audio contexts.

   If 0, the context type is not a preferred use case for this codec
   configuration.

   See the BT_AUDIO_CONTEXT_* for valid values.
BT_AUDIO_METADATA_TYPE_PROGRAM_INFO 

UTF-8 encoded title or summary of stream content

BT_AUDIO_METADATA_TYPE_STREAM_LANG 

Stream language.

   3 octet lower case language code defined by ISO 639-3
BT_AUDIO_METADATA_TYPE_CCID_LIST 

Array of 8-bit CCID values

BT_AUDIO_METADATA_TYPE_PARENTAL_RATING 

Parental rating.

   See @ref bt_audio_parental_rating for valid values.
BT_AUDIO_METADATA_TYPE_PROGRAM_INFO_URI 

UTF-8 encoded URI for additional Program information

BT_AUDIO_METADATA_TYPE_AUDIO_STATE 

Audio active state.

   See @ref bt_audio_active_state for valid values.
BT_AUDIO_METADATA_TYPE_BROADCAST_IMMEDIATE 

Broadcast Audio Immediate Rendering flag

BT_AUDIO_METADATA_TYPE_EXTENDED 

Extended metadata

BT_AUDIO_METADATA_TYPE_VENDOR 

Vendor specific metadata

◆ bt_audio_parental_rating

#include <include/zephyr/bluetooth/audio/audio.h>

Parental rating defined by the Generic Audio assigned numbers (bluetooth.com).

The numbering scheme is aligned with Annex F of EN 300 707 v1.2.1 which defined parental rating for viewing.

Enumerator
BT_AUDIO_PARENTAL_RATING_NO_RATING 
BT_AUDIO_PARENTAL_RATING_AGE_ANY 
BT_AUDIO_PARENTAL_RATING_AGE_5_OR_ABOVE 
BT_AUDIO_PARENTAL_RATING_AGE_6_OR_ABOVE 
BT_AUDIO_PARENTAL_RATING_AGE_7_OR_ABOVE 
BT_AUDIO_PARENTAL_RATING_AGE_8_OR_ABOVE 
BT_AUDIO_PARENTAL_RATING_AGE_9_OR_ABOVE 
BT_AUDIO_PARENTAL_RATING_AGE_10_OR_ABOVE 
BT_AUDIO_PARENTAL_RATING_AGE_11_OR_ABOVE 
BT_AUDIO_PARENTAL_RATING_AGE_12_OR_ABOVE 
BT_AUDIO_PARENTAL_RATING_AGE_13_OR_ABOVE 
BT_AUDIO_PARENTAL_RATING_AGE_14_OR_ABOVE 
BT_AUDIO_PARENTAL_RATING_AGE_15_OR_ABOVE 
BT_AUDIO_PARENTAL_RATING_AGE_16_OR_ABOVE 
BT_AUDIO_PARENTAL_RATING_AGE_17_OR_ABOVE 
BT_AUDIO_PARENTAL_RATING_AGE_18_OR_ABOVE 

Function Documentation

◆ bt_audio_codec_data_to_buf()

ssize_t bt_audio_codec_data_to_buf ( const struct bt_codec_data codec_data,
size_t  count,
uint8_t buf,
size_t  buf_size 
)

#include <include/zephyr/bluetooth/audio/audio.h>

Turns an array of bt_codec_data to a flat LTV encoded uint8_t array.

The resulting buf array can then be used to send over air.

Parameters
codec_dataThe codec data. Can either be codec configuration data, or codec metadata.
countThe number of elements in the codec_data array
bufThe resulting buffer to put the LTV encoded data.
buf_sizeThe size of buf.
Return values
Thelength of the encoded data if successful.
-ENOMEMif the codec_data did not fit into the buf.