trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: February 2014

Re: [trinity-devel] Latest Build broke ALSA sound (play works - aplay screaches)

From: "David C. Rankin" <drankinatty@...>
Date: Tue, 11 Feb 2014 02:53:56 -0600
On 02/11/2014 01:26 AM, David C. Rankin wrote:
> On 02/11/2014 12:21 AM, David C. Rankin wrote:
>> On 02/10/2014 10:16 PM, Darrell Anderson wrote:
>>>>  It sounded great. So checking, play is provided by sox 14.4.1-4. 
>>>> That begs the
>>>> question, Why does play work fine but aplay fail?
>>>
>>> I believe aplay does not support ogg and only supports wav. Don't 
>>> ask --- I don't know why.
>>>
>>> Darrell
>>>
>>
>>   I think .xsession-errors has some hints:
>>
>> /opt/trinity/bin/artsd: symbol lookup error: /opt/trinity/lib/libarts_xine.so.0:
>> undefined symbol: ao_new_port
>>
>>   ao_new_port is something tdemultimedia looks for in xine during build and it
>> is not present on my system -- never has been. From the tdemultimedia logs:
>>
>> tde-tdemultimedia-i686.log:648:checking for _x_ao_new_port in -lxine... no
>> tde-tdemultimedia-i686.log:649:checking for ao_new_port... no
>>
>> tde-tdemultimedia-x86_64.log:647:checking for _x_ao_new_port in -lxine... no
>> tde-tdemultimedia-x86_64.log:648:checking for ao_new_port... no
>>
>>   The only difference in the build this time regarding arts or tdemultimedia was
>> that I built arts with WITH_GCC_VISIBILITY=ON.
>>
>>    cmake ${srcdir}/arts/ \
>>       -DCMAKE_INSTALL_PREFIX=${TDEDIR} \
>>       -DWITH_GCC_VISIBILITY=ON \
>>      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>>       -DCMAKE_BUILD_TYPE=Release
>>
>>   I do NOT think this was a good idea. For some reason, I don't think the code
>> (or the cmake build) is fully checked/ready for enabling this explicitly in all
>> cases. I'll test without the option and report back.
>>
>>
> 
> This is getting stranger:
> 
>   Darrell, you were correct, aplay will play .wav files just fine. I rebuilt
> both arts and tdemultimedia - no change. From the command line, both 'play' and
> 'aplay' work fine, but TDE will not play any sound. I open kcontrol -> Sound
> System -> [Test Sound] and I get nothing. I click the litte |> next to any sound
> event file - same result, no sound.
> 
>   Checking .xsession-errors, each time I try playing the a sound, I get the
> following:
> 
> unix_connect: can't connect to server
> (unix:/tmp/tdesocket-david/localhost.localdomain-02d0-52f9c6b6)
> unable to connect to sound server
> unix_connect: can't connect to server
> (unix:/tmp/tdesocket-david/localhost.localdomain-02d0-52f9c6b6)
> unable to connect to sound server
> unix_connect: can't connect to server
> (unix:/tmp/tdesocket-david/localhost.localdomain-02d0-52f9c6b6)
> unable to connect to sound server
> unix_connect: can't connect to server
> (unix:/tmp/tdesocket-david/localhost.localdomain-02d0-52f9c6b6)
> unable to connect to sound server
> [tdeinit] Got EXEC_NEW 'artsd' from launcher.
> [tdeinit] artsd is executable. Launching.
> unix_connect: can't connect to server
> (unix:/tmp/tdesocket-david/localhost.localdomain-02d0-52f9c6b6)
> unable to connect to sound server
> [artsd] There are already artsd objects registered, looking if they are active...
> unix_connect: can't connect to server
> (unix:/tmp/tdesocket-david/localhost.localdomain-02d0-52f9c6b6)
> unable to connect to sound server
> [artsd] ... cleaned 5 unused mcop global references.
> 
> server status: running, will suspend in 6 s
> real-time status: no real-time support
> server buffer time: 53.288 ms
> buffer size multiplier: 1
> minimum stream buffer time: 53.288 ms
> auto suspend time: 7 s
> audio method: alsa
> sampling rate: 44100
> channels: 2
> sample size: 16 bits
> duplex: half
> device: default
> fragments: 10
> fragment size: 940
> [tdeinit] Got EXT_EXEC 'knotify' from launcher.
> artsd: symbol lookup error: /opt/trinity/lib/libarts_xine.so.0: undefined
> symbol: ao_new_port
> [tdeinit] Got EXEC_NEW '/opt/trinity/bin/artsd' from socket.
> [tdeinit] /opt/trinity/bin/artsd is executable. Launching.
> [artsd] There are already artsd objects registered, looking if they are active...
> unix_connect: can't connect to server
> (unix:/tmp/tdesocket-david/localhost.localdomain-02e1-52f9c6c6)
> [artsd] ... cleaned 5 unused mcop global references.
> 
>   Checking /tmp/tdesocket-david/localhost.localdomain-02d0-52f9c6b6, it is there
> and easily accessible, so I don't know what that unix_connect error is all
> about. The bottom line, something is active very differently with this set of
> package regarding sound. Let me know if you have any other thoughts. We'll look
> at this more later.
> 

Just so it is clear. After update from the packages built on 1/29 to packages
built on 2/8, sound event notifications no longer work in TDE. Using play or
aplay from the command line in konsole, both WORK FINE:

02:37 valhalla:~> aplay /opt/trinity/share/sounds/KDE_Window_Open.wav
Playing WAVE '/opt/trinity/share/sounds/KDE_Window_Open.wav' : Signed 16 bit
Little Endian, Rate 22050 Hz, Stereo
02:37 valhalla:~> play /opt/trinity/share/sounds/KDE_Startup_1.ogg

/opt/trinity/share/sounds/KDE_Startup_1.ogg:

 File Size: 124k      Bit Rate: 125k
  Encoding: Vorbis
  Channels: 2 @ 16-bit
Samplerate: 44100Hz
Replaygain: off
  Duration: 00:00:07.95

In:100%  00:00:07.95 [00:00:00.00] Out:382k  [      |      ] Hd:0.1 Clip:3
play WARN rate: rate clipped 2 samples; decrease volume?
play WARN dither: dither clipped 1 samples; decrease volume?
Done.

  However, as soon as any sound event in TDE is triggered (such as on shade), I
get the following dumped into the .xsession-errors file:

unix_connect: can't connect to server
(unix:/tmp/tdesocket-david/localhost.localdomain-04ac-52f9cdd8)
(The previous message was repeated 2 times.)
unix_connect: can't connect to server
(unix:/tmp/tdesocket-david/localhost.localdomain-04e5-52f9cde2)
[tdeinit] Got EXEC_NEW '/opt/trinity/bin/artsd' from socket.
[tdeinit] /opt/trinity/bin/artsd is executable. Launching.
[artsd] There are already artsd objects registered, looking if they are active...
[artsd] ... cleaned 5 unused mcop global references.

/opt/trinity/bin/artsd: symbol lookup error: /opt/trinity/lib/libarts_xine.so.0:
undefined symbol: ao_new_port
unix_connect: can't connect to server
(unix:/tmp/tdesocket-david/localhost.localdomain-04e5-52f9cde2)
(The previous message was repeated 1 times.)
unix_connect: can't connect to server
(unix:/tmp/tdesocket-david/localhost.localdomain-05c9-52f9e0cf)
[tdeinit] Got EXEC_NEW '/opt/trinity/bin/artsd' from socket.
[tdeinit] /opt/trinity/bin/artsd is executable. Launching.
[artsd] There are already artsd objects registered, looking if they are active...
[artsd] ... cleaned 5 unused mcop global references.

/opt/trinity/bin/artsd: symbol lookup error: /opt/trinity/lib/libarts_xine.so.0:
undefined symbol: ao_new_port

  So where is TDE trying to make the call for the sound event resulting in the
unix_connect error?

-- 
David C. Rankin, J.D.,P.E.