Bonjour à tous,

je rencontre un problème avec le son de certaines vidéos flash depuis la mise à jour vers fedora 14 (x86_64). Le son est vraiment ""dégueulasse"", ça grésille, ça craque...

Ce problème se pose aussi bien sous Chromium que Firefox (forcément, le plugin étant le même).
Particularité : là où par exemple les bandes-annonces sur allocine posent problème, les vidéos youtube ou dailymotion semblent fonctionner nickel...


Pensant à un problème de compatibilité de F14 avec flash, j'ai mis à jour celui-ci (je suis maintenant à la version 10.2 d161 (64b) ), mais ça n'a rien changé.

Après quelques recherches, je n'ai pas encore trouvé de personnes qui ont le même soucis suite à une mise à jour vers F14.

Pensez-vous que ça puisse venir du pilote ?
$ su -c 'lspci | grep Audio'
Mot de passe : 
00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)
[laurems@localhost ~]$ 
$ su -c 'lsmod | grep snd'
Mot de passe : 
snd_hda_codec_realtek   298211  1 
snd_hda_intel          24399  4 
snd_hda_codec          86743  2 snd_hda_codec_realtek,snd_hda_intel
snd_hwdep               6392  1 snd_hda_codec
snd_seq                53791  0 
snd_seq_device          6191  1 snd_seq
snd_pcm                80190  3 snd_hda_intel,snd_hda_codec
snd_timer              19892  2 snd_seq,snd_pcm
snd                    63968  15 snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_seq,snd_seq_device,snd_pcm,snd_timer
soundcore               6576  1 snd
snd_page_alloc          7559  2 snd_hda_intel,snd_pcm
J'avoue que je sèche un petit peu et ne sais pas trop quelles pistes explorer... Je précise que le son dans Totem par exemple est ok...

Merci à tous pour votre aide.


Edit : je pense avoir trouvé le même problème que moi :
https://bugzilla.redhat.com/show_bug.cgi?id=638477
Suis en train de me pencher là-dessus
J'ai rencontré le même problème, je suis repasser sur la version 32 du dépôts.
Je suis sur le forum anglais depuis quelques jours déjà, cleui-là je veux dire, et la solution proposée ici par linus fonctionne pour firefox, la voici en mieux :
By following the Bugzilla post, given by jbkt23, I got it to work easily using a workaround of the buggy memcpy function.

So I decided to write down the steps needed to get it to work according to this post: https://bugzilla.redhat.com/show_bug.cgi?id=638477

1. Open your favourite text editor and paste this text:
#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;
    }


2. Compile it:
gcc -O2 -c mymemcpy.c
3. Make the .so file:
ld -G mymemcpy.o -o mymemcpy.so
4. After that you can launch Firefox/Chrome with the new memcpy using the fallowing commands:

Firefox:
LD_PRELOAD=<full path to mymemcpy.so> /usr/bin/firefox &
Chrome:
LD_PRELOAD=<full path to mymemcpy.so> /opt/google/chrome/google-chrome &
By now your flash should work normally, but as starting your browser always from the command line using this long command can be a little annoying, I added two more steps:

5. Copy your mymemcpy.so to some system directory, like /usr/lib64, so it is accessible to all users.
su -
cp <full path to mymemcpy.so> /usr/lib64
6. Edit Firefox startup script:
Use your favourite text editor and open file /usr/bin/firefox. I used nano, but any other will do:
su -
nano /usr/bin/firefox
Now find a last comment line (## mozilla work.) and insert this text right after it:
export LD_PRELOAD=/usr/lib64/mymemcpy.so
Save and close your text editor. Now you can run your Firefox by just typing "firefox" into the command line or double-clicking on the Firefox's desktop icon like usually.
Probably you have to repeat the last step after you update Firefox, as the update process will probably overwrite the /usr/bin/firefox script.
Mais cela ne fonctionne pas pour chromium..
titimoi wrote: Mais cela ne fonctionne pas pour chromium..
Ah? Chez moi bien... j'ai juste fait un script comprenant ceci :
LD_PRELOAD=/home/.../memcpy-fix.so /usr/bin/chromium-browser &
et un raccourci dans un tableau de bord pour le lancer !
15 jours plus tard
oui ça marche en effet, seulement mon chromium a de sérieux problèmes avec la syncronysation, du coup il plante, en le lançant avec --disable-sync ça va mieux.. mais depuis hier il y a de très nombreux lag.. de même que sur FF.. je sais pas d'où ça vient mais ça commence à m'échauffer les oreilles..
titimoi wrote: 1. Open your favourite text editor and paste this text:
#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;
    }

Alors, je ne suis pas bon en anglais, mais j'ouvre un éditeur de texte et je colle le texte qui suit... et après, je fais quoi de ce texte que j'ai collé ? J'enregistre dans un fichier quelconque ? "compile it", ça veut dire quoi ?

Merci de bien vouloir m'éclairer
GeorgesLours wrote:
titimoi wrote: 1. Open your favourite text editor and paste this text:
#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;
    }

Alors, je ne suis pas bon en anglais, mais j'ouvre un éditeur de texte et je colle le texte qui suit... et après, je fais quoi de ce texte que j'ai collé ? J'enregistre dans un fichier quelconque ? "compile it", ça veut dire quoi ?

Merci de bien vouloir m'éclairer
Pour répondre tout de même en fait non il ne faut pas le nommer n'importe comment, il faut le nommer mymemcpy.c
les instructions sont simplement là pour que tu saches ce que l'on te demande de faire, mais bêtement il faut le compiler, à savoir executer la commande en 2. mymemcpy est du c, il faut utiliser le compilateur gcc :
d'où la commande "gcc -O2 -c mymemcpy.c" compiler c'est faire cette commande..