De-Initialization
To de-initialize the OpenMAX core, active components must be freed. To free the component, move it to the Executing→Idle→Loaded state, and then free all the input and output buffers.
- Move the component from the Executing state to the Idle state as (1) in the following diagram.
- Wait for all buffers to be returned by the component.
- The component returns all buffers to the IL client as (2) in the following diagram.
- The component generates OMX_EventCmdComplete for the Execute→Idle state transition as (3) in the following diagram.
- Transition the component from the Idle state to the Loaded state as (4) in the following diagram
- Free all input and output buffers as (5) to (8) in the following diagram.
- Wait for OMX_EventCmdComplete for the Idle→Loaded state transition.
- The client receives the command OMX_EventCmdComplete for the Loaded→Idle state transition as (9) in the following diagram.
- Call OMX_FreeHandle to the OMX core to release the component handle as (10) in the following diagram.
- Call OMX_DeInit to de-initialize the OMX core as (13) in the following diagram.
The following diagram shows the de-initialization workflow.