/* Each OMX header shall include all required header files to allow the *headertocompilewithouterrors.Theincludesbelowarerequired *forthisheaderfiletocompilesuccessfully
*/
#include <OMX_Index.h>
/** The OMX_COMMANDTYPE enumeration is used to specify the action in the *OMX_SendCommandmacro. *@ingroupcore
*/ typedefenum OMX_COMMANDTYPE
{
OMX_CommandStateSet, /**< Change the component state */
OMX_CommandFlush, /**< Flush the data queue(s) of a component */
OMX_CommandPortDisable, /**< Disable a port on a component. */
OMX_CommandPortEnable, /**< Enable a port on a component. */
OMX_CommandMarkBuffer, /**< Mark a component/buffer for observation */
OMX_CommandKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
OMX_CommandVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
OMX_CommandMax = 0X7FFFFFFF
} OMX_COMMANDTYPE;
/** The OMX_STATETYPE enumeration is used to indicate or change the component *state.Thisenumerationreflectsthecurrentstateofthecomponentwhen *usedwiththeOMX_GetStatemacroorbecomestheparameterinastatechange *commandwhenusedwiththeOMX_SendCommandmacro. * *ThecomponentwillbeintheLoadedstateafterthecomponentisinitially *loadedintomemory.IntheLoadedstate,thecomponentisnotallowedto *allocateorholdresourcesotherthantobuildit'sinternalparameter *andconfigurationtables.Theapplicationwillsendoneormore *SetParameters/GetParametersandSetConfig/GetConfigcommandstothe *componentandthecomponentwillrecordeachoftheseparameterand *configurationchangesforuselater.Whentheapplicationsendsthe *Idlecommand,thecomponentwillacquiretheresourcesneededforthe *specifiedconfigurationandwilltransitiontotheidlestateifthe *allocationissuccessful.Ifthecomponentcannotsuccessfully *transitiontotheidlestateforanyreason,thestateofthecomponent *shallbefullyrolledbacktotheLoadedstate(e.g.allallocated *resourcesshallbereleased).Whenthecomponentreceivesthecommand *togototheExecutingstate,itshallbeginprocessingbuffersby *sendingallinputbuffersitholdstotheapplication.While *thecomponentisintheIdlestate,theapplicationmayalsosendthe *Pausecommand.Ifthecomponentreceivesthepausecommandwhileinthe *Idlestate,thecomponentshallsendallinputbuffersitholdstothe *application,butshallnotbeginprocessingbuffers.Thiswillallowthe *applicationtoprefillbuffers. * *@ingroupcomp
*/
typedefenum OMX_STATETYPE
{
OMX_StateInvalid, /**< component has detected that it's internal data structuresarecorruptedtothepointthat
it cannot determine it's state properly */
OMX_StateLoaded, /**< component has been loaded but has not completed initialization.TheOMX_SetParametermacro andtheOMX_GetParametermacroaretheonly validmacrosallowedtobesenttothe
component in this state. */
OMX_StateIdle, /**< component initialization has been completed successfullyandthecomponentisreadyto
to start. */
OMX_StateExecuting, /**< component has accepted the start command and
is processing data (if data is available) */
OMX_StatePause, /**< component has received pause command */
OMX_StateWaitForResources, /**< component is waiting for resources, either after preemptionorbeforeitgetstheresourcesrequested.
See specification for complete details. */
OMX_StateKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
OMX_StateVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
OMX_StateMax = 0X7FFFFFFF
} OMX_STATETYPE;
/** The OMX_ERRORTYPE enumeration defines the standard OMX Errors. These *errorsshouldcovermostofthecommonfailurecases.However, *vendorsarefreetoaddadditionalerrormessagesoftheirownas *longastheyfollowtheserules: *1.Vendorerrormessagesshallbeintherangeof0x90000000to *0x9000FFFF. *2.Vendorerrormessagesshallbedefinedinaheaderfileprovided *withthecomponent.Noerrormessagesareallowedthatare *notdefined.
*/ typedefenum OMX_ERRORTYPE
{
OMX_ErrorNone = 0,
/** There were insufficient resources to perform the requested operation */
OMX_ErrorInsufficientResources = (OMX_S32) 0x80001000,
/** There was an error, but the cause of the error could not be determined */
OMX_ErrorUndefined = (OMX_S32) 0x80001001,
/** The component name string was not valid */
OMX_ErrorInvalidComponentName = (OMX_S32) 0x80001002,
/** No component with the specified name string was found */
OMX_ErrorComponentNotFound = (OMX_S32) 0x80001003,
/** The component specified did not have a "OMX_ComponentInit" or
"OMX_ComponentDeInit entry point */
OMX_ErrorInvalidComponent = (OMX_S32) 0x80001004,
/** One or more parameters were not valid */
OMX_ErrorBadParameter = (OMX_S32) 0x80001005,
/** The requested function is not implemented */
OMX_ErrorNotImplemented = (OMX_S32) 0x80001006,
/** The buffer was emptied before the next buffer was ready */
OMX_ErrorUnderflow = (OMX_S32) 0x80001007,
/** The buffer was not available when it was needed */
OMX_ErrorOverflow = (OMX_S32) 0x80001008,
/** The hardware failed to respond as expected */
OMX_ErrorHardware = (OMX_S32) 0x80001009,
/** The component is in the state OMX_StateInvalid */
OMX_ErrorInvalidState = (OMX_S32) 0x8000100A,
/** Stream is found to be corrupt */
OMX_ErrorStreamCorrupt = (OMX_S32) 0x8000100B,
/** Ports being connected are not compatible */
OMX_ErrorPortsNotCompatible = (OMX_S32) 0x8000100C,
/** Resources allocated to an idle component have been
lost resulting in the component returning to the loaded state */
OMX_ErrorResourcesLost = (OMX_S32) 0x8000100D,
/** No more indicies can be enumerated */
OMX_ErrorNoMore = (OMX_S32) 0x8000100E,
/** The component detected a version mismatch */
OMX_ErrorVersionMismatch = (OMX_S32) 0x8000100F,
/** The component is not ready to return data at this time */
OMX_ErrorNotReady = (OMX_S32) 0x80001010,
/** There was a timeout that occurred */
OMX_ErrorTimeout = (OMX_S32) 0x80001011,
/** This error occurs when trying to transition into the state you are already in */
OMX_ErrorSameState = (OMX_S32) 0x80001012,
/** Resources allocated to an executing or paused component have been
preempted, causing the component to return to the idle state */
OMX_ErrorResourcesPreempted = (OMX_S32) 0x80001013,
/** A non-supplier port sends this error to the IL client (via the EventHandler callback) duringtheallocationofbuffers(onatransitionfromtheLOADEDtotheIDLEstateor onaportrestart)whenitdeemsthatithaswaitedanunusuallylongtimeforthesupplier
to send it an allocated buffer via a UseBuffer call. */
OMX_ErrorPortUnresponsiveDuringAllocation = (OMX_S32) 0x80001014,
/** A non-supplier port sends this error to the IL client (via the EventHandler callback) duringthedeallocationofbuffers(onatransitionfromtheIDLEtoLOADEDstateor onaportstop)whenitdeemsthatithaswaitedanunusuallylongtimeforthesupplier
to request the deallocation of a buffer header via a FreeBuffer call. */
OMX_ErrorPortUnresponsiveDuringDeallocation = (OMX_S32) 0x80001015,
/** A supplier port sends this error to the IL client (via the EventHandler callback) duringthestoppingofaport(eitheronatransitionfromtheIDLEtoLOADED stateoraportstop)whenitdeemsthatithaswaitedanunusuallylongtimefor
the non-supplier to return a buffer via an EmptyThisBuffer or FillThisBuffer call. */
OMX_ErrorPortUnresponsiveDuringStop = (OMX_S32) 0x80001016,
/** Attempting a state transtion that is not allowed */
OMX_ErrorIncorrectStateTransition = (OMX_S32) 0x80001017,
/* Attempting a command that is not allowed during the present state. */
OMX_ErrorIncorrectStateOperation = (OMX_S32) 0x80001018,
/** The values encapsulated in the parameter or config structure are not supported. */
OMX_ErrorUnsupportedSetting = (OMX_S32) 0x80001019,
/** The parameter or config indicated by the given index is not supported. */
OMX_ErrorUnsupportedIndex = (OMX_S32) 0x8000101A,
/** The port index supplied is incorrect. */
OMX_ErrorBadPortIndex = (OMX_S32) 0x8000101B,
/** The port has lost one or more of its buffers and it thus unpopulated. */
OMX_ErrorPortUnpopulated = (OMX_S32) 0x8000101C,
/** Component suspended due to temporary loss of resources */
OMX_ErrorComponentSuspended = (OMX_S32) 0x8000101D,
/** Component suspended due to an inability to acquire dynamic resources */
OMX_ErrorDynamicResourcesUnavailable = (OMX_S32) 0x8000101E,
/** When the macroblock error reporting is enabled the component returns new error
for every frame that has errors */
OMX_ErrorMbErrorsInFrame = (OMX_S32) 0x8000101F,
/** A component reports this error when it cannot parse or determine the format of an input stream. */
OMX_ErrorFormatNotDetected = (OMX_S32) 0x80001020,
/** The content open operation failed. */
OMX_ErrorContentPipeOpenFailed = (OMX_S32) 0x80001021,
/** @ingroup rpm */ typedefstruct OMX_PRIORITYMGMTTYPE {
OMX_U32 nSize; /**< size of the structure in bytes */
OMX_VERSIONTYPE nVersion; /**< OMX specification version information */
OMX_U32 nGroupPriority; /**< Priority of the component group */
OMX_U32 nGroupID; /**< ID of the component group */
} OMX_PRIORITYMGMTTYPE;
/* Component name and Role names are limited to 128 characters including the terminating '\0'. */ #define OMX_MAX_STRINGNAME_SIZE 128
/** @ingroup comp */ typedefstruct OMX_PARAM_COMPONENTROLETYPE {
OMX_U32 nSize; /**< size of the structure in bytes */
OMX_VERSIONTYPE nVersion; /**< OMX specification version information */
OMX_U8 cRole[OMX_MAX_STRINGNAME_SIZE]; /**< name of standard component which defines component role */
} OMX_PARAM_COMPONENTROLETYPE;
/** End of Stream Buffer Flag: * *AcomponentsetsEOSwhenithasnomoredatatoemitonaparticular *outputport.ThusanoutputportshallsetEOSonthelastbufferit *emits.Acomponent'sdeterminationofwhenanoutputportshould *ceasesendingdataisimplemenationspecific. *@ingroupbuf
*/
/* Data Corrupt Flag: This flag is set when the IL client believes the data in the associated buffer is corrupt *@ingroupbuf
*/
#define OMX_BUFFERFLAG_DATACORRUPT 0x00000008
/* End of Frame: The buffer contains exactly one end of frame and no data *occursaftertheendofframe.Thisflagisanoptionalhint.Theabsence *ofthisflagdoesnotimplytheabsenceofanendofframewithinthebuffer. *@ingroupbuf
*/ #define OMX_BUFFERFLAG_ENDOFFRAME 0x00000010
/* Sync Frame Flag: This flag is set when the buffer content contains a coded sync frame ' *aframethathasnodependencyonanyotherframeinformation *@ingroupbuf
*/ #define OMX_BUFFERFLAG_SYNCFRAME 0x00000020
/* Extra data present flag: there is extra data appended to the data stream *residinginthebuffer *@ingroupbuf
*/ #define OMX_BUFFERFLAG_EXTRADATA 0x00000040
/** @ingroup buf */ typedefstruct OMX_BUFFERHEADERTYPE
{
OMX_U32 nSize; /**< size of the structure in bytes */
OMX_VERSIONTYPE nVersion; /**< OMX specification version information */
OMX_U8* pBuffer; /**< Pointer to actual block of memory
that is acting as the buffer */
OMX_U32 nAllocLen; /**< size of the buffer allocated, in bytes */
OMX_U32 nFilledLen; /**< number of bytes currently in the
buffer */
OMX_U32 nOffset; /**< start offset of valid data in bytes from
the start of the buffer */
OMX_PTR pAppPrivate; /**< pointer to any data the application
wants to associate with this buffer */
OMX_PTR pPlatformPrivate; /**< pointer to any data the platform
wants to associate with this buffer */
OMX_PTR pInputPortPrivate; /**< pointer to any data the input port
wants to associate with this buffer */
OMX_PTR pOutputPortPrivate; /**< pointer to any data the output port
wants to associate with this buffer */
OMX_HANDLETYPE hMarkTargetComponent; /**< The component that will generate a
mark event upon processing this buffer. */
OMX_PTR pMarkData; /**< Application specific data associated with themarksentonamarkeventtodisambiguate
this mark from others. */
OMX_U32 nTickCount; /**< Optional entry that the component and applicationcanupdatewithatickcount whentheyaccessthecomponent.This valueshouldbeinmicroseconds.Since thisisavaluerelativetoanarbitrary startingpoint,thisvaluecannotbeused todetermineabsolutetime.Thisisan optionalentryandnotallcomponents
will update it.*/
OMX_TICKS nTimeStamp; /**< Timestamp corresponding to the sample startingatthefirstlogicalsample boundaryinthebuffer.Timestampsof successivesampleswithinthebuffermay beinferredbyaddingthedurationofthe oftheprecedingbuffertothetimestamp
of the preceding buffer.*/
OMX_U32 nFlags; /**< buffer specific flags */
OMX_U32 nOutputPortIndex; /**< The index of the output port (if any) using
this buffer */
OMX_U32 nInputPortIndex; /**< The index of the input port (if any) using
this buffer */
} OMX_BUFFERHEADERTYPE;
/** The OMX_EXTRADATATYPE enumeration is used to define the *possibleextradatapayloadtypes. *NB:thisenumisbinarybackwardscompatiblewiththeprevious *OMX_EXTRADATA_QUANTdefine.Thisshouldbereplacedwith *OMX_ExtraDataQuantization.
*/ typedefenum OMX_EXTRADATATYPE
{
OMX_ExtraDataNone = 0, /**< Indicates that no more extra data sections follow */
OMX_ExtraDataQuantization, /**< The data payload contains quantization data */
OMX_ExtraDataKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
OMX_ExtraDataVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
OMX_ExtraDataMax = 0x7FFFFFFF
} OMX_EXTRADATATYPE;
typedefstruct OMX_OTHER_EXTRADATATYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_EXTRADATATYPE eType; /* Extra Data type */
OMX_U32 nDataSize; /* Size of the supporting data to follow */
OMX_U8 data[1]; /* Supporting data hint */
} OMX_OTHER_EXTRADATATYPE;
/** @ingroup comp */ typedefstruct OMX_PORT_PARAM_TYPE {
OMX_U32 nSize; /**< size of the structure in bytes */
OMX_VERSIONTYPE nVersion; /**< OMX specification version information */
OMX_U32 nPorts; /**< The number of ports for this component */
OMX_U32 nStartPortNumber; /** first port number for this type of port */
} OMX_PORT_PARAM_TYPE;
/** @ingroup comp */ typedefenum OMX_EVENTTYPE
{
OMX_EventCmdComplete, /**< component has sucessfully completed a command */
OMX_EventError, /**< component has detected an error condition */
OMX_EventMark, /**< component has detected a buffer mark */
OMX_EventPortSettingsChanged, /**< component is reported a port settings change */
OMX_EventBufferFlag, /**< component has detected an EOS */
OMX_EventResourcesAcquired, /**< component has been granted resources and is automaticallystartingthestatechangefrom
OMX_StateWaitForResources to OMX_StateIdle. */
OMX_EventComponentResumed, /**< Component resumed due to reacquisition of resources */
OMX_EventDynamicResourcesAvailable, /**< Component has acquired previously unavailable dynamic resources */
OMX_EventPortFormatDetected, /**< Component has detected a supported format. */
OMX_EventKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
OMX_EventVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
OMX_EventMax = 0x7FFFFFFF
} OMX_EVENTTYPE;
typedefstruct OMX_CALLBACKTYPE
{ /** The EventHandler method is used to notify the application when an eventofinterestoccurs.EventsaredefinedintheOMX_EVENTTYPE enumeration.Pleaseseethatenumerationfordetailsofwhatwill bereturnedforeachtypeofevent.Callbacksshouldnotreturn anerrortothecomponent,soifanerroroccurs,theapplication shallhandleitinternally.Thisisablockingcall.
/** The EmptyBufferDone method is used to return emptied buffers from an inputportbacktotheapplicationforreuse.Thisisablockingcall sotheapplicationshouldnotattempttorefillthebuffersduringthis call,butshouldqueuethemandrefilltheminanotherthread.There isnoerrorreturn,sotheapplicationshallhandleanyerrorsgenerated internally.
/** The FillBufferDone method is used to return filled buffers from an outputportbacktotheapplicationforemptyingandthenreuse. Thisisablockingcallsotheapplicationshouldnotattemptto emptythebuffersduringthiscall,butshouldqueuethebuffers andemptytheminanotherthread.Thereisnoerrorreturn,so theapplicationshallhandleanyerrorsgeneratedinternally.The applicationshallalsoupdatethebufferheadertoindicatethe numberofbytesplacedintothebuffer.
/** The OMX_BUFFERSUPPLIERTYPE enumeration is used to dictate port supplier preferencewhentunnelingbetweentwoports. @ingrouptunbuf
*/ typedefenum OMX_BUFFERSUPPLIERTYPE
{
OMX_BufferSupplyUnspecified = 0x0, /**< port supplying the buffers is unspecified,
or don't care */
OMX_BufferSupplyInput, /**< input port supplies the buffers */
OMX_BufferSupplyOutput, /**< output port supplies the buffers */
OMX_BufferSupplyKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
OMX_BufferSupplyVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
OMX_BufferSupplyMax = 0x7FFFFFFF
} OMX_BUFFERSUPPLIERTYPE;
/** buffer supplier parameter *@ingrouptun
*/ typedefstruct OMX_PARAM_BUFFERSUPPLIERTYPE {
OMX_U32 nSize; /**< size of the structure in bytes */
OMX_VERSIONTYPE nVersion; /**< OMX specification version information */
OMX_U32 nPortIndex; /**< port that this structure applies to */
OMX_BUFFERSUPPLIERTYPE eBufferSupplier; /**< buffer supplier */
} OMX_PARAM_BUFFERSUPPLIERTYPE;
/**< indicates that buffers received by an input port of a tunnel maynotmodifythedatainthebuffers @ingrouptun
*/ #define OMX_PORTTUNNELFLAG_READONLY 0x00000001
/** The OMX_TUNNELSETUPTYPE structure is used to pass data from an output porttoaninputportaspartthetwoComponentTunnelRequestcalls resultingfromaOMX_SetupTunnelcallfromtheILClient. @ingrouptun
*/ typedefstruct OMX_TUNNELSETUPTYPE
{
OMX_U32 nTunnelFlags; /**< bit flags for tunneling */
OMX_BUFFERSUPPLIERTYPE eSupplier; /**< supplier preference */
} OMX_TUNNELSETUPTYPE;
/* OMX Component headers is included to enable the core to use macrosforfunctionsintothecomponentforOMXrelease1.0. Developersshouldnotaccessanystructuresordatafromwithin
the component header directly */ /* TO BE REMOVED - #include <OMX_Component.h> */
/** Send a command to the component. This call is a non-blocking call. Thecomponentshouldchecktheparametersandthenqueuethecommand tothecomponentthreadtobeexecuted.Thecomponentthreadshall sendtheEventHandler()callbackattheconclusionofthecommand. Thismacrowillgodirectlyfromtheapplicationtothecomponent(via acoremacro).Thecomponentwillreturnfromthiscallwithin5msec.
/** The OMX_GetParameter macro will get one of the current parameter settingsfromthecomponent.Thismacrocannotonlybeinvokedwhen thecomponentisintheOMX_StateInvalidstate.ThenParamIndex parameterisusedtoindicatewhichstructureisbeingrequestedfrom thecomponent.Theapplicationshallallocatethecorrectstructure andshallfillinthestructuresizeandversioninformationbefore invokingthismacro.Whentheparameterappliestoaport,the callershallfillintheappropriatenPortIndexvalueindicatingthe portonwhichtheparameterapplies.Ifthecomponenthasnothad anysettingschanged,thenthecomponentshouldreturnasetof validDEFAULTparametersforthecomponent.Thisisablocking call.
/** The OMX_GetConfig macro will get one of the configuration structures fromacomponent.Thismacrocanbeinvokedanytimeafterthe componenthasbeenloaded.ThenParamIndexcallparameterisusedto indicatewhichstructureisbeingrequestedfromthecomponent.The applicationshallallocatethecorrectstructureandshallfillinthe structuresizeandversioninformationbeforeinvokingthismacro. Ifthecomponenthasnothadthisconfigurationparametersentbefore, thenthecomponentshouldreturnasetofvalidDEFAULTvaluesforthe component.Thisisablockingcall.
/** The OMX_SetConfig macro will send one of the configuration structurestoacomponent.Eachstructureshallbesentoneatatime, eachinaseparateinvocationofthemacro.Thismacrocanbeinvoked anytimeafterthecomponenthasbeenloaded.Theapplicationshall allocatethecorrectstructureandshallfillinthestructuresize andversioninformation(aswellastheactualdata)beforeinvoking thismacro.Theapplicationisfreetodisposeofthisstructureafter thecallasthecomponentisrequiredtocopyanydataitshallretain. Thisisablockingcall.
/** The OMX_GetExtensionIndex macro will invoke a component to translate avendorspecificconfigurationorparameterstringintoanOMX structureindex.Thereisnorequirementforthevendortosupport thiscommandfortheindexesalreadyfoundintheOMX_INDEXTYPE enumeration(thisisdonetosavespaceinsmallcomponents).The componentshallsupportallvendorsuppliedextensionindexesnotfound inthemasterOMX_INDEXTYPEenumeration.Thisisablockingcall.
/** The OMX_UseBuffer macro will request that the component use abuffer(andallocateitsownbufferheader)alreadyallocated byanothercomponent,orbytheILClient.Thisisablocking call.
/** The OMX_AllocateBuffer macro will request that the component allocate anewbufferandbufferheader.Thecomponentwillallocatethe bufferandthebufferheaderandreturnapointertothebuffer header.Thisisablockingcall.
/** The OMX_FreeBuffer macro will release a buffer header from the component whichwasallocatedusingeitherOMX_AllocateBufferorOMX_UseBuffer.If thecomponentallocatedthebuffer(seetheOMX_UseBuffermacro)then thecomponentshallfreethebufferandbufferheader.Thisisa blockingcall.
/** The OMX_EmptyThisBuffer macro will send a buffer full of data to an inputportofacomponent.Thebufferwillbeemptiedbythecomponent andreturnedtotheapplicationviatheEmptyBufferDonecallback. Thisisanon-blockingcallinthatthecomponentwillrecordthebuffer andreturnimmediatelyandthenemptythebuffer,later,attheproper time.Asexpected,thismacromaybeinvokedonlywhilethecomponent isintheOMX_StateExecuting.IfnPortIndexdoesnotspecifyaninput port,thecomponentshallreturnanerror.
/** The OMX_FillThisBuffer macro will send an empty buffer to an outputportofacomponent.Thebufferwillbefilledbythecomponent andreturnedtotheapplicationviatheFillBufferDonecallback. Thisisanon-blockingcallinthatthecomponentwillrecordthebuffer andreturnimmediatelyandthenfillthebuffer,later,attheproper time.Asexpected,thismacromaybeinvokedonlywhilethecomponent isintheOMX_ExecutingState.IfnPortIndexdoesnotspecifyanoutput port,thecomponentshallreturnanerror.
/** The OMX_Init method is used to initialize the OMX core. It shall be the firstcallmadeintoOMXanditshouldonlybeexecutedonetimewithout anintervieningOMX_Deinitcall.
/** The OMX_Deinit method is used to deinitialize the OMX core. It shall be thelastcallmadeintoOMX.Intheeventthatthecoredeterminesthat tharearecomponentsloadedwhenthiscallismade,thecoremayreturn withanerrorratherthantrytounloadthecomponents.
/** The OMX_ComponentNameEnum method will enumerate through all the names of recognisedvalidcomponentsinthesystem.Thisfunctionisprovided asameanstodetectallthecomponentsinthesystemrun-time.Thereis nostrictorderingtotheenumerationorderofcomponentnames,although eachnamewillonlybeenumeratedonce.IftheOMXcoresupportsrun-time installationofnewcomponents,itisonlyrequriedtodetectnewly installedcomponentswhenthefirstcalltoenumeratecomponentnames ismade(i.e.whennIndexis0x0).
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.189Bemerkung:
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.