[pulseaudio-discuss] [PATCH 0/3] Results from debugging a rewind problem

Tanu Kaskinen tanu.kaskinen at digia.com
Thu Sep 29 08:54:00 PDT 2011


module-null-sink has a bug (fix to be posted later) that
causes it to use 10 second buffer instead of the intended 2
second buffer. That's actually sort of nice, because that
made another bug visible. When moving streams away from the
null sink, streams sometimes played silence for a while to
the new sink. The culprit turned out to be a bug in rewind
handling when a stream moving is finished. The first patch
fixes that.

The second patch just adds some documentation and FIXME
notes - a result of thinking through what really should
happen when a stream is moved.

The third patch adds some assistance for debugging future
bugs. The added memblockq information was successfully used
in debugging this rewinding bug.

Tanu Kaskinen (3):
  sink: Move updating the requested latency after the rewind request
    when finishing a stream move.
  sink: Add some comments about the rewind handling during stream
    moves.
  memblockq: Improve debuggability by storing a name and a sample spec.

 src/modules/echo-cancel/module-echo-cancel.c |    8 +-
 src/modules/module-combine-sink.c            |    3 +-
 src/modules/module-equalizer-sink.c          |    4 +-
 src/modules/module-ladspa-sink.c             |    2 +-
 src/modules/module-loopback.c                |    3 +-
 src/modules/module-virtual-sink.c            |    2 +-
 src/modules/module-virtual-source.c          |    4 +-
 src/modules/rtp/module-rtp-recv.c            |    3 +-
 src/modules/rtp/module-rtp-send.c            |    3 +-
 src/pulse/stream.c                           |    3 +-
 src/pulsecore/memblockq.c                    |   15 +++-
 src/pulsecore/memblockq.h                    |   11 ++-
 src/pulsecore/play-memchunk.c                |    2 +-
 src/pulsecore/protocol-esound.c              |    6 +-
 src/pulsecore/protocol-http.c                |    3 +-
 src/pulsecore/protocol-native.c              |   12 +++-
 src/pulsecore/protocol-simple.c              |    6 +-
 src/pulsecore/sink-input.c                   |   24 +++++---
 src/pulsecore/sink.c                         |   87 ++++++++++++++++++++++++--
 src/pulsecore/sound-file-stream.c            |    2 +-
 src/pulsecore/source-output.c                |    6 +-
 src/tests/memblockq-test.c                   |    7 ++-
 22 files changed, 167 insertions(+), 49 deletions(-)

-- 
1.7.6



More information about the pulseaudio-discuss mailing list