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

Re: No sound from Flash, but other methods work well



On Sun, Jul 18, 2010 at 16:59:44 -0500, Ron Johnson wrote:
> On 07/18/2010 04:05 PM, Florian Kulzer wrote:
> >On Sun, Jul 18, 2010 at 12:44:10 -0500, Ron Johnson wrote:

[...]

> >>$ lsof +c0 $(find /dev/ -group audio)
> >>COMMAND        PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
> >>mixer_applet2 2193  ron   21r   CHR  116,9      0t0 3204 /dev/snd/controlC0
> >>aqualung      3251  ron  mem    CHR  116,8          3201 /dev/snd/pcmC0D0p
> >>aqualung      3251  ron    4r   CHR  116,8      0t0 3201 /dev/snd/pcmC0D0p
> >
> >>$ lsof +c0 $(find /dev/ -group audio)
> >>COMMAND        PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
> >>mixer_applet2 2193  ron   21r   CHR  116,9      0t0 3204 /dev/snd/controlC0
> >
> >>$ cat dsp.quiet.txt
> >>  lsof +c0 $(find /dev/ -group audio)
> >>COMMAND        PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
> >>mixer_applet2 2193  ron   21r   CHR  116,9      0t0 3204 /dev/snd/controlC0
> >
> >Everything is normal with aqualung, but it looks like flashplayer does
> >not even try to play audio. On my Sid systems it is not bothered at all
> >by the fact that kmix has /dev/snd/controlC0 open, it simply uses
> >/dev/snd/pcmC0D0p and /dev/snd/timer as needed.
> >
> >You could run iceweasel under strace:
> >
> >   strace -f -efile -o iceweasel-flash.strace iceweasel
> >
> >Let a flash video play silently for a few seconds and then close the
> >browser. Afterwards you can check what has been accessed:
> >
> >   grep -E 'a(lsa|sound)|/dev/(a?dsp|audio|mixer|snd)' iceweasel-flash.strace
> >
> 
> http://members.cox.net/ron.l.johnson/iceweasel-flash.strace.grep.txt
> 
> This might not be useful, since v3.6.4 uses plugin process separation.

The "-f" should take care of that. I use iceweasel 3.6.4 (from
experimental), too, so we can compare:

The first difference that I notice is that after reading your
~/.asoundrc, no further configuration is taken into account:

3470  access("/home/ron/.asoundrc", R_OK) = 0
3470  open("/home/ron/.asoundrc", O_RDONLY) = 17
3470  open("/dev/snd/controlC0", O_RDONLY|O_CLOEXEC) = 17

In my case, without ~/.asoundrc, more configuration files are read:

6066  access("/home/florian/.asoundrc", R_OK) = -1 ENOENT (No such file or directory)
6066  open("/usr/share/alsa/cards/aliases.conf", O_RDONLY) = 17
6066  open("/usr/share/alsa/pcm/default.conf", O_RDONLY) = 18
6066  open("/usr/share/alsa/pcm/dmix.conf", O_RDONLY) = 18
6066  open("/usr/share/alsa/pcm/dsnoop.conf", O_RDONLY) = 18
6066  open("/dev/snd/controlC0", O_RDONLY|O_CLOEXEC) = 17

Maybe you should try to include these other configuration files in your
~/.asoundrc. I would also be tempted to test the effect of temporarily
removing your ~/.asoundrc. (You already said that this breaks all other
sound, but what does it do to flashplayer?)

After that, your flashplayer repeats this over and over:

3470  open("/dev/snd/controlC0", O_RDONLY|O_CLOEXEC) = 17
3470  open("/dev/snd/controlC0", O_RDWR|O_CLOEXEC) = 17
3470  open("/dev/snd/controlC0", O_RDWR|O_CLOEXEC) = 17
3470  open("/dev/snd/pcmC0D0p", O_RDWR|O_NONBLOCK|O_CLOEXEC) = 18
3470  stat64("/usr/share/alsa/alsa.conf", {st_mode=S_IFREG|0644, st_size=8967, ...}) = 0

In my case, it opens some chipset-specific configuration files:

6066  open("/dev/snd/controlC0", O_RDONLY|O_CLOEXEC) = 17
6066  stat64("/usr/share/alsa/alsa.conf", {st_mode=S_IFREG|0644, st_size=8967, ...}) = 0
6066  open("/dev/snd/controlC0", O_RDONLY|O_CLOEXEC) = 17
6066  open("/dev/snd/controlC0", O_RDWR|O_CLOEXEC) = 17
6066  access("/usr/share/alsa/cards/ICH4.conf", R_OK) = 0
6066  open("/usr/share/alsa/cards/ICH4.conf", O_RDONLY) = 17
6066  open("/usr/share/alsa/pcm/front.conf", O_RDONLY) = 18
6066  open("/usr/share/alsa/pcm/surround40.conf", O_RDONLY) = 18
6066  open("/usr/share/alsa/pcm/surround41.conf", O_RDONLY) = 18
6066  open("/usr/share/alsa/pcm/surround50.conf", O_RDONLY) = 18
6066  open("/usr/share/alsa/pcm/surround51.conf", O_RDONLY) = 18
6066  open("/usr/share/alsa/pcm/iec958.conf", O_RDONLY) = 18

Then my flashplayer tries to open all other controls (controlCxx),
probably to check for further soundcards, and finally it accesses
controlC0, pcmC0D0p and timer.

It seems that your flashplayer does access the correct device and there
are no indications of problems with permissions or lockout by another
process, but it just does not know how to configure and use your
hardware properly. (Further thoughts from real ALSA experts would be
appreciated...)

> >Before you break out the big guns, though, you can try to set
> >ICEWEASEL_DSP to "aoss" (assuming you have "oss-compat" installed), or
> 
> Didn't work.
> members.cox.net/ron.l.johnson/iceweasel-flash.aoss.strace.grep.txt
> 
> >maybe installing flashplugin-nonfree-extrasound will help, or switching
> 
> Didn't work either.
> 
> http://members.cox.net/ron.l.johnson/iceweasel-flash.aoss.extra.strace.grep.txt

Indeed, neither of these changes seems to make a difference.

> >from flashplugin-nonfree to flashplayer-mozilla, or vice versa. (I did
> >not read the entire thread, maybe some of these things were already
> >suggested.)
> >
> 
> flashplayer-mozilla has never worked for me.

My strace was from using flashplayer-mozilla, so maybe it is time to
give it another try. I am not too optimistic, though; the player seems
to have a fundamental problem with the configuration of your hardware.

-- 
Regards,            |
          Florian   |


Reply to: