/** * @file * Compat header containing structs and defines needed for the ddlcoder (mediacoder) test * * @copyright * @verbatim Copyright @ 2017 Audi Electronics Venture GmbH. All rights reserved. This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/. If it is not possible or desirable to put the notice in a particular file, then You may include the notice in a location (such as a LICENSE file in a relevant directory) where a recipient would be likely to look for such a notice. You may add additional accurate notices of copyright ownership. @endverbatim */ #ifndef _ADTF_TEST_COMPAT_HEADER_ #define _ADTF_TEST_COMPAT_HEADER_ /** * This Macro is the type name of the tCanMessage to describe media samples submitted on a pin (@ref adtf::IPin). * set these description on the Media Type (@ref adtf::IMediaTypeDescription of the IMediatype set on pin). */ #define ADTF_MEDIA_DESC_CANMESSAGE "tCanMessage" /** * This Macro defines the description of tCanMessage structure used within ADTF @ref adtf::cMediaSampleCan. * used for @ref ADTF_MEDIA_DESC_CANMESSAGE_DESCRIPTION in Version 1.0+. */ #define ADTF_MEDIA_DESC_CANMESSAGE_DESCRIPTION_DDL1 "" \ " " \ " " \ " " \ " " \ "" /** * This Macro defines the description of a tCanMessage structure used within ADTF @ref adtf::cMediaSampleCan. * See @ref ADTF_MEDIA_DESC_CANMESSAGE_DESCRIPTION_DDL1. */ #define ADTF_MEDIA_DESC_CANMESSAGE_DESCRIPTION ADTF_MEDIA_DESC_CANMESSAGE_DESCRIPTION_DDL1 typedef struct { /// id of can message std::uint16_t ui16Id; /// channel to send or transmit can data std::uint8_t ui8Channel; /// length of data std::uint8_t ui8Length; /// data field std::uint8_t pui8Data[8]; } tCanMessage; #define ADTF_MEDIA_DESC_MEDIA_TYPEINFO_DDL1 " " \ " " \ " " \ " " \ " " #define ADTF_MEDIA_DESC_MEDIATYPE_DDL1 "" \ ADTF_MEDIA_DESC_MEDIA_TYPEINFO_DDL1 \ " " \ " " \ " " \ "" #define ADTF_MEDIA_DESC_MEDIA_TYPEINFO_DDL2 " " \ " " \ " " \ " " \ " " #define ADTF_MEDIA_DESC_MEDIATYPE_DDL2 "" \ ADTF_MEDIA_DESC_MEDIA_TYPEINFO_DDL2 \ " " \ " " \ " " \ "" #define ADTF_MEDIA_DESC_MEDIA_TYPEINFO ADTF_MEDIA_DESC_MEDIA_TYPEINFO_DDL2 #define ADTF_MEDIA_DESC_MEDIATYPE ADTF_MEDIA_DESC_MEDIATYPE_DDL2 #pragma pack ( push, 1 ) typedef struct { ///The major type. std::uint32_t ui32MajorType; ///The minor sub type. std::uint32_t ui32SubType; ///Flags. std::uint32_t ui32Flags; } tMediaTypeInfo; typedef struct { /// media type information tMediaTypeInfo mediatype; } tADTFCoreMediaType; #pragma pack ( pop ) class IMediaDescription { public: typedef enum { MDNT_FindOutSelf = 0x00, MDNT_StreamType = 0x01, MDNT_StructType = 0x02, MDNT_DataType = 0x03, MDNT_UnitType = 0x04, MDNT_BaseUnitType = 0x05 } tMediaNameType; }; class IMediaDescriptionManager { public: typedef enum { MDMF_ForceOverwrite = 0x0001000, MDMF_FilenameRef = 0x0002000, MDMF_StreamStructType = 0x0004000, MDMF_StreamDataType = 0x0008000, MDMF_ForceStreamDescription = 0x0010000, MDMF_ForceStructDescription = 0x0020000, MDMF_ForceDatatypeDescription = 0x0040000 } tMediaDecriptionManagerFlags; }; #endif // _ADTF_TEST_COMPAT_HEADER_