[MPlayer-users] error compiling: libao2: missing AFMT_U* defines
Reimar.Doeffinger at stud.uni-karlsruhe.de
Tue Dec 28 23:18:49 CET 2004
> I'm unable to compile MPlayer-1.0pre6 and the most recent CVS version
> unter SuSE 9.1 with vanilla 2.6.10 kernel and commercial OSS 3.99.1i
In current CVS this problem only exists with OSS output.
Normally missing formats are defined in afmt.h, but we assumed that
everyone specifying the signed variant would also specify the unsigned.
> The OSS developers think it is a mplayer bug.
> I've appended their reply below.
> PPS: Here's the response of the OSS developers regarding the bug.
> Hope that helps too!
> This is definitely a bug in mplayer.
And there are people that tell me only MPlayer developers are so
arrogant as to make such statements... Well...
> The only unsigned format being used by any hardware is AFMT_U8. The 16 and
> 24 bit formats supported by the sound cards are always signed ones. So
> trying to use formats like AFMT_U32_LE doesn't make any sense.
> I don't know where the authors of mplayer have found formats like
> AFMT_U32_LE but they don't exist in OSS and they will not be added to it
> in the future.
Where we found it? Well it can be easily found in files or as the result
of decompression. Also the fact that no soundcard _now_ supports these
formats says nothing about the future...
The only thing that might be considered a bug in our code is that anyone
who defines AFMT_S<something> will also define AFMT_U<something>.
And I think it is a bug in the commercial OSS headers not only because it
works with anything else but also that it is nonsense to call a format
explicitly "signed" if there is no and never will be a "unsigned" variant
(the linux kernel defines AFMT_U16_LE btw).
Not to mention that adding a few defines just for consistency's sake is
not much of a problem.
Ah, isn't it a nice state of things when everyone can confidently claim
it's the other one's fault? ;-)
Anyway, after latest changes to CVS the problem is confined to ao_oss.c
and should be easily fixable with a few #ifdefs. Feel free to provide a
patch or wait until somebody else does.
More information about the MPlayer-users