pkgsrc-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
pkg/38938: audio/musicpd does not work on 64-bit sparc running NetBSD
>Number: 38938
>Category: pkg
>Synopsis: audio/musicpd does not work on 64-bit sparc running NetBSD
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Tue Jun 10 22:00:00 +0000 2008
>Originator: RM
>Release:
>Organization:
>Environment:
NetBSD ultra10 4.99.64 NetBSD 4.99.64 (GENERIC) #1: Mon Jun 2 16:01:22 BST
2008 root@ultra10:/opt/obj.sparc64/sys/arch/sparc64/compile/GENERIC sparc64
>Description:
I used to run mpd on sun4u Ultra10, NetBSD 32-bit kernel + userland. I've just
reinstalled all my software on the same machine, but as 64-bit (i.e. 64-bit
kernel + userland). I kept the same config files, but now mpd refuses to work,
it logs the following error message:
OSS device "/dev/audio" does not support 2 channels: Invalid argument
On NetBSD prototype for ioctl is:
int ioctl(int d, unsigned long request, void *argp);
On 64-bit sparc machine ints are 32-bits and longs are 64-bits, this is why
the call to ioctl was returning -1, it didn't like the fact that 2nd arg to
ioctl was 32-bit integer.
--- src/audioOutputs/audioOutput_oss.c.orig 2008-06-09 11:58:46.000000000 +0100
+++ src/audioOutputs/audioOutput_oss.c 2008-06-09 14:21:10.000000000 +0100
@@ -405,7 +405,7 @@
freeOssData(od);
}
-static int setParam(OssData * od, int param, int *value)
+static int setParam(OssData * od, unsigned long param, int *value)
{
int val = *value;
int copy;
>How-To-Repeat:
Set OSS audio output in mpd.conf file and try to play music via mpd
audio_output {
type "oss"
name "OSS"
driver "oss"
write_size "1024"
device "/dev/audio"
options "dsp=/dev/audio"
}
>Fix:
Apply the above patch to audioOutput_oss
Home |
Main Index |
Thread Index |
Old Index