]> code.delx.au - pulseaudio/commit
sink: Process rewind requests also when suspended.
authorTanu Kaskinen <tanuk@iki.fi>
Thu, 30 Aug 2012 13:50:13 +0000 (16:50 +0300)
committerArun Raghavan <arun.raghavan@collabora.co.uk>
Fri, 16 Nov 2012 17:46:05 +0000 (23:16 +0530)
commit29f064aa3d3a83e275361aad3f9e7efdc84b8ad0
tree414fea43b6da17ba94b7d37020702aedf30168cc
parentcd1102cce01e47645ed03ddf46a0a8b80d65fc9e
sink: Process rewind requests also when suspended.

When a rewind is requested on a sink input, the request parameters are
stored in the pa_sink_input struct. The parameters are reset during
rewind processing, and if the sink decides to ignore the rewind
request due to being suspended, stale parameters are left in
pa_sink_input. It's particularly problematic if the rewrite_bytes
parameter is left at -1, because that will prevent all future rewind
processing on that sink input. So, in order to avoid stale parameters,
every rewind request needs to be processed, even if the sink is
suspended.

Reported-by: Uoti Urpala
14 files changed:
src/modules/alsa/alsa-sink.c
src/modules/jack/module-jack-sink.c
src/modules/macosx/module-coreaudio-device.c
src/modules/module-combine-sink.c
src/modules/module-esound-sink.c
src/modules/module-null-sink.c
src/modules/module-pipe-sink.c
src/modules/module-solaris.c
src/modules/module-tunnel.c
src/modules/module-waveout.c
src/modules/oss/module-oss.c
src/modules/raop/module-raop-sink.c
src/modules/xen/module-xenpv-sink.c
src/pulsecore/sink.c