Changes in v2: - Ports are now always owned by cards, never by sinks or sources - Fixed extra SCO sink/source unref in module-bluetooth-device - Additional set of patches for adding pa_device_port_update_proplist This patch set consists of to separate patch sets: 1-5 implement "fix reading of freed memory" and 6-9 implement "add pa_device_port_update_proplist". The latter set depends on the former, which is why I'm sending these together. Regarding the change that ports are now always owned by cards: I couldn't figure out a reason why sinks and sources should own ports. Sure, many sinks and sources aren't part of cards, so now such sinks and sources can't have ports, but so what? They haven't had ports this far either. I believe the only reason why I have previously wanted to have ports with every sink and source is that hypothetical future policy modules could then only track ports and not care about sinks and sources. But now that the plan is to eventually have persistent sinks and sources, the sinks and sources will take the role that I imagined ports to have. Tanu Kaskinen (9): core: Add hooks for default device changes dbus: Track the default sink and source with hooks dbus: Track streams with hooks dbus: Track stream moves with hooks Remove refcounting from ports, sinks and sources device-port: Add "linked" flag proplist: Add pa_proplist_update_info tests: Test pa_proplist_update_info functionality device-port: Add pa_device_port_update_proplist src/map-file | 4 + src/modules/alsa/alsa-mixer.c | 4 +- src/modules/alsa/alsa-ucm.c | 4 +- src/modules/alsa/module-alsa-card.c | 25 +- src/modules/bluetooth/module-bluetooth-device.c | 12 +- src/modules/dbus/iface-core.c | 348 ++++++++++++----------- src/modules/dbus/iface-device.c | 13 +- src/modules/dbus/iface-stream.c | 96 ++++--- src/modules/module-suspend-on-idle.c | 9 +- src/pulse/proplist.c | 220 +++++++++++++- src/pulse/proplist.h | 70 +++++ src/pulsecore/card.c | 43 ++- src/pulsecore/core.h | 2 + src/pulsecore/device-port.c | 44 +-- src/pulsecore/device-port.h | 13 +- src/pulsecore/namereg.c | 2 + src/pulsecore/sink.c | 20 +- src/pulsecore/source.c | 4 +- src/tests/proplist-test.c | 23 ++ 19 files changed, 635 insertions(+), 321 deletions(-) -- 1.7.10.4