@@ -147,6 +147,22 @@ struct bt_cap_initiator_cb {
147
147
*/
148
148
void (* broadcast_stopped )(struct bt_cap_broadcast_source * source , uint8_t reason );
149
149
#endif /* CONFIG_BT_BAP_BROADCAST_SOURCE */
150
+ #if defined(CONFIG_BT_CAP_HANDOVER_SUPPORTED )
151
+ /**
152
+ * @brief The unicast to broadcast handover procedure has finished
153
+ *
154
+ * @param err 0 if success else a negative errno value.
155
+ * @param conn Pointer to the connection where the error
156
+ * occurred or NULL local failure.
157
+ * @param unicast_group NULL if the unicast group was deleted during the procedure, else
158
+ * pointer to the unicast group provided in the parameters.
159
+ * @param broadcast_source Pointer to newly created broadcast source, or NULL in case of an
160
+ * error happening before it was created.
161
+ */
162
+ void (* unicast_to_broadcast_complete )(int err , struct bt_conn * conn ,
163
+ struct bt_cap_unicast_group * unicast_group ,
164
+ struct bt_cap_broadcast_source * broadcast_source );
165
+ #endif /* CONFIG_BT_CAP_HANDOVER_SUPPORTED */
150
166
};
151
167
152
168
/**
@@ -814,50 +830,47 @@ int bt_cap_initiator_broadcast_get_base(struct bt_cap_broadcast_source *broadcas
814
830
815
831
/** Parameters for bt_cap_initiator_unicast_to_broadcast() */
816
832
struct bt_cap_unicast_to_broadcast_param {
833
+ /** The type of the set. */
834
+ enum bt_cap_set_type type ;
835
+
817
836
/** The source unicast group with the streams. */
818
- struct bt_bap_unicast_group * unicast_group ;
837
+ struct bt_cap_unicast_group * unicast_group ;
819
838
820
839
/**
821
- * @brief Whether or not to encrypt the streams.
840
+ * @brief The advertising set to use for the broadcast source
822
841
*
823
- * If set to true, then the broadcast code in @p broadcast_code
824
- * will be used to encrypt the streams.
842
+ * This shall remain valid until the procedure has completed.
843
+ * If the advertising set is not started at the time of calling
844
+ * bt_cap_initiator_unicast_to_broadcast(),
845
+ * the procedure will start the advertising set with @ref BT_LE_EXT_ADV_START_DEFAULT.
825
846
*/
826
- bool encrypt ;
847
+ struct bt_le_ext_adv * ext_adv ;
848
+
849
+ uint8_t sid ;
850
+ uint16_t pa_interval ;
851
+ uint32_t broadcast_id ;
827
852
828
853
/**
829
- * @brief 16-octet broadcast code.
830
- *
831
- * Only valid if @p encrypt is true.
854
+ * @brief Broadcast source parameters
832
855
*
833
- * If the value is a string or a the value is less than 16 octets,
834
- * the remaining octets shall be 0.
835
- *
836
- * Example:
837
- * The string "Broadcast Code" shall be
838
- * [42 72 6F 61 64 63 61 73 74 20 43 6F 64 65 00 00]
856
+ * These parameters shall remain valid until the procedure has completed.
839
857
*/
840
- uint8_t broadcast_code [ BT_ISO_BROADCAST_CODE_SIZE ] ;
858
+ struct bt_cap_initiator_broadcast_create_param * broadcast_create_param ;
841
859
};
842
860
843
861
/**
844
862
* @brief Hands over the data streams in a unicast group to a broadcast source.
845
863
*
846
864
* The streams in the unicast group will be stopped and the unicast group
847
- * will be deleted. This can only be done for source streams.
865
+ * will be deleted. This can only be done for sink streams.
848
866
*
849
- * @note @kconfig{CONFIG_BT_CAP_INITIATOR},
850
- * @kconfig{CONFIG_BT_BAP_UNICAST_CLIENT} and
851
- * @kconfig{CONFIG_BT_BAP_BROADCAST_SOURCE} must be enabled for this function
852
- * to be enabled.
867
+ * @kconfig_dep{CONFIG_BT_CAP_HANDOVER_SUPPORTED}
853
868
*
854
869
* @param param The parameters for the handover.
855
- * @param source The resulting broadcast source.
856
870
*
857
871
* @return 0 on success or negative error value on failure.
858
872
*/
859
- int bt_cap_initiator_unicast_to_broadcast (const struct bt_cap_unicast_to_broadcast_param * param ,
860
- struct bt_cap_broadcast_source * * source );
873
+ int bt_cap_initiator_unicast_to_broadcast (const struct bt_cap_unicast_to_broadcast_param * param );
861
874
862
875
/** Parameters for bt_cap_initiator_broadcast_to_unicast() */
863
876
struct bt_cap_broadcast_to_unicast_param {
@@ -890,10 +903,7 @@ struct bt_cap_broadcast_to_unicast_param {
890
903
* The streams in the broadcast source will be stopped and the broadcast source
891
904
* will be deleted.
892
905
*
893
- * @note @kconfig{CONFIG_BT_CAP_INITIATOR},
894
- * @kconfig{CONFIG_BT_BAP_UNICAST_CLIENT} and
895
- * @kconfig{CONFIG_BT_BAP_BROADCAST_SOURCE} must be enabled for this function
896
- * to be enabled.
906
+ * @kconfig_dep{CONFIG_BT_CAP_HANDOVER_SUPPORTED}
897
907
*
898
908
* @param[in] param The parameters for the handover.
899
909
* @param[out] unicast_group The resulting broadcast source.
0 commit comments