Wednesday, January 17, 2007

Adobe Flash 9 for Linux: sound

Many of you have just replaced Adobe Flash 7 (formerly Macromedia Flash) by Adobe Flash 9 for Linux that was just released. Many of you hear no audio just like I didn't. The most likely reason is that the plug-in expects ALSA (Advanced Linux Sound Architecture) but you only have OSS (Open Sound System) - a free unofficial version of audio support.

Don't panic. You need to find the directory with the plugins - i.e. for Firefox. It's a directory where you find the main libflashplayer.so file with the plugin. To fix your audio, you also need a similar but much shorter file, libflashsupport.so, to be found in the same directory. Well, you will have to compile it yourself.

Go to the page of flashsupport. At the bottom, you will find the flashsupport.c source. Save it on your disk in the directory with libflashplayer.so and compile it. In the ideal case, the following three commands are enough (please join the first three lines into a single command with many arguments):
  • cc -shared -O2 -Wall -Werror
    -licuuc -lssl flashsupport.c
    -o libflashsupport.so
    ldd libflashsupport.so
    sudo cp libflashsupport.so /usr/lib
Needless to say, the first command may give you about 35 errors, just like in my case. It's because you don't have a working openssl either. ;-) So you open the flashsupport.c source, find the #define OPENSSL line, and comment it out by "//" just like the following lines. The first "cc" command will still return you an error message and create no "so" output. Don't panic and simplify the first command to something like:
  • cc -shared -O2 -Wall
    -Werror flashsupport.c -o
    libflashsupport.so



Then you follow the other two commands above, or copy the resulting libflashsupport.c file wherever you need, to the directory with the other "so" plugins. In my case, the audio in Flash started to work after I restarted Firefox. I hope that you will be equally lucky. ;-)

6 comments:

  1. Hi!
    I am using FC4 x86_64 and i get this:

    [root@localhost flash-plugin]# cc -shared -O2 -Wall -Werror flashsupport.c -o libflashsupport.so
    /usr/bin/ld: /tmp/cccgMscf.o: relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
    /tmp/cccgMscf.o: could not read symbols: Bad value
    collect2: ld returned 1 exit status

    What does it mean?

    ReplyDelete
  2. Okey, now i get this:
    [root@localhost flash-plugin]# cc -shared -O2 -Wall -Werror -licuuc -lssl flashsupport.c -o libflashsupport.so
    /usr/bin/ld: cannot find -licuuc
    collect2: ld returned 1 exit status
    [root@localhost flash-plugin]# cc -shared -O2 -Wall -Werror -lssl flashsupport.c -o libflashsupport.so
    /usr/bin/ld: /tmp/ccWynhle.o: relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
    /tmp/ccWynhle.o: could not read symbols: Bad value
    collect2: ld returned 1 exit status
    [root@localhost flash-plugin]# cc -shared -O2 -Wall -Werror -lssl -fPIC flashsupport.c -o libflashsupport.so
    [root@localhost flash-plugin]#

    So I have compiled libflashsupport.so and put it in /usr/lib, but still no sound.n

    ReplyDelete
  3. Thanks for the help!
    After upgrading to FC7 this was one of my "broken" things that I needed to fix. Your info worked like a charm.

    ReplyDelete
  4. An alternative fix is to install the required components. Under ubuntu for my instillation I required libicu-dev and libssl-dev. You might need to install additional packages on your system to meet the requirements.

    After this the instructions provided by adobe worked fine for me.

    ReplyDelete
  5. Thanks a million for this. I had been fiddling with getting sound working in Flash 9 on Jaunty 9.04 and these instructions did the trick. If you don't mind, I have used your instructions in a post on Ubuntu Forums. http://ubuntuforums.org/showthread.php?p=7229962#post7229962 Thanks again.

    ReplyDelete
  6. you have a nice site. thanks for sharing this enormous resources. keep it up. anyway, various kinds of ebooks are available here

    http://feboook.blogspot.com

    ReplyDelete