Bugzilla – Bug 115829
MainActor doesn't work (OSS emulation problem)
Last modified: 2005-09-08 19:00:39 UTC
MainActor produces no sound at all. The problem is that oss GETOPTR ioctl returns unexpected values. It seems that blocks field is wrong. For example, when the stream is prepared but nothing written, blocks should return 0. In the current code, it's not: info.blocks = (runtime->oss.buffer_bytes - delay - fixup) / runtime->oss.period_bytes;
It should be like: info.blocks = (runtime->oss.bytes - delay - fixup) / runtime->oss.period_bytes;
ah, no, obviously wrong again.
Looks like we need a workaround for this with a new flag. Some apps assume that blocks means the empty blocks and some apps the filled blocks. Looking at oss/audio.c and oss/dmabuf.c, the latter seems major.
Fixed on rc2. The behavior of 9.3 is back when buggy-ptr option is set to pcm proc file.