[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