This will be needed if the implementation data stores pointers to
additional data that needs to be freed as well.
pa_assert(p);
pa_assert(pa_device_port_refcnt(p) == 0);
+ if (p->impl_free)
+ p->impl_free(p);
+
if (p->proplist)
pa_proplist_free(p->proplist);
pa_direction_t direction;
int64_t latency_offset;
+ /* Free the extra implementation specific data. Called before other members are freed. */
+ void (*impl_free)(pa_device_port *port);
+
/* .. followed by some implementation specific data */
};