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.
Thanks!
Takashi