On Tue, 2012-04-17 at 14:32 -0500, Andrew Eikum wrote: > On Tue, Apr 17, 2012 at 10:24:50PM +0300, Tanu Kaskinen wrote: > > On Tue, 2012-04-17 at 14:15 -0500, Andrew Eikum wrote: > > > On Tue, Apr 17, 2012 at 09:58:05PM +0300, Tanu Kaskinen wrote: > > > > May I ask what you're trying to achieve? It's not immediately obvious to > > > > me how pa_stream_flush() could be useful for record streams at all. > > > > > > > > > > I'm working on a PulseAudio driver for Wine. One of the functions the > > > driver needs to perform is a "Reset" which dumps all of the data > > > sitting in the record buffer and resets the readable size to 0. I was > > > hoping to use pa_stream_readable_size() in order to tell how much data > > > is in the buffer ready to be read, but that seems incompatible with > > > the requirement of dumping the data on Reset. > > > > By "dumping", do you mean discarding the data? If so, wouldn't it work > > if you would call pa_stream_read() on "Reset" and just throw away that > > data? That way the client-side buffer would be emptied. You could call > > pa_stream_flush() prior to that, if you think flushing also the > > server-side data is in some way useful. > > > > Yep, that would probably work :) The documentation implied that flush > would do what I wanted in a single function call, so I tried that > instead. Then I reported here when it behaved differently from how I > expected it to. > > PS: Client-side buffer? Server-side data? Should I know or care about > that as an application developer? Is there an explanation someplace > about how that might affect my application? No, you shouldn't need to care. Btw, would you like to file a bug about the behavior of pa_stream_flush()? If not, I can do it also. -- Tanu