Personal tools

Views

Talk:Flash Player:Additional Interface Support for Linux

From Adobe Labs

Table of contents
[edit]

Welcome!

Welcome to the Flash Player:Additional Interface Support for Linux discussion page on Adobe Labs. Please enter your comments regarding this article here. To help identify the author of comments, please create a new section and use ~~~~ at the end of your talk entries to automatically create a signature.

Comments should be added in list format, but feel free to add your comment under an existing comment to follow a thread structure. If you are responding to a thread, please use the H3 style for your subject (=== TEXT ===) so that the page is easier to read. Don't forget to preview your changes before saving!

Daniel T 16:08, 20 Oct 2006 (PDT)

[edit]

Wrong file name

In compilation instruction:

 ldd libflashplayer.so 
 sudo cp libflashplayer.so /usr/lib

should be:

 ldd libflashsupport.so 
 sudo cp libflashsupport.so /usr/lib

TiCL 04:25, 1 Nov 2006 (PDT)

[edit]

Support for Esound and PulseAudio

I added support for Esound and Pulse audio to libflashplayer.so

You can get more information on this page: http://pulseaudio.revolutionlinux.com/PulseAudio

Feel free to contact me for more info: jmdault (at) revolutionlinux.com

jmdault 22:21, 20 Nov 2006 (PST)

[edit]

Broken with Beta2?

I tried the new Beta2 and flashsupport.c (either the old, the new, or my own) don't work anymore.

The FPX_Init function is called, but the sound functions are never called...

jmdault 00:03, 21 Nov 2006 (PST)


[edit]

stubs-32.h for AMD64/EMT64

This is in glibc-devel and, of course, make sure you're using the i386/32-bit version =)

--rshendershot 07:06, 30 Dec 2006 (PST)

[edit]

ALSA issues

To get the ALSA functions to work on my system, I had to replace the line in FPX_SoundOutput_Open:

       if (snd_pcm_hw_params_get_period_size(hwparams, &size, &direction) < 0)  goto fail;

with:

       if (snd_pcm_hw_params_set_period_size_last(instance->handle, hwparams, &size, &direction) < 0)  goto fail;

The built-in alsa support doesn't work at all for me, but the flashsupport ALSA driver gives me working playback with much better A/V sync than OSS...

Magnus Hjorth 17:14, 17 Feb 2007 (PST)

[edit]

A few bugs

In oss_thread():

written = write(instance->oss_fd, buffer, len);

should be:

written = write(instance->oss_fd, buffer+4096-len, len);


In OSS FPX_SoundOutput_Latency():

if ( ( value = ioctl(instance->oss_fd,SNDCTL_DSP_GETODELAY,&value) ) == 0 ) {

"value =" shouldn't be there, value will be the ioctl return, which is wrong.

The return value from the OSS ioctl calls will be -1 on error, the return value has no defined meaning when the call was successful (and it will be 0 in most cases). Then:

...
 if ( ( value = ioctl(instance->oss_fd,SNDCTL_DSP_GETODELAY,&value) ) == 0 ) {
   return value / 4;
 }
 return 0;
...

should be:

...
if (ioctl (instance->oss_fd, SNDCTL_DSP_GETODELAY, &value) == -1){
   return 0;
 }
 return value / 4;
...

Best regards, Boris Carvajal 01:25, 10 Jun 2007 (PDT)

[edit]

Native OSS, emu10k1 and browser hang

When using native OSS (not emulated OSS via ALSA) on machines with a Soundblaster/Audigy sound card (emu10k1 driver), Firefox would hang if you quit a window or tab while Flash is playing sound.

The OSS FPX_SoundOutput_Close() function sends the SNDCTL_DSP_RESET ioctl before shutting down the thread that writes data to /dev/dsp (the oss_thread() function) - and it appears that any writes to /dev/dsp after this ioctl hang ...

This only appears to cause problems with cards using the emu10k1 driver - other (on-board) sound cards that I have access to don't have this issue.

The fix is to make sure the writing thread is shutdown before the SNDCTL_DSP_RESET ioctl is sent - the following patch to flashsupport.c works:

--- flashsupport.c.dist 2007-08-10 11:02:20.000000000 +0100
+++ flashsupport.c      2007-08-10 11:03:11.353501727 +0100
@@ -751,15 +751,15 @@ static int FPX_SoundOutput_Close(void *p
 
        instance->signal = 1;
 
-       if ( instance->oss_fd ) {
-               ioctl(instance->oss_fd, SNDCTL_DSP_RESET, 0);
-       }
-
        if ( instance->thread ) {
                pthread_join(instance->thread,&retVal);
        }
 
        if ( instance->oss_fd ) {
+               ioctl(instance->oss_fd, SNDCTL_DSP_RESET, 0);
+       }
+
+       if ( instance->oss_fd ) {
                close(instance->oss_fd);
        }

james-p 03:42, 10 Aug 2007 (PDT)

[edit]

Newer flashsupport.c

I found a more recent flashsupport.c in the CVS repository here:

http://sourceforge.net/projects/flashsupport/

(The project admins are Adobe staff members.)

technut.canada 12:20, 1 Dec 2007 (PST)

Retrieved from "http://labs.adobe.com/wiki/index.php/Talk:Flash_Player:Additional_Interface_Support_for_Linux"