\hypertarget{a00509_source}{}\doxysection{AAX\+\_\+\+VComponent\+Descriptor.\+h}
\label{a00509_source}\index{AAX\_VComponentDescriptor.h@{AAX\_VComponentDescriptor.h}}
\mbox{\hyperlink{a00509}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ \textcolor{comment}{/*================================================================================================*/}}
\DoxyCodeLine{00002\ \textcolor{comment}{/*}}
\DoxyCodeLine{00003\ \textcolor{comment}{\ *}}
\DoxyCodeLine{00004\ \textcolor{comment}{\ *\ \ Copyright\ 2013-\/2017,\ 2019,\ 2023\ Avid\ Technology,\ Inc.}}
\DoxyCodeLine{00005\ \textcolor{comment}{\ *\ \ All\ rights\ reserved.}}
\DoxyCodeLine{00006\ \textcolor{comment}{\ *\ \ }}
\DoxyCodeLine{00007\ \textcolor{comment}{\ *\ \ CONFIDENTIAL:\ this\ document\ contains\ confidential\ information\ of\ Avid.\ Do}}
\DoxyCodeLine{00008\ \textcolor{comment}{\ *\ \ not\ disclose\ to\ any\ third\ party.\ Use\ of\ the\ information\ contained\ in\ this}}
\DoxyCodeLine{00009\ \textcolor{comment}{\ *\ \ document\ is\ subject\ to\ an\ Avid\ SDK\ license.}}
\DoxyCodeLine{00010\ \textcolor{comment}{\ *}}
\DoxyCodeLine{00011\ \textcolor{comment}{\ */}}
\DoxyCodeLine{00012\ }
\DoxyCodeLine{00019\ \textcolor{comment}{/*================================================================================================*/}}
\DoxyCodeLine{00020\ }
\DoxyCodeLine{00021\ \textcolor{preprocessor}{\#ifndef\ AAX\_VCOMPONENTDESCRIPTOR\_H}}
\DoxyCodeLine{00022\ \textcolor{preprocessor}{\#define\ AAX\_VCOMPONENTDESCRIPTOR\_H}}
\DoxyCodeLine{00023\ }
\DoxyCodeLine{00024\ \textcolor{comment}{//\ AAX\ Includes}}
\DoxyCodeLine{00025\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{a00479}{AAX\_IComponentDescriptor.h}}"{}}}
\DoxyCodeLine{00026\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{a00647}{AAX\_IDma.h}}"{}}}
\DoxyCodeLine{00027\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{a00623}{AAX\_IACFComponentDescriptor.h}}"{}}}
\DoxyCodeLine{00028\ }
\DoxyCodeLine{00029\ \textcolor{comment}{//\ ACF\ Includes}}
\DoxyCodeLine{00030\ \textcolor{preprocessor}{\#include\ "{}acfunknown.h"{}}}
\DoxyCodeLine{00031\ \textcolor{preprocessor}{\#include\ "{}ACFPtr.h"{}}}
\DoxyCodeLine{00032\ }
\DoxyCodeLine{00033\ \textcolor{comment}{//\ Standard\ Includes}}
\DoxyCodeLine{00034\ \textcolor{preprocessor}{\#include\ <set>}}
\DoxyCodeLine{00035\ }
\DoxyCodeLine{00036\ }
\DoxyCodeLine{00037\ \textcolor{keyword}{class\ }\mbox{\hyperlink{a02289}{AAX\_IPropertyMap}};}
\DoxyCodeLine{00038\ \textcolor{keyword}{class\ }\mbox{\hyperlink{a01997}{AAX\_IACFComponentDescriptor}};}
\DoxyCodeLine{00039\ \textcolor{keyword}{class\ }AAX\_IACFComponentDescriptorV2;}
\DoxyCodeLine{00040\ \textcolor{keyword}{class\ }\mbox{\hyperlink{a01757}{IACFUnknown}};}
\DoxyCodeLine{00041\ }
\DoxyCodeLine{00046\ \textcolor{keyword}{class\ }\mbox{\hyperlink{a02349}{AAX\_VComponentDescriptor}}\ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{a02193}{AAX\_IComponentDescriptor}}}
\DoxyCodeLine{00047\ \{}
\DoxyCodeLine{00048\ \textcolor{keyword}{public}:}
\DoxyCodeLine{00049\ \ \ \ \ \mbox{\hyperlink{a02349_ac7afc2d0da1ba680cfe5316facfff038}{AAX\_VComponentDescriptor}}\ (\ \mbox{\hyperlink{a01757}{IACFUnknown}}\ *\ pUnkHost\ );}
\DoxyCodeLine{00050\ \ \ \ \ \mbox{\hyperlink{a02349_a9e49ea29b3d98251bb17542d5c24f711}{\string~AAX\_VComponentDescriptor}}\ ()\ \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};}
\DoxyCodeLine{00051\ \ \ \ \ }
\DoxyCodeLine{00052\ \ \ \ \ \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a02349_a46226eb4c9b31c5c55296bab4f02d91c}{Clear}}\ ()\ \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};\ }
\DoxyCodeLine{00053\ \ \ \ \ \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a02349_ac84695bd7c0161a2a0b29b9a3515189c}{AddReservedField}}\ (\ \mbox{\hyperlink{a00533_ae807f8986143820cfb5d6da32165c9c7}{AAX\_CFieldIndex}}\ inFieldIndex,\ uint32\_t\ inFieldType\ )\ \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};\ }
\DoxyCodeLine{00054\ \ \ \ \ \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a02349_a612fab50f30f1595bdba9aa001344b44}{AddAudioIn}}\ (\ \mbox{\hyperlink{a00533_ae807f8986143820cfb5d6da32165c9c7}{AAX\_CFieldIndex}}\ inFieldIndex\ )\ \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};\ }
\DoxyCodeLine{00055\ \ \ \ \ \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a02349_a08252ef7dc9aa763fcccfc527583c47f}{AddAudioOut}}\ (\ \mbox{\hyperlink{a00533_ae807f8986143820cfb5d6da32165c9c7}{AAX\_CFieldIndex}}\ inFieldIndex\ )\ \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};\ }
\DoxyCodeLine{00056\ \ \ \ \ \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a02349_ae7bc664b4079cb46ca268e983821461d}{AddAudioBufferLength}}\ (\ \mbox{\hyperlink{a00533_ae807f8986143820cfb5d6da32165c9c7}{AAX\_CFieldIndex}}\ inFieldIndex\ )\ \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};\ }
\DoxyCodeLine{00057\ \ \ \ \ \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a02349_a7c69cb309caba10c00e43df147697e98}{AddSampleRate}}\ (\ \mbox{\hyperlink{a00533_ae807f8986143820cfb5d6da32165c9c7}{AAX\_CFieldIndex}}\ inFieldIndex\ )\ \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};\ }
\DoxyCodeLine{00058\ \ \ \ \ \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a02349_a4da0588e0e1fb6c1b74af10ac525a35e}{AddClock}}\ (\ \mbox{\hyperlink{a00533_ae807f8986143820cfb5d6da32165c9c7}{AAX\_CFieldIndex}}\ inFieldIndex\ )\ \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};\ }
\DoxyCodeLine{00059\ \ \ \ \ \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a02349_a9d3ad428d0b423e4aabba60eb76655c7}{AddSideChainIn}}\ (\ \mbox{\hyperlink{a00533_ae807f8986143820cfb5d6da32165c9c7}{AAX\_CFieldIndex}}\ inFieldIndex\ )\ \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};\ }
\DoxyCodeLine{00060\ }
\DoxyCodeLine{00061\ \ \ \ \ \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a02349_a1b2c3ae4de896e0f47a771ad8b1b5d08}{AddDataInPort}}\ (\ \mbox{\hyperlink{a00533_ae807f8986143820cfb5d6da32165c9c7}{AAX\_CFieldIndex}}\ inFieldIndex,\ uint32\_t\ inPacketSize,\ \mbox{\hyperlink{a00443_ab5677b173ad8647c24d34d28272d11fc}{AAX\_EDataInPortType}}\ inPortType\ )\ \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};\ }
\DoxyCodeLine{00062\ \ \ \ \ \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a02349_a51525dd1833baa062d840d7df7225305}{AddAuxOutputStem}}\ (\ \mbox{\hyperlink{a00533_ae807f8986143820cfb5d6da32165c9c7}{AAX\_CFieldIndex}}\ inFieldIndex,\ int32\_t\ inStemFormat,\ const\ \textcolor{keywordtype}{char}\ inNameUTF8[])\ \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};\ }
\DoxyCodeLine{00063\ \ \ \ \ \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a02349_ac1f89d2b73347438a79d21c589e4ff63}{AddPrivateData}}\ (\ \mbox{\hyperlink{a00533_ae807f8986143820cfb5d6da32165c9c7}{AAX\_CFieldIndex}}\ inFieldIndex,\ int32\_t\ inDataSize,\ uint32\_t\ inOptions\ )\ \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};\ }
\DoxyCodeLine{00064\ \ \ \ \ \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a02349_a995b721918e80f51283d461e0d185c76}{AddTemporaryData}}(\ \mbox{\hyperlink{a00533_ae807f8986143820cfb5d6da32165c9c7}{AAX\_CFieldIndex}}\ inFieldIndex,\ uint32\_t\ inDataElementSize)\ \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};\ }
\DoxyCodeLine{00065\ \ \ \ \ \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a02349_ac6663697038ae02344ac541f79d261e0}{AddDmaInstance}}\ (\ \mbox{\hyperlink{a00533_ae807f8986143820cfb5d6da32165c9c7}{AAX\_CFieldIndex}}\ inFieldIndex,\ \mbox{\hyperlink{a02229}{AAX\_IDma}}::EMode\ inDmaMode\ )\ \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};\ }
\DoxyCodeLine{00066\ \ \ \ \ \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a02349_acf2c5e733819e4261f3a69e71f0c3795}{AddMeters}}\ (\ \mbox{\hyperlink{a00533_ae807f8986143820cfb5d6da32165c9c7}{AAX\_CFieldIndex}}\ inFieldIndex,\ const\ \mbox{\hyperlink{a00533_ac678f9c1fbcc26315d209f71a147a175}{AAX\_CTypeID}}*\ inMeterIDs,\ const\ uint32\_t\ inMeterCount)\ \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};\ }
\DoxyCodeLine{00067\ \ \ \ \ \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a02349_a14eb1a2cc13f8c4672ae9fb7be6a8d72}{AddMIDINode}}\ (\ \mbox{\hyperlink{a00533_ae807f8986143820cfb5d6da32165c9c7}{AAX\_CFieldIndex}}\ inFieldIndex,\ \mbox{\hyperlink{a00443_a5e1dffce35d05990dbbad651702678e4}{AAX\_EMIDINodeType}}\ inNodeType,\ const\ \textcolor{keywordtype}{char}\ inNodeName[],\ uint32\_t\ channelMask\ )\ \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};\ }
\DoxyCodeLine{00068\ }
\DoxyCodeLine{00069\ }
\DoxyCodeLine{00074\ \ \ \ \ \mbox{\hyperlink{a02289}{AAX\_IPropertyMap}}\ *\ \ \mbox{\hyperlink{a02349_a88607cf3590f56d70e362f84055e5176}{NewPropertyMap}}\ ()\ const\ \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};}
\DoxyCodeLine{00079\ \ \ \ \ \mbox{\hyperlink{a02289}{AAX\_IPropertyMap}}\ *\ \ \mbox{\hyperlink{a02349_af26d612d6cd565f6a21a645f28783b86}{DuplicatePropertyMap}}\ (\mbox{\hyperlink{a02289}{AAX\_IPropertyMap}}*\ inPropertyMap)\ const\ \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};}
\DoxyCodeLine{00082\ \ \ \ \ virtual\ \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a02349_a21e758a4ad757e694c183548fe58f0f0}{AddProcessProc\_Native}}\ (}
\DoxyCodeLine{00083\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a00767_ad6dd5e1aa5bd2f8462966685e3b26a6e}{AAX\_CProcessProc}}\ inProcessProc,\ }
\DoxyCodeLine{00084\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a02289}{AAX\_IPropertyMap}}\ *\ inProperties\ =\ NULL,\ }
\DoxyCodeLine{00085\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a00767_a3963a850079d3186e08c97a1a4d0ef1c}{AAX\_CInstanceInitProc}}\ inInstanceInitProc\ =\ NULL,\ }
\DoxyCodeLine{00086\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a00767_aa64561d963284a3124a0821e7dc79c9a}{AAX\_CBackgroundProc}}\ inBackgroundProc\ =\ NULL,\ }
\DoxyCodeLine{00087\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a00533_aeaf9b387f902c50a8360ff423f4a1f23}{AAX\_CSelector}}\ *\ outProcID\ =\ NULL\ )\ \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};}
\DoxyCodeLine{00090\ \ \ \ \ virtual\ \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a02349_abd3f08cdbc3c6585c32b4a5b58043dde}{AddProcessProc\_TI}}\ (\ }
\DoxyCodeLine{00091\ \ \ \ \ \ \ \ \ const\ \textcolor{keywordtype}{char}\ inDLLFileNameUTF8[],\ }
\DoxyCodeLine{00092\ \ \ \ \ \ \ \ \ const\ \textcolor{keywordtype}{char}\ inProcessProcSymbol[],\ }
\DoxyCodeLine{00093\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a02289}{AAX\_IPropertyMap}}\ *\ inProperties\ =\ NULL,\ \ }
\DoxyCodeLine{00094\ \ \ \ \ \ \ \ \ const\ \textcolor{keywordtype}{char}\ \ inInstanceInitProcSymbol\ []\ =\ NULL,\ }
\DoxyCodeLine{00095\ \ \ \ \ \ \ \ \ const\ \textcolor{keywordtype}{char}\ \ inBackgroundProcSymbol\ []\ =\ NULL,\ }
\DoxyCodeLine{00096\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a00533_aeaf9b387f902c50a8360ff423f4a1f23}{AAX\_CSelector}}\ *\ outProcID\ =\ NULL\ )\ \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};}
\DoxyCodeLine{00099\ \ \ \ \ virtual\ \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \mbox{\hyperlink{a02349_a93702a420bd6d61187802ac09b223c03}{AddProcessProc}}\ (}
\DoxyCodeLine{00100\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a02289}{AAX\_IPropertyMap}}*\ inProperties,}
\DoxyCodeLine{00101\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a00533_aeaf9b387f902c50a8360ff423f4a1f23}{AAX\_CSelector}}*\ outProcIDs\ =\ NULL,}
\DoxyCodeLine{00102\ \ \ \ \ \ \ \ \ int32\_t\ inProcIDsSize\ =\ 0)\ \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};}
\DoxyCodeLine{00103\ }
\DoxyCodeLine{00104\ }
\DoxyCodeLine{00105\ \ \ \ \ \mbox{\hyperlink{a01757}{IACFUnknown}}*\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a02349_a1233cf46eb6e10dc1b28c31fbb391918}{GetIUnknown}}(\textcolor{keywordtype}{void})\ const;}
\DoxyCodeLine{00106\ }
\DoxyCodeLine{00107\ private:}
\DoxyCodeLine{00108\ \ \ \ \ \textcolor{comment}{//\ Used\ for\ backwards\ compatibility\ with\ clients\ which\ do\ not\ support\ AddProcessProc}}
\DoxyCodeLine{00109\ \ \ \ \ friend\ class\ \mbox{\hyperlink{a02389}{AAX\_VPropertyMap}};}
\DoxyCodeLine{00110\ \ \ \ \ static\ const\ std::set<\mbox{\hyperlink{a00599_a13e384f22825afd3db6d68395b79ce0d}{AAX\_EProperty}}>\&\ PointerPropertiesUsedByAddProcessProc();}
\DoxyCodeLine{00111\ \ \ \ \ }
\DoxyCodeLine{00112\ private:}
\DoxyCodeLine{00113\ \ \ \ \ ACFPtr<\mbox{\hyperlink{a01757}{IACFUnknown}}>\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ mUnkHost;}
\DoxyCodeLine{00114\ \ \ \ \ ACFPtr<\mbox{\hyperlink{a01997}{AAX\_IACFComponentDescriptor}}>\ \ mIACFComponentDescriptor;}
\DoxyCodeLine{00115\ \ \ \ \ ACFPtr<\mbox{\hyperlink{a02001}{AAX\_IACFComponentDescriptor\_V2}}>\ mIACFComponentDescriptorV2;}
\DoxyCodeLine{00116\ \ \ \ \ ACFPtr<\mbox{\hyperlink{a02005}{AAX\_IACFComponentDescriptor\_V3}}>\ mIACFComponentDescriptorV3;}
\DoxyCodeLine{00117\ \ \ \ \ std::set<\mbox{\hyperlink{a02289}{AAX\_IPropertyMap}}\ *>\ \ \ \ \ \ \ \ mPropertyMaps;\ \ }
\DoxyCodeLine{00118\ \};}
\DoxyCodeLine{00119\ }
\DoxyCodeLine{00120\ }
\DoxyCodeLine{00121\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\ \#ifndef\ \_AAX\_ICOMPONENTDESCRIPTOR\_H\_}}

\end{DoxyCode}
