[Gajim-devel] Fallback to OSS when no soundplayer found

Zhihao Yuan lichray at gmail.com
Mon Apr 11 18:30:15 CEST 2011

On Mon, Apr 11, 2011 at 11:17 AM, Yann Leboulanger <asterix at lagaule.org> wrote:
> On 04/11/2011 06:14 PM, Zhihao Yuan wrote:
>> On Mon, Apr 11, 2011 at 11:13 AM, Yann Leboulanger<asterix at lagaule.org>
>>  wrote:
>>> On 04/11/2011 06:09 PM, Zhihao Yuan wrote:
>>>> On Mon, Apr 11, 2011 at 11:06 AM, Yann Leboulanger<asterix at lagaule.org>
>>>>  wrote:
>>>>> On 04/11/2011 05:55 PM, Zhihao Yuan wrote:
>>>>>> Hi,
>>>>>> Maybe for a Linux user, aplay is always available; but for many
>>>>>> FreeBSD users like me, we don't have any soundplay (even ossplay)
>>>>>> installed by default. Our own oss implementation is much better than
>>>>>> 4Front's, and we don't use esound or arts.
>>>>>> This patch make use of wave and ossaudiodev which where built into
>>>>>> python, and it deal with little endian wav sound.
>>>>> I see 2 problems with that:
>>>>> 1/ it's blocking, so playing a sound blocks UI. We need to run that in
>>>>> a
>>>>> thread
>>>>> 2/ What happens if you try to play 2 sounds at the same time? (2
>>>>> contacts
>>>>> connects at the same time)
>>>> Blocking can be solved by thread.
>>>> Mixing depends on your OSS implementation. For BSDs, our kernel OSS
>>>> driver has the mixing support. Linux is the only distro (AFAIK) that
>>>> come with a OSS which does not support mixing.
>>> So we need to use your code only under BSD
>> Because Linux user have aplay, so the code won't run on their systems.
> They may not have. That doesn't hurt to adf a test.
> Could you look at running that in a thread? there is a
> gajim.thread_interface() function that will do it.

This class requires a GTK callback, but I don't need one here. Is
there a null callback for this, or can I modify this class to allow
such case?

> Thanks for your help

Zhihao Yuan
The best way to predict the future is to invent it.

More information about the Gajim-devel mailing list