pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Firefox + alsa + oss problem



Hi,

From: Izumi Tsutsui <tsutsui%ceres.dti.ne.jp@localhost>, Date: Sat, 11 Feb 2017 00:27:02 +0900

> I wrote:
> (in http://mail-index.netbsd.org/pkgsrc-users/2017/01/08/msg024230.html )
> 
>> > Sound (e.g, youtube videos) doesn't work for me either anymore with the
>> > new default package options "alsa dbus":
>> > 
>> >  alsa_stream_destroy: pthread_cond_destroy failed: Invalid argument
>> > 
>> > I also tried with pulseaudio and that didn't work either, but I didn't
>> > see any error messages.
>> 
>> pkgsrc firefox (default ALSA option) + alsa-plugins-oss doesn't work here,
>> but pkgsrc firefox (default ALSA option) + alsa-plugins-pulse works for me
> 
> I'd like to share information I investigated today.
> 
> - firefox uses "FLOAT32NE" (native endian) for sound format
>  - ryoon@ says firefox config to use int16_t format doesn't work well
> 
> - alsa-plugins-oss doesn't support FLOAT32 format
>  - I'm not sure if NetBSD's oss itself supports float format though
> 
> - pulseaudio seems to support FLOAT32 format so alsa-plugins-pulse works
>   with firefox + alsa
> 
> - cubeb_oss.c (enabled by "oss" option in pkgsrc/www/firefox)
>   converts FLOAT32 format to S16 format so it also works
> 
>> The error message from firefox
>> "alsa_stream_destroy: pthread_cond_destroy failed: Invalid argument"
>> seems to come from pkgsrc patch:
> 
> This is fixed by martin@
> http://mail-index.netbsd.org/pkgsrc-changes/2017/02/06/msg152569.html
> and it was actually trigged by failure of snd_pcm_set_params() with
> SND_PCM_FORMAT_FLOAT_LE.
> 
> One dumb idea is to put FLOAT_NE -> S16_NE conversion into alsa-plugins-oss,
> but I'm not sure it's likely or not.
> (pulseaudio implementation for oss output might help?)

alsa has a conversion mechanism and I can play S24_LE wav file with aplay
command.

My .asoundrc is here.

$ cat ~/.asoundrc
pcm.oss {
        type oss
        device /dev/audio
}

pcm.!default {
        type plug
        slave {
                pcm oss
                format S16_LE
        }
}

ctl.!default {
        type oss
        device /dev/mixer
}

However this .asoundrc triggers 'assert(delay >= 0);' in cubeb_alsa.c.
and it causes crash of firefox.

> ---
> Izumi Tsutsui 

--
Ryo ONODERA // ryo_on%yk.rim.or.jp@localhost
PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB  FD1B F404 27FA C7D1 15F3


Home | Main Index | Thread Index | Old Index