Skywalker13

Diary of an ex-GeeXboX developer…

Quoi de neuf... ~ đŸ‡«đŸ‡·

Posted at — Jul 3, 2010

Hello,

Pas beaucoup de nouvelles depuis passablement de temps. Je vais faire nĂ©anmoins un petit tour en bref des quelques activitĂ©s sur lesquels j’ai travaillĂ©. Mon activitĂ© sur les projets GeeXboX Ă  baissĂ© nettement depuis quelques semaines pour plusieurs raisons. J’ai eu 3 mois de service civil oĂč j’ai qu’en mĂȘme pu travailler dans mon domaine (l’informatique et plus prĂ©cisĂ©ment la programmation). Et de ces trois mois, sont nĂ©s deux petits projets hĂ©bergĂ©s sur les serveurs GeeXboX.

DaisyDuck & libduck

Je vous invite Ă  consulter le site internet. DaisyDuck est un lecteur de livre audio Daisy 2.02, basĂ© sur Qt et libVLC. Il est multi-plateforme et distribuĂ© aussi bien pour Windows que pour Linux. Il pourrait Ă©galement ĂȘtre adaptĂ© sans trop de problĂšme Ă  MacOSX. Mais pour des questions de temps, je me suis arrĂȘtĂ© Ă  la version Windows.

Il existe de “nombreux” (beaucoup de commerciaux aussi) programmes de lecteur de livre Daisy. Mais la grande diffĂ©rence avec DaisyDuck c’est tout d’abord libVLC. La plupart ne sont pas capables de lire une grande variĂ©tĂ© de format, et encore moins de protocole rĂ©seau. MĂȘme qu’en principe pouvoir lire n’importe quel format n’est pas un respect entier des spĂ©cifications. Par contre c’Ă©tait le but de mon travail. Permettre la lecture de livre en ligne, ce que le logiciel est parfaitement capable de faire, et ça fonctionne Ă  merveille. Merci Ă  l’Ă©quipe de VideoLAN.

Le deuxiĂšme petit projet est donc libduck. Il est Ă©galement prĂ©sentĂ© sur le site internet de DaisyDuck. Son but est de rĂ©aliser le “parsing” des fichiers Daisy 2.02.

Malheureusement je n’ai pas utilisĂ© libplayer comme base Ă  DaisyDuck. La raison principale est que libplayer n’est pas encore trĂšs utilisable (compilable) pour Windows pour diffĂ©rentes raisons techniques. Et faute de temps, je ne pouvais pas me permettre de travailler sur le port de libplayer dans mon temps destinĂ© Ă  mon service civil.

Valhalla

Bien que j’ai terminĂ© le service civil depuis fin mai, il me fallait Ă©galement trouver un emploi. Et depuis mi juin, j’effectue des trajets relativement longs par jour. Mon temps libre en soirĂ©e est devenu presque nul. Je me motive alors Ă  travailler sur les projets GeeXboX, dans le train. Et faut bien l’avouer, c’est difficile d’avancer vite. Mais ça avance qu’en mĂȘme, et sur libvalhalla cette fois ci.

J’ai commencĂ© sĂ©rieusement Ă  ajouter le support des langues pour les mĂ©ta-donnĂ©es. Le patch devrait arriver trĂšs vite, peut ĂȘtre mĂȘme demain. Par contre ce n’est pas encore complet. Je dois adapter les fonctions pour les sĂ©lections des mĂ©ta-donnĂ©es afin de pouvoir filtrer sur les langues, il me faut aussi encore implĂ©menter le support des grabbers multi-lingues. Ou tout du moins, pouvoir paramĂ©trer les grabbers multi-lingues pour rĂ©cupĂ©rer les donnĂ©es dans une langue spĂ©cifique. Au moment oĂč j’Ă©cris ces lignes, j’ai uniquement ajoutĂ© le support des langues dans la base de donnĂ©e, et adaptĂ© les grabbers afin que l’information de langue soit correctement indiquĂ©e avec les meta-donnĂ©es. Par exemple, le grabber Allocine indique ainsi du “fr” pour ce qui est des rĂ©sumĂ©s, catĂ©gories, etc,.. Les autres grabbers sont en principe en “en” et les donnĂ©es qui n’ont pas de langue (par exemple un codec, la taille du fichier ou alors la rĂ©solution) sont indiquĂ©es comme “undef”. Toutes les mĂ©ta-donnĂ©es rĂ©cupĂ©rĂ©es par les “parsers” sont Ă©galement en “undef”.

Un autre projet dans lequel je veux me lancer sĂ©rieusement, c’est de pouvoir parallĂ©liser le “downloader” et les “grabbers” pour un mĂȘme fichier. Afin de rĂ©cupĂ©rer les images un peu plus vite. Mais je ne veux pas rentrer dans ce genre d’explications avec ce poste.

libplayer

Aux alentours de mai, j’ai intĂ©grĂ© le support de VDPAU directement dans libplayer. Alors non, il n’y a rien d’extraordinaire, ça concerne quelques lignes. L’idĂ©e c’est que pour pouvoir exĂ©cuter MPlayer correctement avec VDPAU, il faut connaĂźtre les caractĂ©ristiques du GPU. Et pour ça, il faut interroger la carte graphique. Avec GeeXboX, cela se faisait en dehors d’Enna/libplayer avec un script et un exĂ©cutable. Mais ceci n’est plus nĂ©cessaire, car maintenant libplayer fait cette tĂąche de maniĂšre transparente.

Enna

Nicolas Ă  modifiĂ© en profondeur le VFS d’Enna. J’ai donc pris le temps de retravailler le browser Valhalla. Celui-ci est dĂ©sormais mieux fait au niveau des chemins d’accĂšs (je n’ai pas envie d’expliquer ça ici). Bref, en gros ce browser re-fonctionne avec le nouveau VFS mais il a qu’en mĂȘme quelques petites rĂ©gressions qui ne devraient pas ĂȘtre trop difficiles Ă  corriger.

Le projet de “hardware”

RĂ©aliser un set-top box GeeXboX est trĂšs nouveau et assez ambitieux. L’idĂ©e est de partir de zĂ©ro, de la schĂ©matique au PCB puis aux prototypes, pour finir avec la distribution GeeXboX/Enna optimisĂ©e au mieux pour le matĂ©riel. Le seul gros obstacle actuellement c’est la difficultĂ© Ă  avoir accĂšs aux datasheets des composants intĂ©ressants (NDA nĂ©cessaires dans quasiment tous les cas). On vise bien sĂ»r le full-HD avec si possible un petit plus par rapport aux autres boards. Tel que par exemple des ports miniPCIe. On a les ressources techniques, manque la doc :-). Ensuite il y aura forcĂ©ment le problĂšme du temps qui pourra ĂȘtre investi dans ce projet. Mais pour le moment je suis assez confiant.

Pour terminer (et pour arrĂȘter de parler de moi)

Toolchain

Davide fait un gros boulot depuis plusieurs semaines. Il a pris une excellente initiative concernant le toolchain GeeXboX. Le but est d’avoir un toolchain basĂ© sur opkg. Tout se construit via des paquetages, que se sois les dĂ©pendances pour la construction du toolchain (gcc, binutils, etc
) que les Ă©lĂ©ments du “target”.

J’ai toujours aimĂ© le toolchain GeeXboX pour sa simplicitĂ©. On entend souvent parler d’OpenWRT par exemple. Il est sĂ»rement trĂšs bien, mais notre toolchain c’est notre identitĂ©. J’ai toujours Ă©tĂ© rĂ©ticent Ă  le voir se faire remplacer par une solution qui viendrait d’ailleurs. Alors un grand merci Ă  Davide pour avoir fait ce gros job!

Le site web

Benjamin en avait marre du site web. Je le comprend tout Ă  fait car j’ai toujours eu la flemme d’y faire des modifs. Faut ĂȘtre clair, chez GeeXboX en principe faut un peu toucher Ă  tout. Mais parfois les tĂąches comme le site, pas grand monde Ă  envie d’y mettre les mains. Alors Benjamin Ă  basculer sur WordPress qui simplifie grandement la vie aussi bien pour la facilitĂ© que pour le design.

J’aimerais qu’en mĂȘme dire un mot sur l’ancien site. Il avait une particularitĂ© en comparaison Ă  beaucoup d’autres sites internet. Ce bon vieux site Ă©tait entiĂšrement rĂ©alisĂ© en XML+XSL (un trĂšs bel exemple et trĂšs professionnel). Bien sĂ»r les sources sont toujours bien au chaud, dans les dĂ©pots Mercurial.

Enna

Nicolas a fait diverses modifications sur Enna en plus du VFS. NĂ©anmoins je n’ai pas encore pu compiler ces derniĂšres modifs :-P. Faute de temps principalement, car je dois mettre Ă  jour les EFL.

A bientĂŽt,
Mathieu SCHROETER