Zephyr Project API 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches

Callback structure for CAP procedures. More...

#include <cap.h>

Data Fields

void(* unicast_discovery_complete )(struct bt_conn *conn, int err, const struct bt_csip_set_coordinator_set_member *member, const struct bt_csip_set_coordinator_csis_inst *csis_inst)
 Callback for bt_cap_initiator_unicast_discover().
void(* unicast_start_complete )(int err, struct bt_conn *conn)
 Callback for bt_cap_initiator_unicast_audio_start().
void(* unicast_start_codec_configured )(void)
 All streams have been codec configured.
void(* unicast_start_qos_configured )(void)
 All streams have been QoS configured.
void(* unicast_start_enabled )(void)
 All streams have been enabled.
void(* unicast_start_connected )(void)
 All streams have their CIS connected.
void(* unicast_start_started )(void)
 All streams have been started.
void(* unicast_update_complete )(int err, struct bt_conn *conn)
 Callback for bt_cap_initiator_unicast_audio_update().
void(* unicast_stop_complete )(int err, struct bt_conn *conn)
 Callback for bt_cap_initiator_unicast_audio_stop().
void(* unicast_stop_disabled )(void)
 All streams have been disabled.
void(* unicast_stop_stopped )(void)
 All streams have been stopped.
void(* unicast_stop_released )(void)
 All streams have been released.
void(* broadcast_started )(struct bt_cap_broadcast_source *source)
 The Broadcast Source has started and all of the streams are ready for audio data.
void(* broadcast_stopped )(struct bt_cap_broadcast_source *source, uint8_t reason)
 The Broadcast Source has stopped and none of the streams are ready for audio data.

Detailed Description

Callback structure for CAP procedures.

Field Documentation

◆ broadcast_started

void(* bt_cap_initiator_cb::broadcast_started) (struct bt_cap_broadcast_source *source)

The Broadcast Source has started and all of the streams are ready for audio data.

Parameters
sourceThe started Broadcast Source

◆ broadcast_stopped

void(* bt_cap_initiator_cb::broadcast_stopped) (struct bt_cap_broadcast_source *source, uint8_t reason)

The Broadcast Source has stopped and none of the streams are ready for audio data.

Parameters
sourceThe stopped Broadcast Source
reasonThe reason why the Broadcast Source stopped (see the BT_HCI_ERR_* values)

◆ unicast_discovery_complete

void(* bt_cap_initiator_cb::unicast_discovery_complete) (struct bt_conn *conn, int err, const struct bt_csip_set_coordinator_set_member *member, const struct bt_csip_set_coordinator_csis_inst *csis_inst)

Callback for bt_cap_initiator_unicast_discover().

Parameters
connThe connection pointer supplied to bt_cap_initiator_unicast_discover().
err0 if Common Audio Service was found else -ENODATA.
memberPointer to the set member. NULL if err != 0.
csis_instThe Coordinated Set Identification Service if Common Audio Service was found and includes a Coordinated Set Identification Service. NULL on error or if remote device does not include Coordinated Set Identification Service. NULL if err != 0.

◆ unicast_start_codec_configured

void(* bt_cap_initiator_cb::unicast_start_codec_configured) (void)

All streams have been codec configured.

All streams supplied to bt_cap_initiator_unicast_audio_start() are in the BT_BAP_EP_STATE_CODEC_CONFIGURED state or higher, with the requested codec configuration.

This is only called if at least one Config Codec operation was sent to a CAP acceptor, i.e. it is not called if all streams already had the requested codec configuration.

The unicast group may be reconfigured with bt_cap_unicast_group_reconfig() from this callback, as the QoS Configuration subprocedure has not been started yet. This is only possible if none of the streams in the unicast group have been connected earlier, as the unicast group cannot be reconfigured once a CIS has been established. It is not possible to start a new CAP procedure from this callback, as the current procedure is still in progress.

◆ unicast_start_complete

void(* bt_cap_initiator_cb::unicast_start_complete) (int err, struct bt_conn *conn)

Callback for bt_cap_initiator_unicast_audio_start().

Parameters
err
  • 0 if success.
  • -ENOEXEC if subprocedure could not be performed.
  • -ENOMEM if subprocedure could not be performed due to lack of memory.
  • -EACCES if request rejected by peer.
  • -EBUSY if subprocedure could not be performed because unicast client is already busy.
  • -EINVAL if subprocedure contained invalid parameters.
  • -EBADMSG if unexpected state change happened.
  • -EALREADY if subprocedure could not be performed due to unexpected state.
  • -ECONNRESET if connection dropped during procedure.
  • -ENOTCONN if subprocedure could not be performed due to connection.
  • -ECANCELED if cancelled by bt_cap_initiator_unicast_audio_cancel().
connPointer to the connection where the error occurred. NULL if err is 0 or if cancelled by bt_cap_initiator_unicast_audio_cancel()

◆ unicast_start_connected

void(* bt_cap_initiator_cb::unicast_start_connected) (void)

All streams have their CIS connected.

All streams supplied to bt_cap_initiator_unicast_audio_start() have an established CIS.

This is only called if at least one CIS was established as part of the procedure, i.e. it is not called if all CISes were already established.

◆ unicast_start_enabled

void(* bt_cap_initiator_cb::unicast_start_enabled) (void)

All streams have been enabled.

All streams supplied to bt_cap_initiator_unicast_audio_start() are in the BT_BAP_EP_STATE_ENABLING state or higher, with the requested metadata.

This is only called if at least one Enable operation was sent to a CAP acceptor, i.e. it is not called if all streams were already enabled with the requested metadata.

◆ unicast_start_qos_configured

void(* bt_cap_initiator_cb::unicast_start_qos_configured) (void)

All streams have been QoS configured.

All streams supplied to bt_cap_initiator_unicast_audio_start() are in the BT_BAP_EP_STATE_QOS_CONFIGURED state or higher, with the QoS configuration of the unicast group.

This is only called if at least one Config QoS operation was sent to a CAP acceptor, i.e. it is not called if all streams already had the requested QoS configuration.

◆ unicast_start_started

void(* bt_cap_initiator_cb::unicast_start_started) (void)

All streams have been started.

All streams supplied to bt_cap_initiator_unicast_audio_start() are in the BT_BAP_EP_STATE_STREAMING state.

This is only called if at least one Receiver Start Ready operation was sent to a CAP acceptor, i.e. it is not called if all streams were started by the CAP acceptors.

◆ unicast_stop_complete

void(* bt_cap_initiator_cb::unicast_stop_complete) (int err, struct bt_conn *conn)

Callback for bt_cap_initiator_unicast_audio_stop().

Parameters
err
  • 0 if success.
  • -ENOEXEC if subprocedure could not be performed.
  • -ENOMEM if subprocedure could not be performed due to lack of memory.
  • -EACCES if request rejected by peer.
  • -EBUSY if subprocedure could not be performed because unicast client is
  • already busy.
  • -EINVAL if subprocedure contained invalid parameters.
  • -EBADMSG if unexpected state change happened.
  • -EALREADY if subprocedure could not be performed due to unexpected state.
  • -ECONNRESET if connection dropped during procedure.
  • -ENOTCONN if subprocedure could not be performed due to connection.
  • -ECANCELED if cancelled by bt_cap_initiator_unicast_audio_cancel().
connPointer to the connection where the error occurred. NULL if err is 0 or if cancelled by bt_cap_initiator_unicast_audio_cancel()

◆ unicast_stop_disabled

void(* bt_cap_initiator_cb::unicast_stop_disabled) (void)

All streams have been disabled.

All streams supplied to bt_cap_initiator_unicast_audio_stop() are in the BT_BAP_EP_STATE_DISABLING or BT_BAP_EP_STATE_QOS_CONFIGURED state.

This is only called if at least one Disable operation was sent to a CAP acceptor, i.e. it is not called if none of the streams were enabled or streaming.

◆ unicast_stop_released

void(* bt_cap_initiator_cb::unicast_stop_released) (void)

All streams have been released.

All streams supplied to bt_cap_initiator_unicast_audio_stop() have been released.

This is only called if at least one Release operation was sent to a CAP acceptor, i.e. it is not called if the streams were not requested to be released.

◆ unicast_stop_stopped

void(* bt_cap_initiator_cb::unicast_stop_stopped) (void)

All streams have been stopped.

All streams supplied to bt_cap_initiator_unicast_audio_stop() are in the BT_BAP_EP_STATE_QOS_CONFIGURED state.

This is only called if at least one Receiver Stop Ready operation was sent to a CAP acceptor, i.e. it is not called if none of the streams were in the BT_BAP_EP_STATE_DISABLING state.

◆ unicast_update_complete

void(* bt_cap_initiator_cb::unicast_update_complete) (int err, struct bt_conn *conn)

Callback for bt_cap_initiator_unicast_audio_update().

Parameters
err
  • 0 if success.
  • -ENOEXEC if subprocedure could not be performed.
  • -ENOMEM if subprocedure could not be performed due to lack of memory.
  • -EACCES if request rejected by peer.
  • -EBUSY if subprocedure could not be performed because unicast client is
  • already busy.
  • -EINVAL if subprocedure contained invalid parameters.
  • -EBADMSG if unexpected state change happened.
  • -ECONNRESET if connection dropped during procedure.
  • -ENOTCONN if subprocedure could not be performed due to connection.
  • -ECANCELED if cancelled by bt_cap_initiator_unicast_audio_cancel().
connPointer to the connection where the error occurred. NULL if err is 0 or if cancelled by bt_cap_initiator_unicast_audio_cancel()

The documentation for this struct was generated from the following file:
  • include/zephyr/bluetooth/audio/cap.h