[alsa-devel] alsa-lib failing at runtime

Takashi Iwai tiwai at suse.de
Wed Jan 28 15:03:38 CET 2009

At Wed, 28 Jan 2009 13:43:51 +0000,
Will Wagner wrote:
> Hi All,
> I have found a problem with alsa-lib 1.0.19 running on an embedded arm board. It all
> compiles ok but aplay fails to play a .wav file and the kernel reports this error:
> ALSA sound/core/pcm_native.c:2587: unknown ioctl = 0x80184132
> Decoding this ioctl it is SNDRV_PCM_IOCTL_CHANNEL_INFO defined in asound.h.
> The reason it is not working is that the kernel and alsa-lib think that the
> sndrv_pcm_channel_info struct is different sizes.
> The definition in asound.h is:
> struct sndrv_pcm_channel_info {
> 	unsigned int channel;
> 	off_t offset;			/* mmap offset */
> 	unsigned int first;		/* offset to first sample in bits */
> 	unsigned int step;		/* samples distance in bits */
> };
> The problem is that when compiling linux it thinks off_t is 4 bytes but when compiling
> alsa-lib it thought it was 8 bytes.
> After discussion on the buildroot mailing list (see
> http://lists.busybox.net/pipermail/buildroot/2009-January/025458.html) it seems like for
> the kernel off_t is always 4 bytes but for user space it can be either 4 or 8 bytes
> depending on whether large file support is enabled.
> It appears that the fix is that the type of offset should be changed to long.
> Hope this all makes sense.

Yes, you're right.  I thought I've already fixed this, but it seems it
didn't go out from my local tree and forgot since then.

Now fixed on GIT tree.



More information about the Alsa-devel mailing list