Diese Seite wurde vollständig KI-generiert auf Basis von SWS Raw Data Stream (R25-11) — kein offizieller AUTOSAR-Text und keine automatisch extrahierte API-Seite wie die übrigen Module. Als Interpretation gekennzeichnete Aussagen sind Schlussfolgerungen aus den Quellen.
Sert à la représentation de datagrammes audio IEEE 1722 avec des champs d'en-tête protégés et un destructeur virtuel.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 57a5a8ff765cProvenanceQuestions ouvertes (3)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Sert à la représentation de datagrammes audio IEEE 1722 avec des champs d'en-tête protégés et un destructeur virtuel.
Dans le module Raw Data Stream, la classe sert à la représentation structurée de datagrammes audio selon le format IEEE 1722 AVTP Audio Format AUTOSAR_AP_SWS_RawDataStream p. 1. Elle encapsule les données d'en-tête spécifiques au protocole, telles que le format, le nombre de canaux et la résolution binaire, dans des attributs protégés qui sont typiquement initialisés et évalués par des classes de flux de données dérivées. Un destructeur virtuel garantit que les objets datagrammes spécialisés peuvent être libérés de manière polymorphe et sûre vis-à-vis des exceptions via des pointeurs de classe de base [SWS_RDS_90273]. Comme il n'existe aucune synchronisation interne, les accès concurrents doivent être coordonnés par l'architecture de streaming cliente.
Contexte
La classe ara::rds::IEEE1722DatagramAAF fournit, dans le module Raw Data Stream (rds) de l'AUTOSAR Adaptive Platform, la représentation informatique d'un datagramme IEEE 1722 pour le format audio AVTP (AAF) AUTOSAR_AP_SWS_RawDataStream p. 1. La norme IEEE 1722 (Audio Video Transport Protocol, AVTP) sert à la transmission synchronisée dans le temps de flux de données audio et vidéo à contraintes temporelles strictes sur des réseaux Ethernet dans des environnements automobiles. Le fichier d'en-tête ara/rds/raw_data_stream_IEEE1722.h déclare la structure au sein de l'espace de noms ara::rds.
La classe est responsable de l'encapsulation des champs de contrôle et de métadonnées spécifiques au protocole d'une trame de données AAF. Cela comprend le champ de format obligatoire format[SWS_RDS_90262] ainsi que des indications sur le nombre de flux de données par trame via streams_per_frame[SWS_RDS_90263] ou sp[SWS_RDS_90269]. Afin de représenter de manière flexible différents formats audio et spécifications AES3, la classe comprend des attributs optionnels pour les taux d'échantillonnage et les fréquences de trame tels que nsr[SWS_RDS_90268] et nfr[SWS_RDS_90265], les identifiants d'événement evt[SWS_RDS_90264], les informations de canal channels_per_frame[SWS_RDS_90267], les résolutions binaires bit_depth[SWS_RDS_90266] ainsi que les champs de type de données et de référence AES3 aes3_data_type_h[SWS_RDS_90270], aes3_data_type_l[SWS_RDS_90271] et aes3_dt_ref[SWS_RDS_90272].
Comme tous les champs de données sont définis dans la zone protégée (protected) et qu'aucune méthode d'accès publique n'est déclarée, la classe devrait principalement servir de base d'héritage pour des types de datagrammes et des pilotes concrets, spécialisés en interne au module. Question Q-f24c82b5fa9fbaaa (ouverte) Les partenaires d'interaction sont les composants de traitement du sous-système RDS, qui reçoivent des flux de données brutes depuis le réseau, les analysent ou les préparent pour l'envoi.
Cycle de vie
Les objets de ara::rds::IEEE1722DatagramAAF sont typiquement créés à l'exécution au cours du pipeline de streaming, dès qu'une nouvelle trame de données audio est reçue via Ethernet ou assemblée en vue de sa transmission. La gestion et l'allocation incombent à la gestion globale des flux de données du module RDS ou à une classe dérivée spécialisée.
Pour une destruction contrôlée, la classe déclare un destructeur virtuel ~IEEE1722DatagramAAF() noexcept[SWS_RDS_90273]. La déclaration virtuelle garantit que les classes dérivées sont nettoyées complètement et sans erreur lors de la libération via des pointeurs de classe de base, sans générer de fuites de ressources. La spécification noexcept garantit qu'aucune exception n'est levée lors de la dissolution de l'objet, ce qui est indispensable, en particulier lors du déroulement de pile en cas d'erreur (stack unwinding).
En matière de concurrence, ara::rds::IEEE1722DatagramAAF n'offre aucune synchronisation interne propre. Les traitements de streaming audio étant fréquemment exécutés sur des threads temps réel distincts, les accès simultanés en lecture et en écriture doivent être coordonnés par des mécanismes de synchronisation externes de l'architecture appelante.
Parcours d'utilisation
L'utilisation typique de la classe s'effectue via une dérivation spécialisée qui rend les attributs protégés accessibles pour le traitement des données utiles. Un chemin d'utilisation représentatif comprend quatre phases successives :
Instanciation : le composant utilisateur ou le pilote audio instancie un objet datagramme spécialisé, ce qui crée la classe de base IEEE1722DatagramAAF.
Initialisation de l'en-tête : les attributs protégés sont renseignés conformément à la spécification du flux de données. Le format format[SWS_RDS_90262] est défini, et des attributs tels que channels_per_frame[SWS_RDS_90267] ainsi que bit_depth[SWS_RDS_90266] sont renseignés avec des valeurs en tant que ara::core::Optional. Si un format AES3 est présent, aes3_data_type_h[SWS_RDS_90270], aes3_data_type_l[SWS_RDS_90271] et aes3_dt_ref[SWS_RDS_90272] sont également initialisés.
Traitement de la charge utile audio : le flux de données audio est transmis ou décodé en tenant compte des paramètres d'en-tête configurés.
Destruction de l'objet : une fois l'opération de streaming terminée ou après le traitement du paquet, l'objet est libéré de manière polymorphe via le destructeur virtuel ~IEEE1722DatagramAAF()[SWS_RDS_90273].
Diagramme de séquence : séquence typique d'instanciation, d'affectation des champs de protocole protégés et de destruction. Sources : [SWS_RDS_90262], [SWS_RDS_90266], [SWS_RDS_90273].
Scénarios d'erreur
Dans le cadre du traitement des erreurs et de la sûreté de l'interface, deux aspects sont particulièrement déterminants :
D'une part, l'encapsulation de champs d'en-tête optionnels dans ara::core::Optional (par exemple pour evt[SWS_RDS_90264], nfr[SWS_RDS_90265] ou sp[SWS_RDS_90269]) nécessite une vérification explicite de leur présence avant tout accès en lecture. Un accès direct à des valeurs optionnelles non définies entraîne des erreurs de programmation ou des erreurs à l'exécution. Les modules logiciels consommateurs doivent donc toujours vérifier avant l'évaluation si le champ concerné est valablement défini pour le flux de données actuel.
D'autre part, la spécification du destructeur comme noexcept garantit qu'aucune exception ne peut s'échapper pendant le nettoyage [SWS_RDS_90273]. Si des erreurs devaient survenir lors de la libération de ressources internes ou dérivées, celles-ci doivent impérativement être interceptées localement au sein du destructeur afin d'empêcher une terminaison du processus par l'environnement d'exécution C++.
Ce guide a été généré par une IA sur la base des documents de spécification d'AUTOSAR Adaptive R25-11.
gemini-3.8-flash-low· 2026-10-13 · Original allemand