解決 x64 flash 播放 mp3 的問題 - Linux

Table of Contents

Adobe 的 x64 flash plugin 自從去年11月之後就沒更新過了,
而用 flash 來播放 mp3 就會跑出雜音。

Youtube影片的音源因為是使用 AAC,所以不受影響,
網路上有人提供這個問題的解法。

首先,先建立一個 linusmemcpy.c

#include <sys/types.h>

void *memcpy(void *dst, const void *src, size_t size)
{
void *orig = dst;
asm volatile("rep ; movsq"
:"=D" (dst), "=S" (src)
:"0" (dst), "1" (src), "c" (size >> 3)
:"memory");
asm volatile("rep ; movsb"
:"=D" (dst), "=S" (src)
:"0" (dst), "1" (src), "c" (size & 7)
:"memory");
return orig;
}


接下來就是編譯程式,

$ gcc -O2 -c linusmemcpy.c
$ ld -G linusmemcpy.o -o linusmemcpy.so

執行 firefox

$ LD_PRELOAD=./linusmemcpy.so firefox

打開用 flash 播放 mp3 的網站,聲音恢復正常了。


References:
* http://www.schotty.com/blog/2011/1/29/flash-linux-x64-sound-fix.html
* http://forums.fedoraforum.org/showpost.php?p=1421866&postcount=12
* https://bugzilla.redhat.com/show_bug.cgi?id=638477

--
「村人」

【能力】
ありません。いわゆる無能。

--

All Comments