https://bugs.freedesktop.org/show_bug.cgi?id=54251
Bug #: 54251
Summary: protocol-esound, protocol-simple: Rewind after
underrun can be too large
Classification: Unclassified
Product: PulseAudio
Version: unspecified
Platform: Other
OS/Version: All
Status: NEW
Severity: normal
Priority: medium
Component: core
AssignedTo: [email protected]
ReportedBy: [email protected]
QAContact: [email protected]
CC: [email protected]
Rewinding after an underrun should be done like this:
pa_sink_input_request_rewind(s->sink_input, (size_t)
(s->sink_input->thread_info.underrun_for == (uint64_t) -1 ? 0 :
s->sink_input->thread_info.underrun_for), FALSE, TRUE, FALSE);
(The example is from protocol-native.c.)
That ensures that the received data won't overwrite valid data in case the
underrun was so short that the sink still has data left from time before the
underrun started.
protocol-esound.c currently does this:
pa_sink_input_request_rewind(c->sink_input, 0, FALSE, TRUE, FALSE);
Giving zero as the rewind amount means that a full rewind will be done,
regardless of whether valid data might get overwritten. If valid data gets
overwritten, there will be a skip in the audio.
protocol-simple.c has the same bug.
--
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA Contact for the bug.
You are the assignee for the bug.
_______________________________________________
pulseaudio-bugs mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-bugs