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.
Служит для представления аудиодатаграмм IEEE 1722 с защищенными полями заголовка и виртуальным деструктором.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 57a5a8ff765cПроисхождениеОткрытые вопросы (3)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Служит для представления аудиодатаграмм IEEE 1722 с защищенными полями заголовка и виртуальным деструктором.
В модуле Raw Data Stream класс служит для структурированного представления аудиодатаграмм согласно IEEE 1722 AVTP Audio Format AUTOSAR_AP_SWS_RawDataStream с. 1. Он инкапсулирует протокольно-специфичные данные заголовка, такие как формат, число каналов и разрядность, в защищенных атрибутах, которые обычно инициализируются и обрабатываются производными классами потоков данных. Виртуальный деструктор гарантирует, что специализированные объекты датаграмм могут безопасно с точки зрения исключений и полиморфно освобождаться через указатели на базовый класс [SWS_RDS_90273]. Поскольку внутренняя синхронизация отсутствует, параллельный доступ должен координироваться применяющей архитектурой потоковой передачи.
Контекст
Класс ara::rds::IEEE1722DatagramAAF предоставляет в модуле Raw Data Stream (rds) платформы AUTOSAR Adaptive Platform представление датаграммы IEEE 1722 для AVTP Audio Format (AAF) на уровне данных AUTOSAR_AP_SWS_RawDataStream с. 1. Стандарт IEEE 1722 (Audio Video Transport Protocol, AVTP) служит для синхронизированной по времени передачи критичных ко времени аудио- и видеопотоков по сетям Ethernet в автомобильных средах. Заголовочный файл ara/rds/raw_data_stream_IEEE1722.h объявляет структуру внутри пространства имен ara::rds.
Класс отвечает за инкапсуляцию протокольно-специфичных полей управления и метаданных кадра данных AAF. Сюда относится обязательное поле формата format[SWS_RDS_90262], а также сведения о количестве потоков данных на кадр через streams_per_frame[SWS_RDS_90263] или sp[SWS_RDS_90269]. Для гибкого представления различных аудиоформатов и спецификаций AES3 класс включает опциональные атрибуты для частот дискретизации и частот кадров, такие как nsr[SWS_RDS_90268] и nfr[SWS_RDS_90265], идентификаторы событий evt[SWS_RDS_90264], информацию о каналах channels_per_frame[SWS_RDS_90267], разрядность bit_depth[SWS_RDS_90266], а также поля типа данных и эталонные поля AES3 aes3_data_type_h[SWS_RDS_90270], aes3_data_type_l[SWS_RDS_90271] и aes3_dt_ref[SWS_RDS_90272].
Поскольку все поля данных определены в защищенной области (protected) и публичные методы доступа не объявлены, класс, по-видимому, служит преимущественно базовым классом наследования для конкретных, специализированных внутри модуля типов датаграмм и драйверов. Вопрос Q-f24c82b5fa9fbaaa (открытый) Партнерами по взаимодействию являются обрабатывающие компоненты подсистемы RDS, которые принимают необработанные потоки данных из сети, разбирают их или подготавливают к отправке.
Жизненный цикл
Объекты ara::rds::IEEE1722DatagramAAF создаются во время выполнения обычно в ходе конвейера потоковой передачи, как только новый аудиокадр данных принимается по Ethernet или компонуется для передачи. Управление и выделение памяти возлагаются на вышестоящую систему управления потоками данных модуля RDS или специализированный производный класс.
Для контролируемого уничтожения класс объявляет виртуальный деструктор ~IEEE1722DatagramAAF() noexcept[SWS_RDS_90273]. Виртуальное объявление гарантирует, что производные классы при освобождении через указатели на базовый класс очищаются полностью и безошибочно, без возникновения утечек ресурсов. Спецификация noexcept гарантирует, что при удалении объекта не генерируются исключения, что критически важно, в частности, при раскрутке стека в случае ошибки (Stack Unwinding).
Что касается параллелизма, ara::rds::IEEE1722DatagramAAF не предоставляет собственной внутренней синхронизации. Поскольку обработка потокового аудио часто выполняется в отдельных потоках реального времени, одновременный доступ на чтение и запись должен координироваться внешними механизмами синхронизации вызывающей архитектуры.
Путь использования
Типичное использование класса осуществляется через специализированный производный класс, который делает защищенные атрибуты доступными для обработки полезной нагрузки. Репрезентативный сценарий использования включает четыре последовательных этапа:
Инстанцирование: применяющий компонент или аудиодрайвер инстанцирует специализированный объект датаграммы, в результате чего создается базовый класс IEEE1722DatagramAAF.
Инициализация заголовка: защищенные атрибуты заполняются в соответствии со спецификацией потока данных. Задается формат format[SWS_RDS_90262], а атрибуты, такие как channels_per_frame[SWS_RDS_90267] и bit_depth[SWS_RDS_90266], заполняются значениями как ara::core::Optional. При наличии формата AES3 также инициализируются aes3_data_type_h[SWS_RDS_90270], aes3_data_type_l[SWS_RDS_90271] и aes3_dt_ref[SWS_RDS_90272].
Обработка полезной нагрузки аудио: аудиопоток передается или декодируется с учетом настроенных параметров заголовка.
Уничтожение объекта: по завершении процесса потоковой передачи или после обработки пакета объект полиморфно освобождается через виртуальный деструктор ~IEEE1722DatagramAAF()[SWS_RDS_90273].
В рамках обработки ошибок и надежности интерфейса решающее значение имеют, в частности, два аспекта:
С одной стороны, инкапсуляция опциональных полей заголовка в ara::core::Optional (например, в случае evt[SWS_RDS_90264], nfr[SWS_RDS_90265] или sp[SWS_RDS_90269]) требует явной проверки наличия перед операцией чтения. Прямой доступ к неустановленным опциональным значениям приводит к программным ошибкам или ошибкам времени выполнения. Поэтому потребляющие программные модули перед анализом всегда должны проверять, является ли соответствующее поле корректно установленным для текущего потока данных.
С другой стороны, спецификация деструктора как noexcept гарантирует, что во время очистки исключения не могут выйти наружу [SWS_RDS_90273]. Если при освобождении внутренних или производных ресурсов возникают ошибки, они обязательно должны перехватываться локально внутри деструктора, чтобы предотвратить завершение процесса средой выполнения C++.
Данное руководство сформировано с помощью ИИ на основе материалов спецификации AUTOSAR Adaptive R25-11.
gemini-3.8-flash-low· 2026-10-13 · Немецкий оригинал