[pulseaudio-discuss] [PATCH 0/7] Fix for an echo-cancel related crash

Tanu Kaskinen tanuk at iki.fi
Tue Mar 22 13:41:23 UTC 2016


This is my second attempt at fixing bug 93443[1]. The first attempt[2]
had a nasty side effect of killing streams connected to any filter
sink while the filter sink was removed. This second attempt is an
entirely different approach.

The first patch is the "main" fix, but I think the second patch must
be applied together with it, because after implementing the first fix,
the result was that module-device-manager went into some infinite
stream moving loop that was only stopped by a crash in
module-echo-cancel (that crash is a separate issue, which I'll try to
fix next).

When trying to reproduce the use case of bug 93443, I found that
module-device-manager can easily break the filtering set up by
module-filter-apply. The third patch fixes that.

The last four patches refactor stream proplist updating. The third
patch has code that sets a property, and getting the property update
logging just the way I want was frustrating, so I changed the core
property updating code to take care of the logging.

[1] https://bugs.freedesktop.org/show_bug.cgi?id=93443
[2] http://thread.gmane.org/gmane.comp.audio.pulseaudio.general/24735

Tanu Kaskinen (7):
  echo-cancel: rework move handling
  don't move streams to devices that are going away
  device-manager, filter-apply: don't reroute streams that have a filter
  sink-input, source-output: rework property setting
  sink-input, source-output: remove set_name()
  loopback: refactor proplist updating
  filter-apply: simplify proplist updating

 src/modules/echo-cancel/module-echo-cancel.c |  28 ++----
 src/modules/module-device-manager.c          |  14 +++
 src/modules/module-filter-apply.c            |  11 +-
 src/modules/module-loopback.c                |  28 +++---
 src/pulsecore/protocol-native.c              |   4 +-
 src/pulsecore/sink-input.c                   | 145 +++++++++++++++++++++------
 src/pulsecore/sink-input.h                   |   4 +-
 src/pulsecore/sink.c                         |   7 +-
 src/pulsecore/sink.h                         |   6 ++
 src/pulsecore/source-output.c                | 145 +++++++++++++++++++++------
 src/pulsecore/source-output.h                |   4 +-
 src/pulsecore/source.c                       |   5 +
 src/pulsecore/source.h                       |   6 ++
 13 files changed, 304 insertions(+), 103 deletions(-)

-- 
2.7.0



More information about the pulseaudio-discuss mailing list