Bug 115829

Summary: MainActor doesn't work (OSS emulation problem)
Product: [openSUSE] SUSE LINUX 10.0 Reporter: Takashi Iwai <tiwai>
Component: SoundAssignee: Takashi Iwai <tiwai>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None    
Version: RC 1   
Target Milestone: ---   
Hardware: Other   
OS: All   
Whiteboard:
Found By: Other Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Takashi Iwai 2005-09-08 11:20:10 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;
Comment 1 Takashi Iwai 2005-09-08 11:29:27 UTC
It should be like:

   info.blocks = (runtime->oss.bytes - delay - fixup) / runtime->oss.period_bytes;
Comment 2 Takashi Iwai 2005-09-08 11:34:32 UTC
ah, no, obviously wrong again.
Comment 3 Takashi Iwai 2005-09-08 11:43:31 UTC
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.
Comment 4 Takashi Iwai 2005-09-08 19:00:39 UTC
Fixed on rc2.  The behavior of 9.3 is back when buggy-ptr option is set to pcm
proc file.