diff --git a/profiles/audio/a2dp.c b/profiles/audio/a2dp.c
index 81dbbfa..0eac151 100644
--- a/profiles/audio/a2dp.c
+++ b/profiles/audio/a2dp.c
g_key_file_free(key_file);
}
-static void remove_endpoints_cache(struct btd_service *service)
-{
- struct btd_device *device = btd_service_get_device(service);
- char filename[PATH_MAX];
- char dst_addr[18];
- GKeyFile *key_file;
- GError *gerr = NULL;
- char *data;
- gsize length = 0;
-
- ba2str(device_get_address(device), dst_addr);
-
- create_filename(filename, PATH_MAX, "/%s/cache/%s",
- btd_adapter_get_storage_dir(device_get_adapter(device)),
- dst_addr);
-
- key_file = g_key_file_new();
- if (!g_key_file_load_from_file(key_file, filename, 0, &gerr)) {
- g_error_free(gerr);
- g_key_file_free(key_file);
- return;
- }
- g_key_file_remove_group(key_file, "Endpoints", NULL);
-
- data = g_key_file_to_data(key_file, &length, NULL);
- if (length > 0) {
- create_file(filename, 0600);
- if (!g_file_set_contents(filename, data, length, &gerr)) {
- error("Unable set contents for %s: (%s)", filename,
- gerr->message);
- g_error_free(gerr);
- }
- }
-
- g_free(data);
- g_key_file_free(key_file);
-}
-
static void invalidate_remote_cache(struct a2dp_setup *setup,
struct avdtp_error *err)
{
static void a2dp_source_remove(struct btd_service *service)
{
source_unregister(service);
- remove_endpoints_cache(service);
}
static int a2dp_sink_probe(struct btd_service *service)
static void a2dp_sink_remove(struct btd_service *service)
{
sink_unregister(service);
- remove_endpoints_cache(service);
}
static int a2dp_source_connect(struct btd_service *service)
diff --git a/src/device.c b/src/device.c
index 057d116..b82a905 100644
--- a/src/device.c
+++ b/src/device.c
}
g_key_file_remove_group(key_file, "ServiceRecords", NULL);
g_key_file_remove_group(key_file, "Attributes", NULL);
+ g_key_file_remove_group(key_file, "Endpoints", NULL);
data = g_key_file_to_data(key_file, &length, NULL);
if (length > 0) {