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.

  1. Move the component from the Executing state to the Idle state as (1) in the following diagram.
  2. Wait for all buffers to be returned by the component.
  3. The component returns all buffers to the IL client as (2) in the following diagram.
  4. The component generates OMX_EventCmdComplete for the Execute→Idle state transition as (3) in the following diagram.
  5. Transition the component from the Idle state to the Loaded state as (4) in the following diagram
  6. Free all input and output buffers as (5) to (8) in the following diagram.
  7. Wait for OMX_EventCmdComplete for the Idle→Loaded state transition.
  8. The client receives the command OMX_EventCmdComplete for the Loaded→Idle state transition as (9) in the following diagram.
  9. Call OMX_FreeHandle to the OMX core to release the component handle as (10) in the following diagram.
  10. Call OMX_DeInit to de-initialize the OMX core as (13) in the following diagram.

The following diagram shows the de-initialization workflow.

Figure 1. De-Initialization Workflow