[MPlayer-dev-eng] ao_plugin assumption about ao driver play()

Anders Johansson ajh at atri.curtin.edu.au
Mon Dec 10 11:48:06 CET 2001


Hi,

> > driver()->play _will_ play what is sent to it cause I check how much
> > free space there is before I send data into it.
>
> Not true.  For at least OSS drivers (or, at very least the emu10k1 oss
> driver), it will only play complete fragment multiples.  So, for example,
> passing 65536 bytes to emu10k1 when its in 6 channel mode, results in
> 5*12288=61440 bytes being accepted.
>
> Steve

Ok, then it was my mistake. But isn't it possible to rewrite ao_oss so
that it doesn't lie when get_space() is called? cause if it can only
take 61440 samples it shouldn't return 65536.

If this problem exists for other drivers as well then we have to do
something about it cause my frequency resampling plugin is not
deterministic in its output (there is a small +/-1 jitter on the
number of samples that are processed). I was going to solve this by
setting ao_plugin_data.sz_fix to -2 or something.

(My department is having troubles with their mailserver so mail-list
mails are filtered please forward emails to my personal email address,
will be fixed in a day or so.)

//Anders



More information about the MPlayer-dev-eng mailing list