summaryrefslogtreecommitdiffstats
path: root/src/pulse/stream.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2010-01-18 01:33:04 +0100
committerColin Guthrie <cguthrie@mandriva.org>2010-02-09 22:45:59 +0000
commit66cfa72eb4fd4669dfd7e465c07c41bb7e6d3d85 (patch)
treeac2d6575205b0e364cf869d991e3894bcc4844c0 /src/pulse/stream.c
parentd09099526220fb87ac8c4f6bae298b23744d0dae (diff)
native: rework handling of seeks that depend on variables the client does not know anything about
All seeks/flushes that depend on the playback buffer read pointer cannot be accounted for properly in the client since it does not know the actual read pointer. Due to that the clients do not account for it at all. We need do the same on the server side. And we did, but a little bit too extreme. While we properly have not applied the changes to the "request" counter we still do have to apply it to the "missing" counter. This patch fixes that.
Diffstat (limited to 'src/pulse/stream.c')
-rw-r--r--src/pulse/stream.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/pulse/stream.c b/src/pulse/stream.c
index 5e42ab28..36514e0e 100644
--- a/src/pulse/stream.c
+++ b/src/pulse/stream.c
@@ -2154,6 +2154,11 @@ pa_operation* pa_stream_flush(pa_stream *s, pa_stream_success_cb_t cb, void *use
* index, but the read index might jump. */
invalidate_indexes(s, TRUE, FALSE);
+ /* Note that we do not update requested_bytes here. This is
+ * because we cannot really know how data actually was dropped
+ * from the write index due to this. This 'error' will be applied
+ * by both client and server and hence we should be fine. */
+
return o;
}