lalahop

Kaffeine : périphérique audio non disponible

ÉDIT du 26/01/2012 à 14h00 : De nouvelles versions des paquets libxine* ont été poussées dans les dépôts testing de Debian aujourd'hui. Ceux-ci résolvent le problème énoncé ci-dessous sans aucune intervention de l'utilisateur.
Fin de l'édit

ÉDIT du 10/12/2011 à 17h40 : De nouvelles versions des paquets libxine* ont été poussées dans les dépôts testing de Debian. Ceux-ci ne résolvent toujours pas le problème et l'astuce présentée ci-dessous reste de rigueur.
Fin de l'édit

ÉDIT du 16/10/2011 à 19h40 : Comme suggéré dans les commentaires, j'ai soumis un rapport de bug concernant ce problème à l'équipe Debian/KDE extras. Je ne suis pas satisfait par ce rapport de bug malgré le fait de m'être renseigné sur la démarche à suivre mais c'est mon premier ... Puis, je me suis aperçu qu'une solution a été trouvée depuis le 10 octobre : DVB video & sound problem Kaffeine on Wheezy sur Linux Archive. Je l'ai testée et elle fonctionne. Il suffit donc de modifier le fichier ~/.kde/share/apps/kaffeine/xine-config en remplaçant la ligne "#audio.driver:auto" par "audio.driver:pulseaudio" (ou alsa).
Fin de l'édit

Comme vous le savez, j'utilise le logiciel Kaffeine pour regarder la TV (TNT) sur mon Debian GNU/Linux mis à jour avec les dépôts testing (donc je sais à quoi m'attendre).

Depuis la fin de la semaine dernière (probablement le 22/09), le paquet Kaffeine fourni dans les dépôts Debian ne fonctionne plus : il n'affiche plus du tout la vidéo et affiche parfois un message "périphérique audio non disponible" lorsque l'on zappe sur n'importe quelle chaîne. Dans tous les cas, il n'y a jamais d'images ni de son.

Je me suis très vite dirigé vers un problème dans les paquets Debian puisque j'avais vu, lors d'une mise à jour de mon système réalisée le 22/09 au soir, que les paquets libxine* allaient être mis à jour sur mon système. Or, je sais que la libxine est une dépendance nécessaire à Kaffeine.

Je vous passe les différentes méthodes que j'ai essayées sans succès (utiliser le dépôt unstable au cas où cela soit corrigé, essayer le dépôt stable, ...) pour vous présenter la méthode qui fonctionne : utiliser les dépôts snapshot.

Les dépôts snapshot sont des instantanés (= des images à un instant donné) des dépôts Debian. Ils permettent d'obtenir, toujours via apt, une ancienne version d'un paquet. Ils sont préconisés dans le cas de problèmes liés à une mise à jour.

Après tâtonnement, il s'avère que le dépôt snapshot du 21/09 et du 22/09 ne fournissent pas une dépendance nécessaire à Kaffeine (libxine1-ffmpeg). En revanche, aucun problème avec le dépôt du 20/09. C'est donc lui que nous allons utiliser.

Si vous avez déjà une version de Kaffeine installée, pensez à la désinstaller avant de commencer :

apt-get autoremove --purge kaffeine

Pensez aussi à supprimer les paquets conservés dans le référentiel local :

apt-get clean

Commentez tout votre fichier /etc/apt/sources.list puis et ajoutez-y la ligne suivante :

deb http://snapshot.debian.org/archive/debian/20110920T211952Z/ wheezy main

Ensuite, on lance un apt-get update en précisant l'option "Acquire::Check-Valid-Until=false" qui permet d'éviter le message d'erreur "E: Release file for http://snapshot.debian.org/archive/debian/20110918T212936Z/dists/wheezy/InRelease is expired (invalid since 5h 9min 33s). Updates for this repository will not be applied." :

apt-get -o 'Acquire::Check-Valid-Until=false' update

Enfin, on installe Kaffeine comme d'habitude :

apt-get install kaffeine

On lance Kaffeine et on constate qu'on a la vidéo et le son. Le problème est donc résolu.

Vous pouvez décommenter votre fichier /etc/apt/sources.list et supprimer la ligne concernant le dépôt snapshot.

Néanmoins, si nous ne faisons rien, un apt-get dist-upgrade mettra à jour notre libxine ... dans une version encore bugguée. Nous allons donc geler notre libxine temporairement :

echo "libxine1 hold" | sudo dpkg --set-selections

Ainsi, nous pouvons faire un apt-get dist-upgrade sans problème.

Il faudra toutefois surveiller la sortie d'une version corrigée de la libxine et, lorsque ce sera le cas, lever le gel qui pèse sur elle.