Example #1
0
static void media_transport_free(void *data)
{
	struct media_transport *transport = data;
	GSList *l = transport->owners;

	while (l) {
		struct media_owner *owner = l->data;
		l = l->next;
		media_transport_remove(transport, owner);
	}

	g_slist_free(transport->owners);

	if (transport->session)
		avdtp_unref(transport->session);

	if (transport->nrec_id)
		headset_remove_nrec_cb(transport->device, transport->nrec_id);

	if (transport->conn)
		dbus_connection_unref(transport->conn);

	g_free(transport->configuration);
	g_free(transport->path);
	g_free(transport);
}
Example #2
0
static void destroy_headset(void *data)
{
	struct headset_transport *headset = data;

	if (headset->nrec_id > 0)
		headset_remove_nrec_cb(headset->device, headset->nrec_id);

	g_free(headset);
}