Opened 16 years ago

Closed 15 years ago

Last modified 15 years ago

#13848 closed defect (fixed)

esound library routine incorrectly identifies DISPLAY on Leopard

Reported by: apple@… Owned by: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Priority: Normal Milestone:
Component: ports Version: 1.6.0
Keywords: audio Cc: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Port: esound

Description

Running Leopard's X11.app the audio/esound port cannot any longer deal with a request to play sound on a local machine when code passes the NULL parameter to identify the desired server to the esdlib.c library functions. The function esd_open_sound expects a DISPLAY variable to be something such as 0:0. Leopard uses a different scheme. esd_open_sound cannot see DISPLAYs such as /tmp/launch-A6wxg2/:0 as valid. I have a patch that works, but I am not a programmer. Soemone who understands a better way to determine whether the code is running under Leopard should fix this. I have attached my patch.

This port is not maintained.

Attachments (1)

esdlib.c.patch (476 bytes) - added by apple@… 16 years ago.
Patch for audio/esound/esound-2.38/esdlib.c

Download all attachments as: .zip

Change History (14)

Changed 16 years ago by apple@…

Attachment: esdlib.c.patch added

Patch for audio/esound/esound-2.38/esdlib.c

comment:1 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

Milestone: Port Bugs

You should file a bug with the developers of esound. Once they fix it and release a new version incorporating the fix, the port can be updated to that new version.

comment:2 Changed 16 years ago by jmpp@…

Priority: HighNormal

comment:3 Changed 15 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Cc: mcalhoun@… added

Cc Me!

comment:4 Changed 15 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Resolution: fixed
Status: newclosed

Fixed in r43674.

comment:5 Changed 15 years ago by x11@…

The supplied fix does not work on my 10.5.5 system (G5 iMac) running the latest X11.app 2.3.2_rc3 xorg-server 1.4.2-apple27 when the server is localhost and the client is localhost. It may work over a network connection. Simply adding the original patch I wrote to the current esdlib.c fixes that problem. The logic in the block where the reinplace patch was added is only reached if the server is on a remote display. A patch that checks for OS X level and the type of DISPLAY variable used should come immediately after the display = getenv( "DISPLAY"); statement. This error can also be masked if ESPEAKER is set which is needed for esdplay or XEmacs to play sounds.

comment:6 Changed 15 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Resolution: fixed
Status: closedreopened

comment:7 Changed 15 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Owner: changed from macports-tickets@… to mcalhoun@…
Status: reopenednew

comment:8 Changed 15 years ago by mf2k (Frank Schima)

Keywords: esound removed
Port: esound added

comment:9 Changed 15 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

I am having trouble reproducing the problem.

I am using 10.5.5 with XQuartz 2.3.1

port installed esound
gives
esound @0.2.41_1 (active)

echo $DISPLAY
gives
/tmp/launch-.../:0

esd &
esdsample example.wav
plays the file

Other than using a newer XQuartz, we should be testing on a similar setup.
Can you confirm that this fails to play example.wav?

If the file does play, how is esd failing?

comment:10 Changed 15 years ago by apple@…

I uninstalled esound @0.2.41_1 (which had been installed with macports 1.6) I reinstalled esound @0.2.41_1 (using macports 1.7) Then I tried the commands; they worked. However, the file sizes are different for the ones I installed Saturday and the ones installed today. Saturday's (from the backup): -rwxr-xr-x 1 royar admin 36148 2008-12-14 06:54 /DooDad/Backups.backupdb/grendel/2008-12-14-073600/Bede/opt/local/lib/libesd.0.2.39.dylib -rw-r--r-- 2 royar admin 45816 2008-12-13 13:13 /DooDad/Backups.backupdb/grendel/2008-12-14-073600/Bede/opt/local/lib/libesd.a -rwxr-xr-x 2 royar admin 51828 2008-12-14 06:55 /DooDad/Backups.backupdb/grendel/2008-12-14-073600/Bede/opt/local/bin/esd Current (from the most recent install (same version of esound, newer macports)): -rwxr-xr-x 1 royar admin 40400 2008-12-15 06:47 /optlocal/lib/libesd.0.2.39.dylib -rw-r--r-- 1 royar admin 58480 2008-12-15 06:47 /optlocal/lib/libesd.a -rwxr-xr-x 1 royar admin 47976 2008-12-15 06:48 /opt/local/bin/esd So I think the problem is fixed, but I do not know how. I really did test esd (with esdplay and the -beeps option) a number of times before I tried to reopen the bug. And I do not understand why the file sizes would be different.

comment:11 in reply to:  10 Changed 15 years ago by apple@…

Sorry for the botched formatting.

-rwxr-xr-x  1 royar admin 36148 2008-12-14 06:54 /DooDad/Backups.backupdb/grendel/2008-12-14-073600/Bede/opt/local/lib/libesd.0.2.39.dylib
-rw-r--r--  2 royar admin 45816 2008-12-13 13:13 /DooDad/Backups.backupdb/grendel/2008-12-14-073600/Bede/opt/local/lib/libesd.a
-rwxr-xr-x 2 royar admin 51828 2008-12-14 06:55 /DooDad/Backups.backupdb/grendel/2008-12-14-073600/Bede/opt/local/bin/esd
Current (from the most recent install (same version of esound, newer macports)):
-rwxr-xr-x 1 royar admin 40400 2008-12-15 06:47 /opt//local/lib/libesd.0.2.39.dylib
-rw-r--r-- 1 royar admin 58480 2008-12-15 06:47 /opt//local/lib/libesd.a
-rwxr-xr-x 1 royar admin 47976 2008-12-15 06:48 /opt/local/bin/esd

comment:12 Changed 15 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Resolution: fixed
Status: newclosed

I can not imagine what the problem was, but I am glad to hear it is working now.

comment:13 Changed 15 years ago by (none)

Milestone: Port Bugs

Milestone Port Bugs deleted

Note: See TracTickets for help on using tickets.