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.
Serve para a representação de datagramas de áudio IEEE 1722 com campos de cabeçalho protegidos e destrutor virtual.
GERADO POR IAnão revisadoModelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 57a5a8ff765cProcedênciaPerguntas em aberto (3)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão
Serve para a representação de datagramas de áudio IEEE 1722 com campos de cabeçalho protegidos e destrutor virtual.
No módulo Raw Data Stream, a classe serve para a representação estruturada de datagramas de áudio em conformidade com o IEEE 1722 AVTP Audio Format AUTOSAR_AP_SWS_RawDataStream p. 1. Ela encapsula dados de cabeçalho específicos do protocolo, tais como formato, número de canais e profundidade de bits em atributos protegidos, que tipicamente são inicializados e avaliados por classes de fluxo de dados derivadas. Um destrutor virtual assegura que objetos de datagrama especializados possam ser liberados de forma polimórfica e segura contra exceções por meio de ponteiros de classe base [SWS_RDS_90273]. Como não existe sincronização interna, acessos concorrentes devem ser coordenados pela arquitetura de streaming aplicável.
Contexto
A classe ara::rds::IEEE1722DatagramAAF disponibiliza no módulo Raw Data Stream (rds) da AUTOSAR Adaptive Platform o mapeamento computacional de um datagrama IEEE 1722 para o AVTP Audio Format (AAF) AUTOSAR_AP_SWS_RawDataStream p. 1. O padrão IEEE 1722 (Audio Video Transport Protocol, AVTP) serve para a transmissão temporalmente sincronizada de fluxos de dados de áudio e vídeo de tempo crítico através de redes Ethernet em ambientes automotivos. O arquivo de cabeçalho ara/rds/raw_data_stream_IEEE1722.h declara a estrutura dentro do namespace ara::rds.
A classe é responsável pelo encapsulamento dos campos de controle e metadados específicos do protocolo de um quadro de dados AAF. Isso inclui o campo de formato obrigatório format[SWS_RDS_90262], bem como indicações sobre o número de fluxos de dados por quadro via streams_per_frame[SWS_RDS_90263] ou sp[SWS_RDS_90269]. Para a representação flexível de diferentes formatos de áudio e especificações AES3, a classe engloba atributos opcionais para taxas de amostragem e taxas de quadros, tais como nsr[SWS_RDS_90268] e nfr[SWS_RDS_90265], identificadores de evento evt[SWS_RDS_90264], informações de canal channels_per_frame[SWS_RDS_90267], profundidades de bits bit_depth[SWS_RDS_90266], além de campos de tipo de dados e referência AES3 aes3_data_type_h[SWS_RDS_90270], aes3_data_type_l[SWS_RDS_90271] e aes3_dt_ref[SWS_RDS_90272].
Como todos os campos de dados são definidos na seção protegida (protected) e nenhum método de acesso público é declarado, a classe deve servir primariamente como base de herança para tipos de datagramas e drivers concretos, especializados internamente no módulo. Pergunta Q-f24c82b5fa9fbaaa (aberta) Parceiros de interação são os componentes de processamento do subsistema RDS, que recebem fluxos de dados brutos da rede, realizam o parsing ou os preparam para o envio.
Ciclo de vida
Objetos de ara::rds::IEEE1722DatagramAAF são tipicamente criados em tempo de execução no curso do pipeline de streaming, assim que um novo quadro de dados de áudio é recebido via Ethernet ou montado para transmissão. O gerenciamento e a alocação cabem ao gerenciamento de fluxo de dados de nível superior do módulo RDS ou a uma classe derivada especializada.
Para a destruição controlada, a classe declara um destrutor virtual ~IEEE1722DatagramAAF() noexcept[SWS_RDS_90273]. A declaração virtual garante que classes derivadas sejam liberadas de forma completa e sem falhas durante a desalocação por meio de ponteiros de classe base, sem que ocorram vazamentos de recursos. Através da especificação noexcept, é garantido que nenhuma exceção seja disparada durante a destruição do objeto, o que é indispensável, em especial, no desenrolamento de pilha em caso de erro (stack unwinding).
Em relação à concorrência, ara::rds::IEEE1722DatagramAAF não oferece sincronização interna própria. Como os processamentos de streaming de áudio frequentemente são executados em threads de tempo real separadas, acessos simultâneos de leitura e escrita devem ser coordenados por mecanismos de sincronização externos da arquitetura chamadora.
Caminho de utilização
O uso típico da classe ocorre através de uma derivação especializada que torna acessíveis os atributos protegidos para o processamento de dados úteis. Um caminho de uso representativo abrange quatro fases sucessivas:
Instanciação: o componente usuário ou o driver de áudio instancia um objeto de datagrama especializado, pelo que a classe base IEEE1722DatagramAAF é criada.
Inicialização do cabeçalho: os atributos protegidos são preenchidos de acordo com a especificação do fluxo de dados. O formato format[SWS_RDS_90262] é definido, e atributos como channels_per_frame[SWS_RDS_90267] e bit_depth[SWS_RDS_90266] são atribuídos como ara::core::Optional com valores. Caso esteja presente um formato AES3, aes3_data_type_h[SWS_RDS_90270], aes3_data_type_l[SWS_RDS_90271] e aes3_dt_ref[SWS_RDS_90272] também são inicializados.
Processamento do payload de áudio: o fluxo de dados de áudio é transmitido ou decodificado levando em consideração os parâmetros de cabeçalho configurados.
Destruição do objeto: após a conclusão do procedimento de streaming ou após o processamento do pacote, o objeto é liberado polimorficamente através do destrutor virtual ~IEEE1722DatagramAAF()[SWS_RDS_90273].
No âmbito do tratamento de erros e da segurança da interface, dois aspectos são particularmente determinantes:
Por um lado, o encapsulamento de campos de cabeçalho opcionais em ara::core::Optional (por exemplo, em evt[SWS_RDS_90264], nfr[SWS_RDS_90265] ou sp[SWS_RDS_90269]) requer uma verificação explícita de presença antes do acesso de leitura. Um acesso direto a valores opcionais não definidos acarreta erros de programação ou erros de tempo de execução. Módulos de software consumidores devem, portanto, sempre verificar antes da avaliação se o respectivo campo está validamente definido para o fluxo de dados atual.
Por outro lado, a especificação do destrutor como noexcept assegura que nenhuma exceção possa escapar durante a limpeza [SWS_RDS_90273]. Se ocorrerem erros durante a liberação de recursos internos ou derivados, estes devem obrigatoriamente ser interceptados localmente dentro do destrutor, para evitar o encerramento do processo pelo ambiente de tempo de execução C++.
Este guia foi gerado por uma IA com base nos documentos de especificação da AUTOSAR Adaptive R25-11.
gemini-3.8-flash-low· 2026-10-13 · Original em alemão