[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

esdrec hangs when esd is running



Hi All,

I need to use an application which uses ESD for both capture and playing of
voice (a voice chat enabled YM client for Linux).
However I've discovered that ESD based voice capture doesn't work in my
system.

Tracing down the problem, I'v get to the situation where I run esd on one
console, and then run "esdrec -b -m -r 8000 > test.raw" on the another.
Then I wait 30 seconds, and after pressing CTRL+C inpect the test.raw file -
it is 0 bytes long.

So I've tried to run "strace esdrec -b -m -r 8000 > test.raw". Strace
returns following results:

[...]
setsockopt(4, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
connect(4, {sa_family=AF_UNIX, path="/tmp/.esd/socket"}, 18) = 0
rt_sigaction(SIGPIPE, {0x40027090, [PIPE], SA_RESTORER|SA_RESTART,
0x400939d8}, {SIG_DFL}, 8) = 0
open("/home/wzab/.esd_auth", O_RDONLY)  = 6
read(6, "\r\37C@\340\32C@\314\373\377\277\0\236\0@", 16) = 16
write(4, "\r\37C@\340\32C@\314\373\377\277\0\236\0@", 16) = 16
write(4, "NDNE", 4)                     = 4
read(4, "\1\0\0\0", 4)                  = 4
close(6)                                = 0
rt_sigaction(SIGPIPE, {SIG_DFL}, {0x40027090, [PIPE],
SA_RESTORER|SA_RESTART, 0x400939d8}, 8) = 0
rt_sigaction(SIGPIPE, {0x40027090, [PIPE], SA_RESTORER|SA_RESTART,
0x400939d8}, {SIG_DFL}, 8) = 0
write(4, "\4\0\0\0", 4)                 = 4
write(4, "\20 \0\0", 4)                 = 4
write(4, "@\37\0\0", 4)                 = 4
write(4, "\0\0\0\0\0\0\0\0\0\0\0\0}x}\16\20\351\377\2778\35\1@\0"..., 128) =
128setsockopt(4, SOL_SOCKET, SO_SNDBUF, [22579], 4) = 0
setsockopt(4, SOL_SOCKET, SO_RCVBUF, [22579], 4) = 0
rt_sigaction(SIGPIPE, {SIG_DFL}, {0x40027090, [PIPE],
SA_RESTORER|SA_RESTART, 0x400939d8}, 8) = 0
read(4, 
[END]

So esdrec hangs on reading from the esd socket :-(.
Without esd running esdrec works perfectly (fallback to /dev/dsp when esd
not present?).

When i try to read or write to the /tmp/.esd/socket, I get the message:

$cat test.wav > /tmp/.esd/socket
bash: /tmp/.esd/socket: No such device or addres

$cat /tmp/.esd/socket > test.wav
cat: /tmp/.esd/socket: No such device or address

So it seems, that there is a problem with the ESD daemon :-(.
However esdplay works (both with and without ESD running).

When using bplay & brec everything works perfectly so my sound
setup seems to be correct (SB 128 PCI, kernel 2.4.21 with OSS))

What can be a reason of my problems?
I'm running debiang/testing.

-- 
		TIA & Regards,
		Wojtek Zabolotny
		wzab@ise.pw.edu.pl



Reply to: