Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

no sound from esd apps

Help
copy_paste
2006-04-13
2013-05-09
  • copy_paste
    copy_paste
    2006-04-13

    Hi,

    I setup cygwin esd on windows and mpg123-esd on colinux using the instructions in the faq (http://wiki.colinux.org/cgi-bin/SoundSupportInColinux), but all the audio apps I've tried seem to disconnect from esd without playing anything.

    I start the esd server from a cmd prompt in windows like this...

    esd -tcp -public -port 16001

    Then, I hear the esd beeps, which indicates it's driving the sound card successfully, and it displays...

    - accepting connections on port 16001

    At this point, I can get a connection with telnet from colinux to esd. Then, I set the ESPEAKER env variable and try using esdplay to play an mp3. I've also tried some other apps that I setup to use esd, like kontrol, xmms, and mpg123-esd. Some display an error that says they can't connect to the sound server. XMMS displays this...

    Error id3.c, line 286: fread() failed

    I captured the output from TCP Spy. Maybe someone can figure it out from this.

    This is what I get when I start esd on Windows...

    the next process to start and make a socket call will be spyed
    process attached, command line='esd -tcp -public -port 16001'
    socket (1740) created [family=AF_INET, type=SOCK_STREAM, protocol=IPPROTO_IP, dwFlags=WSA_FLAG_OVERLAPPED]
    socket (1740) enabled its nonblocking mode
    socket (1740) set one of its options [level=SOL_SOCKET, optname=SO_LINGER, l_onoff=1, l_linger=100]
    socket (1740) set one of its options [level=SOL_SOCKET, optname=SO_REUSEADDR, optval=true]
    socket (1740) bound [name=0.0.0.0:16001]
    socket (1740) established for listening [backlog=16]
    socket (1548) created [family=AF_INET, type=SOCK_DGRAM, protocol=IPPROTO_UDP, dwFlags=WSA_FLAG_OVERLAPPED]
    socket (1548) bound [name=127.0.0.1]
    socket (1548) determined its local name [name=127.0.0.1:1308]
    socket (1548) sending a datagram synchronously [len=1, to=127.0.0.1:1308]
    socket (1548) sent a datagram that is 1 bytes
    0000  00                                                .              
    socket (1548) receiving a datagram synchronously from its default address [len=1]
    socket (1548) received a datagram that is 1 bytes
    0000  00                                                .              
    socket (1740) accepting a connection synchronously without blocking
    socket (1740) could not accept a connection - WSAEWOULDBLOCK (A non-blocking socket operation could not be completed immediately)

    This is what I get when I invoke esdplay from colinux...

    socket (1548) sending a datagram synchronously [len=1, to=127.0.0.1:1308]
    socket (1548) sent a datagram that is 1 bytes
    0000  00                                                .              
    socket (1548) receiving a datagram synchronously from its default address [len=1]
    socket (1548) received a datagram that is 1 bytes
    0000  00                                                .              
    socket (1740) accepting a connection synchronously without blocking
    socket (1740) accepted a connection on new socket (1580) [addr=192.168.1.107:53408]
    socket (1580) disabled its nonblocking mode
    socket (1580) set one of its options [level=SOL_SOCKET, optname=SO_SNDBUF, optval=16384]
    socket (1580) set one of its options [level=SOL_SOCKET, optname=SO_RCVBUF, optval=16384]
    socket (1740) accepting a connection synchronously without blocking
    socket (1740) could not accept a connection - WSAEWOULDBLOCK (A non-blocking socket operation could not be completed immediately)
    socket (1580) specified an event object to be associated with the supplied set of network events and enabled its nonblocking mode [hEventObject=668, lEvent=FD_READ|FD_CLOSE]
    socket (1580) receiving data synchronously without blocking [len=20]
    socket (1580) did not receive any data, closed gracefully by peer
    socket (1580) specified an event object to be associated with the supplied set of network events and enabled its nonblocking mode [hEventObject=0, lEvent==0]
    socket (1580) disabled its nonblocking mode
    socket (1580) set one of its options [level=SOL_SOCKET, optname=SO_LINGER, l_onoff=1, l_linger=240]
    socket (1580) closed; bytes received=0, bytes sent=0
    socket (1548) sending a datagram synchronously [len=1, to=127.0.0.1:1308]
    socket (1548) sent a datagram that is 1 bytes
    0000  00                                                .              
    socket (1548) receiving a datagram synchronously from its default address [len=1]
    socket (1548) received a datagram that is 1 bytes
    0000  00                                                .              
    socket (1740) accepting a connection synchronously without blocking
    socket (1740) accepted a connection on new socket (1604) [addr=192.168.1.107:53409]
    socket (1604) disabled its nonblocking mode
    socket (1604) set one of its options [level=SOL_SOCKET, optname=SO_SNDBUF, optval=16384]
    socket (1604) set one of its options [level=SOL_SOCKET, optname=SO_RCVBUF, optval=16384]
    socket (1740) accepting a connection synchronously without blocking
    socket (1740) could not accept a connection - WSAEWOULDBLOCK (A non-blocking socket operation could not be completed immediately)
    socket (1604) specified an event object to be associated with the supplied set of network events and enabled its nonblocking mode [hEventObject=668, lEvent=FD_READ|FD_CLOSE]
    socket (1604) receiving data synchronously without blocking [len=20]
    socket (1604) did not receive any data, closed gracefully by peer
    socket (1604) specified an event object to be associated with the supplied set of network events and enabled its nonblocking mode [hEventObject=0, lEvent==0]
    socket (1604) disabled its nonblocking mode
    socket (1604) set one of its options [level=SOL_SOCKET, optname=SO_LINGER, l_onoff=1, l_linger=240]
    socket (1604) closed; bytes received=0, bytes sent=0
    socket (1548) sending a datagram synchronously [len=1, to=127.0.0.1:1308]
    socket (1548) sent a datagram that is 1 bytes
    0000  00                                                .              
    socket (1548) receiving a datagram synchronously from its default address [len=1]
    socket (1548) received a datagram that is 1 bytes
    0000  00                                                .              
    socket (1740) accepting a connection synchronously without blocking
    socket (1740) could not accept a connection - WSAEWOULDBLOCK (A non-blocking socket operation could not be completed immediately)

    I also tried using esdplay from windows to windows and captured this traffic with TCP Spy. This works and I get LOTS of data in the log.

    As I last resort, thinking it may have something to do with the TAP adapter being on a different subnet from windows, I converted from internet connection sharing to a network bridge and installed a dchp client on colinux so it could get an ip from the router like windows does. This all worked, but the same thing still happens with esd.

    Can anyone think of what may be happening or something I can try to figure this out?

    Thanks,
    Scott