Hey, On 09/12/2011 02:14 PM, joerg-cyril.hoe...@t-systems.com wrote: > Hi, > > Bug #28056 involving FreeBSD and OSS exhibits: > warn:oss:AudioRenderClient_ReleaseBuffer write failed: 35 (Resource > temporarily unavailable) > > My own notes from times as old as wine-1.1.8 show the same error with ALSA: > err:wave:wodPlayer_WriteMaxFrags Error in writing wavehdr. Reason: Resource > temporarily unavailable > > The symbolic errno constant is EAGAIN=EWOULDBLOCK. So we look at write manpage..
EAGAIN or EWOULDBLOCK The file descriptor fd refers to a socket and has been marked nonblocking (O_NONBLOCK), and the write would block. POSIX.1-2001 allows either error to be returned for this case, and does not require these constants to have the same value, so a portable appliā cation should check for both possibilities. > Does anybody have a suspicion when/why this happens? > - is audio simply not reliable? > - is Wine not correctly driving audio output? > - ...? > > FWIW, my test experiments outside Wine recently produced EWOULDBLOCK > once despite non-blocking mode in ALSA, when attempting to write a small > number of frames, less than period_size. > > Is this failure really temporary or would it be safer > to close or reset the audio device given such an error value? > What's your experience? > Usually: you're trying to put more data in the audio buffer than the amount that can written. Similar errors happen on alsa, when trying to write > snd_pcm_avail(); Looks like a bug to me. ~Maarten