L'API JMF : API de base
L'API de base contient les outils nécessaires à la manipulation de données multimédia. Elle
fournit les méthodes pour gérer des données média(DataSource), les lire (Player) ou encore
effectuer des traitements (Processor).
Gestion des données
Les lecteurs JMF utilisent en général des DataSource pour gérer le transfert du contenu d'un
media. Il encapsule un ensemble de données sur le transfert à effectuer :
•L'emplacement du fichier que l'on veut transporter
•Le protocole que l'on va utiliser pour délivrer le flux
•Les outils utilisés pour le transfert
Une DataSource est identifiée par un objet MediaLocator ou URL permettant de spécifier
l'emplacement du media à gérer. Un MediaLocator est similaire à l'objet URL et peut être
construit à partir de celui-ci. La seule différence est qu'il ne nécessite pas que le handler
(gestionnaire) du protocole utilisé soit installé sur la machine pour être utilisé.
ex : ftp://... On pourrait l'utiliser même si le handler ftp n'était pas installé
Il existe alors deux types de DataSources en fonction de l'émetteur et du récepteur :
•Pull DataSource (en entrée) : Le client initialise le transfert de données et contrôle le
flot de données avec le PullDataSource
•Push DataSource (en sortie): Le serveur initialise le transfert de données et contrôle le
flow de données avec le Push DataSource
Les formats de fichiers multimédias sont gérés par des classes de type Format contenant les
attributs spécifiques du format utilisé.
Les objets Manager
Pour simplifier l'utilisation des différentes fonctions de l'API, JMF fournit des classes
Managers permettant d'accéder à tous les services principaux. Cela permet de centraliser les
différentes fonctions :
•Manager : Cette classe permet la construction des objets principaux, autrement dit les
Players, Processors, DataSources et DataSinks (permettre l'enregistrement d'un flux
ou la capture)
•PackageManager : Maintient un registre de packages contenant des classes JMF
customisés(Players particuliers ...)
•CaptureDeviceManager : Maintient une liste des périphériques de capture valable
dans JMF
•PlugInManager : maintient une liste des plugins JMF de traitement utilisables
(Multiplexers, Demultiplexers, Codecs, Effects, Renderers)