On 2012/06/09 19:23, Alexandr Shadchin wrote:
> > $ pgrep -lf sndio
> > 14709 /usr/bin/sndiod -v 109 -b 47040 -a off -fsun:1 -L -
> 
> May be need use -frsnd/1 ?

I tried this, it doesn't change anything (also other programs work
OK with sun:1).


On 2012/06/09 15:04, Alexandre Ratchov wrote:
> On Sat, Jun 09, 2012 at 12:58:16PM +0100, Stuart Henderson wrote:
> > 
> > Any idea about this? Does it seem more likely to be a problem with
> > deadbeef or with sndiod? It's not too important whether the resampling
> > is done in sndiod or in deadbeef but it doesn't work anywhere for me.
> > 
> > File is 22KHz stereo (though I get the same with any non-48KHz files
> > that I've tried).
> > 
> 
> does this help? Here, it fixes playback of stereo, 22050Hz, u8
> files.  At least on the command line, the GUI still crashes when I
> load such a file through File->Open dialog.

Nope, same thing.

sndio.c is checking the actual parameters coming back from sndio
and comparing against the requested params, when they don't match
it exits with an error. e.g. if I print par.bits and askpar.bits
and other settings near the par.rate != askpar.rate check, I get

bps 2 2, sig 1 1, pchan 2 2, rate 48000 44100

(askpar.bits==44100, par.bits==48000).

Comment out that check completely and I get

streamer_set_output_format 16bit int 2ch 44100Hz channelmask=3
streamer_set_output_format 16bit int 2ch 44100Hz channelmask=3, bufferfill: 0
aucat_open: host= unit=0 devnum=0 opt=default
/tmp/aucat-1000/aucat0: No such file or directory
aucat_rmsg: eof
aucat_init: mode refused
sio_sun_setpar: 0: trying pars = 48000/16/6
sio_sun_setpar: bpf = (1, 4)
sio_sun_setpar: 0: trying round = 600 -> (9600, 600)
sio_sun_setpar: blocksize ok
sio_sun_setpar: 0: trying pars = 44100/16/6
sio_sun_setpar: bpf = (1, 4)
sio_sun_setpar: 0: trying round = 6000 -> (9600, 6000)
sio_sun_setpar: blocksize ok
0.000233: sio_write: wrote 24000 bytes of 24000 in 15us

Program received signal SIGSEGV, Segmentation fault.
[Switching to thread 1004030]
0x00000000004106ed in streamer_read_async (bytes=0x834fc0 "", size=Variable 
"size" is not available.
) at streamer.c:1876
1876                    int tempsize = pcm_convert (&fileinfo->fmt, input, 
&dspfmt, tempbuf, inputsize);
(gdb) bt
#0  0x00000000004106ed in streamer_read_async (bytes=0x834fc0 "", size=Variable 
"size" is not available.
) at streamer.c:1876
#1  0x0000000000411b9c in streamer_thread (ctx=Variable "ctx" is not available.
) at streamer.c:1411
#2  0x000000020111768e in _rthread_start (v=Variable "v" is not available.
) at /usr/src/lib/librthread/rthread.c:113
#3  0x000000020863107e in __tfork_thread () from /usr/lib/libc.so.64.1
Cannot access memory at address 0x205b9c000




Reply via email to