summaryrefslogtreecommitdiffstats
path: root/src/pulsecore/sink.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/pulsecore/sink.c')
-rw-r--r--src/pulsecore/sink.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/pulsecore/sink.c b/src/pulsecore/sink.c
index 298cc881..11334037 100644
--- a/src/pulsecore/sink.c
+++ b/src/pulsecore/sink.c
@@ -1529,8 +1529,10 @@ int pa_sink_process_msg(pa_msgobject *o, int code, void *userdata, int64_t offse
s->thread_info.state = PA_PTR_TO_UINT(userdata);
- if (s->thread_info.state == PA_SINK_SUSPENDED)
+ if (s->thread_info.state == PA_SINK_SUSPENDED) {
+ s->thread_info.rewind_nbytes = 0;
s->thread_info.rewind_requested = FALSE;
+ }
return 0;
@@ -1730,7 +1732,7 @@ pa_usec_t pa_sink_get_requested_latency(pa_sink *s) {
return usec;
}
-/* Called from IO thread */
+/* Called from IO as well as the main thread -- the latter only before the IO thread started up */
void pa_sink_set_max_rewind(pa_sink *s, size_t max_rewind) {
pa_sink_input *i;
void *state = NULL;
@@ -1751,7 +1753,7 @@ void pa_sink_set_max_rewind(pa_sink *s, size_t max_rewind) {
pa_source_set_max_rewind(s->monitor_source, s->thread_info.max_rewind);
}
-/* Called from IO thread */
+/* Called from IO as well as the main thread -- the latter only before the IO thread started up */
void pa_sink_set_max_request(pa_sink *s, size_t max_request) {
void *state = NULL;