@@ -4703,6 +4703,18 @@ clone:
}
}
+ /* Resume reading sink locations if supported */
+ if (pacs->sink && pacs->sink_loc && !pacs->sink_loc_value) {
+ if (gatt_db_attribute_get_char_data(pacs->sink_loc,
+ NULL, &value_handle,
+ NULL, NULL, NULL)) {
+ bt_gatt_client_read_value(bap->client,
+ value_handle,
+ read_sink_pac_loc,
+ bap, NULL);
+ }
+ }
+
/* Resume reading sources if supported */
if (pacs->source && queue_isempty(bap->rdb->sources)) {
if (gatt_db_attribute_get_char_data(pacs->source,
@@ -4715,6 +4727,19 @@ clone:
}
}
+ /* Resume reading source locations if supported */
+ if (pacs->source && pacs->source_loc &&
+ !pacs->source_loc_value) {
+ if (gatt_db_attribute_get_char_data(pacs->source_loc,
+ NULL, &value_handle,
+ NULL, NULL, NULL)) {
+ bt_gatt_client_read_value(bap->client,
+ value_handle,
+ read_source_pac_loc,
+ bap, NULL);
+ }
+ }
+
queue_foreach(bap->remote_eps, bap_endpoint_foreach, bap);
bap_cp_attach(bap);
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com> If there is and unexpected disconnect and the source/sink locations where left uninitialized this attempts to resume reading them once a new session is attached. --- src/shared/bap.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+)