New Ticket     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Ticket #13848 (closed defect: fixed)

Opened 2 years ago

Last modified 10 months ago

esound library routine incorrectly identifies DISPLAY on Leopard

Reported by: apple@… Owned by: mcalhoun@…
Priority: Normal Milestone:
Component: ports Version: 1.6.0
Keywords: audio Cc: mcalhoun@…
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

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

Change History

Changed 2 years ago by apple@…

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

  Changed 2 years ago by ryandesign@…

  • milestone set to 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.

  Changed 2 years ago by jmpp@…

  • priority changed from High to Normal

  Changed 14 months ago by mcalhoun@…

  • cc mcalhoun@… added

Cc Me!

  Changed 14 months ago by mcalhoun@…

  • status changed from new to closed
  • resolution set to fixed

Fixed in r43674.

  Changed 14 months 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.

  Changed 14 months ago by mcalhoun@…

  • status changed from closed to reopened
  • resolution fixed deleted

  Changed 14 months ago by mcalhoun@…

  • status changed from reopened to new
  • owner changed from macports-tickets@… to mcalhoun@…

  Changed 14 months ago by macsforever2000@…

  • keywords esound removed
  • port set to esound

  Changed 14 months ago by mcalhoun@…

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?

follow-up: ↓ 11   Changed 14 months 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 /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 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.

in reply to: ↑ 10   Changed 14 months 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

  Changed 14 months ago by mcalhoun@…

  • status changed from new to closed
  • resolution set to fixed

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

  Changed 10 months ago by anonymous

  • milestone Port Bugs deleted

Milestone Port Bugs deleted

Note: See TracTickets for help on using tickets.