Hi,

I'm reposting this problem here as per suggestion on the OSS forums.

So here we go. I have this problem - the channel order gets messed up
during the playback. Everything starts up just fine, but then at some
time during the playback the channel order changes (i.e., center goes
to subwoofer or front left, it looks like other channels shift
accordingly). The seek or pause (which causes the player to close and
reopen the dsp device) will always set the channel order back to
normal. 
 
The problem is far more frequent when the system is under heavy load.
When the system is otherwise idle, the problem happens quite rarely
(once or twice during a 2 hour movie, sometimes not at all). However,
when the system is loaded (either CPU or disk IO), the problem happens
every few minutes, even though the playback is otherwise smooth. It
seems that something is expecting a real-time response. 

I only use mplayer and OSS for playback, so it's gotta be either one
of these causing problems. First I assumed it's mplayer, and, to
verify that, tried a program similar to osstest, except with different
sound on each channel. The playback was fine, regardless of the system
load.  So I posted a similar message to the mplayer's mailing list
(http://article.gmane.org/gmane.comp.video.mplayer.user/58887), and
have yet to receive any response... 

However, in the meantime, since my linux kernel was due for upgrade
anyway, I decided to try ALSA drivers and see what happens. And guess
what, the problem goes away. I used ALSA with OSS emulation, and
mplayer with exactly the same setup (i.e., output through OSS). So now
I'm not so sure anymore that the problem is with mplayer. It seems
instead that this is either an outright OSS bug, or, more likely, the
change in the OSS API semantics. 

The difference between OSS and ALSA is best seen when the system is
heavily loaded. When using OSS, the channel order is pretty much
random and the audio is choppy. But when using ALSA, the sound stays
smooth all the way until the player starts dropping samples due to the
sync problems (which requires a much higher system load), and the
channel order never changes. 

System info: I tried OSS b1011, b1012, b1016, and b1050, VMIX disabled
whenever possible. The machine is AMD64 quad-core, audio chip is
CMI8788, I tried Debian and Solaris OS. Problem is always present to a
varying degree. It is almost negligible on Linux when the machine is
idle and VMIX is disabled. 

I would appreciate any suggestions on how to resolve this problem. 

Thanks in advance.

_______________________________________________
oss-devel mailing list
oss-devel@mailman.opensound.com
http://mailman.opensound.com/mailman/listinfo/oss-devel

Reply via email to