Talk:Flash Player:Additional Interface Support for Linux
From Adobe Labs
| Table of contents |
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)
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)
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)
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)
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)
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)
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)
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)
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)
