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

Yann Leboulanger asterix at lagaule.org
Mon Apr 11 18:17:23 CEST 2011


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.

Thanks for your help


More information about the Gajim-devel mailing list