Bug 115829 - MainActor doesn't work (OSS emulation problem)
Summary: MainActor doesn't work (OSS emulation problem)
Status: RESOLVED FIXED
Alias: None
Product: SUSE LINUX 10.0
Classification: openSUSE
Component: Sound (show other bugs)
Version: RC 1
Hardware: Other All
: P5 - None : Normal
Target Milestone: ---
Assignee: Takashi Iwai
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-09-08 11:20 UTC by Takashi Iwai
Modified: 2005-09-08 19:00 UTC (History)
0 users

See Also:
Found By: Other
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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.