Présentation de l'intégration de contenu multimédia SDV

SDV Media est un système d'exploitation léger qui ajoute des fonctionnalités multimédias à SDV Core.

Implémentation de référence de SDV Media

SDV Media

Figure 1. Architecture SDV Media.

SDV Media est basé sur SDV Core et ajoute des fonctionnalités multimédias en donnant accès à des moteurs matériels tels que le GPU, la vidéo et l'audio. D'autres moteurs matériels pourront être ajoutés dans de futures versions.

L'implémentation de référence utilise VirtIO pour implémenter l'abstraction matérielle, en particulier virtio-gpu, virtio-media, virtio-snd et virtio-input.

L'implémentation utilise des bibliothèques standard de l'espace utilisateur pour accéder aux fonctionnalités multimédias telles qu'OpenGL (ES), Vulkan, EGL, Video4Linux et tinyalsa. Une implémentation de production peut donc remplacer les pilotes VirtIO et implémenter ces interfaces avec des solutions spécifiques au matériel.

SDV Media contient toutes les fonctionnalités de SDV Core, ce qui signifie qu'il contient la pile de communication SDV, utilise GKI et inclut toutes les autres fonctionnalités de SDV.

Options d'intégration

Le reste de cette page explique les deux options d'intégration de SDV Media.

Option 1 : Basée sur l'hôte (recommandée)

Option d'intégration 1 : basée sur l'hôte

Figure 2. Intégration basée sur l'hôte.

L'option d'intégration basée sur l'hôte utilise VirtIO dans l'invité pour implémenter la fonctionnalité indépendamment du matériel réel. Les pilotes spécifiques au matériel sont intégrés côté hôte et implémentent des appareils selon l'interface standardisée basée sur VirtIO pour communiquer avec l'invité.

Les performances dépendent de l'implémentation du pilote et de l'appareil côté hôte, mais les tests ont montré que le système peut atteindre des performances et une vitesse de démarrage élevées.

Un autre avantage de cette solution est que les images sur l'infrastructure et le matériel peuvent être très similaires, car l'invité utilise des interfaces standardisées. Cela entraîne des modifications minimes, voire nulles, pour s'exécuter sur différents appareils. La dépendance matérielle est limitée à l'hôte.

Option 2 : Abstraction de la bibliothèque de l'espace utilisateur

Abstraction de la bibliothèque de l'espace utilisateur

Figure 3. Abstraction de la bibliothèque de l'espace utilisateur.

Dans cette option d'intégration, les interfaces standardisées sont les bibliothèques de bas niveau de l'espace utilisateur OpenGL (ES), Vulkan, EGL, Video4Linux et tinyalsa. Le partenaire est responsable de l'orchestration de la séparation entre l'invité et l'hôte, tandis que le développeur d'applications est responsable de la compatibilité avec les interfaces de la bibliothèque de l'espace utilisateur.

Cette approche conduit probablement à des pilotes différents dans les environnements d'infrastructure et matériels, ce qui peut entraîner des différences de comportement majeures. De plus, les images ne peuvent pas être transférées sans adaptation à différents environnements.

Cette approche est destinée aux partenaires qui ne bénéficient pas d'une compatibilité VirtIO complète.

Exigences concernant les contenus multimédias pour la validation SDV

Les exigences relatives à SDV Media supposent que toutes les exigences de SDV Core sont respectées. Pour ce faire, vous pouvez utiliser l'implémentation de référence ou remplacer les bibliothèques système par des solutions spécifiques au fournisseur, comme décrit dans les sections précédentes.