5.4 Implémentation

Afin de montrer les performances réelles de la stratégie "transfert par blocs" proposée, nous avons réalisé une implémentation de cette stratégie dans les deux lecteurs multimédias le plus utilisés sur Internet : Windows Media Player de Microsoft ([ms-wmp]) et Real Video de Real Networks ([rn-rv]).

Notre intérêt est de remplacer l'implémentation de HTTP dans ces deux lecteurs avec notre implémentation, et de faire une comparaison entre les deux.

Comme nous l'avons présenté dans le Chapitre 3, les deux lecteurs multimédias utilisent une même architecture logicielle. Les objets multimédias sont traités à travers un graphe composé de plusieurs modules (filtres), qui se transmettent les données. Il existe plusieurs types de modules mais ceux qui nous concernent ici sont les modules 'source de données'. Un module source alimente le graphe du lecteur avec les données d'un objet, sans savoir nécessairement ce qu'il se passera avec ces données plus loin dans le graphe. D'habitude un module source implémente un protocole réseau pour récupérer les objets multimédias.

Les deux lecteurs n'acceptent pas les mêmes modules (de par leur stratégie de développement), donc nous avons implémenté un module source pour Windows Media Player et un autre pour Real Video. Les différences entre ces deux modules ne sont pas significatives, il s'agit d'une API différente à utiliser pour s'interfacer avec le lecteur.

message URL fig59.gif
Figure 59 Stratégie de travail d'un module pour un lecteur multimédia utilisant la méthode de transfert par blocs

Comme résultat nous avons obtenu des lecteurs multimédias capables de jouer les principaux types des formats multimédias compressés (parmi d'autres MP3, MPEG1, MPEG2, MPEG4, QuickTime), mais utilisant notre implémentation de HTTP.