On Mon, 14.12.09 20:16, Mads Kiilerich (mads at kiilerich.com) wrote: > The streams.h documentation tells how the write pointer can be moved > with pa_stream_write() - and reset with pa_stream_flush(). > > But AFAICS there is no way to move the write pointer without writing > anything. pa_stream_write() has assertion on data not being NULL and > doesn't move the pointer if nbytes is 0. > > Is there some kind of trick that can be used? One option is to simply cache the seek position locally and then use it the next time you write again. > Would it make sense to change PA so pa_stream_write() accepts a NULL > pointer if nbytes is 0 and then just moves the write pointer? Not sure if that really is advisable. We should minimize the traffic, and thus I'd say that seeking without writing is a redundant operation... > (Is the behaviour of pa_stream_write() with nbytes = 0 currently > well-defined and working correctly? I have seen some strange some > strange errors because of that - but that might be because I don't > know what to expect.) This should return PA_ERR_INVALID, though it apparently currently does not. /me goes and fixes that. Lennart -- Lennart Poettering Red Hat, Inc. lennart [at] poettering [dot] net http://0pointer.net/lennart/ GnuPG 0x1A015CC4