I am hearing that very very short sounds, smaller than hw buffer size, occasionally not heard.  The initial portion of audio is silenced.  If i remove the rewind request from protocal-native.c, then the problem is resolved, but other issues are there, audible glitches when doing volume changes.<br>
<br><div class="gmail_quote">On Sun, May 1, 2011 at 12:22 AM, Tanu Kaskinen <span dir="ltr">&lt;<a href="mailto:tanuk@iki.fi">tanuk@iki.fi</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">On Sat, 2011-04-30 at 15:38 -0700, Baek Chang wrote:<br>
&gt; Hi,<br>
&gt;<br>
&gt; I&#39;m seeing some issue with underruns/rewinds occurring on the beginning of<br>
&gt; every sink input playback.<br>
&gt; I see rewind requests on alsa sink of 9600 bytes.  The alsa driver is<br>
&gt; configured with the following buffer sizes<br>
&gt;<br>
&gt; I: sink.c:     device.buffering.buffer_size = &quot;9600&quot;<br>
&gt; I: sink.c:     device.buffering.fragment_size = &quot;4800&quot;<br>
&gt;<br>
&gt; So it seems like one buffer size is always being rewinded on the beginning<br>
&gt; of playback.<br>
&gt; Is there a way to prevent these rewinds/underruns when starting playback?<br>
<br>
</div>Not to my knowledge, except by changing the code.<br>
<div class="im"><br>
&gt;  after the stream has started, there is no issue with audio dropouts or<br>
&gt; underruns, just on the beginning.<br>
&gt;<br>
&gt; If i log the data that gets sent to alsa, from pulseaudio or in the alsa<br>
&gt; driver, i do see the beginning being dropped as well.<br>
&gt;<br>
&gt; please see attached logs using both tshed=0 and tsched=1.<br>
&gt;<br>
&gt; any help with this?<br>
&gt; thanks!<br>
<br>
</div>Are there any real problems with this rewinding, like the beginning of<br>
the stream disappearing, or an audible drop-out in the audio? The sink<br>
buffer has to be always rewound when a new stream is created, because<br>
initially the sink buffer contains silence. That silence has to be<br>
overwritten with the stream data, so that there&#39;s no unnecessary latency<br>
due to waiting for the silence to be played.<br>
<br>
That said, the underrun seems strange, because it happens after the<br>
&quot;Requesting rewind due to end of underrun&quot; message. I don&#39;t know the<br>
code well enough to be sure that it indicates any error, though. If the<br>
messages would be ordered the other way around, then it would make more<br>
sense: first when the stream is created, the buffer doesn&#39;t have any<br>
data, but when the prebuffering phase ends, then a rewind is requested<br>
on the sink to allow the stream playback to start immediately.<br>
<br>
I don&#39;t know if this was helpful at all...<br>
<font color="#888888"><br>
--<br>
Tanu<br>
<br>
_______________________________________________<br>
pulseaudio-discuss mailing list<br>
<a href="mailto:pulseaudio-discuss@mail.0pointer.de">pulseaudio-discuss@mail.0pointer.de</a><br>
<a href="https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss" target="_blank">https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss</a><br>
</font></blockquote></div><br><br clear="all"><br>-- <br>-baeksanchang<br>