diff options
author | Tanu Kaskinen <tanu.kaskinen@digia.com> | 2010-08-02 14:12:26 +0300 |
---|---|---|
committer | Tanu Kaskinen <tanu.kaskinen@digia.com> | 2010-08-10 15:19:50 +0300 |
commit | 021aa306aa614385ff2029fd152008d4f9107414 (patch) | |
tree | faada3b51ec31e46b587a7cc6c0734cb92d03454 /src/pulse/stream.c | |
parent | 1552abf62820e063e933e54372bec25f8ea2f68a (diff) |
dbusiface-core: Track sinks and sources using synchronous hooks instead of asynchronous subscription events.
Using the subscription events caused an assertion crash sometimes when a sink
was removed and a new sink was created (i.e. card profile change) and a stream
was moved from the removed sink to the new sink. The stream dbus object's
subscription callback got a change event before the core dbus object's
subscription callback got the sink remove/creation events. The stream's
subscription callback then queried the core for the object path of the new
sink, and since the core was not yet aware of the new sink, an assertion was
hit in pa_dbusiface_device_get_path().
Now that the core uses synchronous hooks to keep the sink and source lists up
to date, this particular problem can't occur anymore.
Diffstat (limited to 'src/pulse/stream.c')
0 files changed, 0 insertions, 0 deletions