<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - The client has not a chance to provide data, when absolute offset is used in a stream without prebuffering and underrun happend for long time"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=103103#c5">Comment # 5</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - The client has not a chance to provide data, when absolute offset is used in a stream without prebuffering and underrun happend for long time"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=103103">bug 103103</a>
              from <span class="vcard"><a class="email" href="mailto:mkid.dev@gmail.com" title="mkid.dev@gmail.com">mkid.dev@gmail.com</a>
</span></b>
        <pre>Scenario for the problem based on attached images:
a. when after 3 seconds of playback, the application stops provide data,
writable_size increased due to request send by PA server,
b. when after 30 seconds, when the application wants to start provide data the
pa_stream_writable_size() returns 2639040 bytes,
c. the application writes 2639040 bytes in less than 5 ms without
pa_stream_write() error,
d. after 3 ms from last write, "overflow" notification callback is called for
almost all earlier invocation of pa_stream_write (on my machine data for only
1.5 s is preserved, it is also effect that some of data are written to late),
e. due to "overflow" most of data are dropped, but due to already increased
write_index, PA server will play silence and the application will be blocked
due to no space left, till read index does not catch write index.

IMHO pa_stream_writable_size() does not return valid information in this case
and is a source of later problems.

Configuration of buffer: pa_buffer_attr bufattr = {.maxlength = 122880,
.tlength = 38400, .prebuf = 0, .minreq = 1920, .fragsize = 0}, mirrors
configuration of GStreamer's pulseaudio element.</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the QA Contact for the bug.</li>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>