ti omx

IL Client / Application

In order to create / configure and connect the OpenMax components, application is written as an Integration Layer ( IL) client. This IL client is used to invoke OpenMax APIs for different component. In this application Components allocate the video buffers in response on OMX APIs on IL client. IL client is responsible for taking the buffers from one component and passing it to other component.

Creating and Configuring the Components

For creation and Configuration following OpenMax APIs are used.

  • OMX_GetHandle
  • OMX_GetParameter
  • OMX_SetParameter
  • OMX_AllocateBuffer
  • OMX_UseBuffer

For port enable and change the state following OpenMax API is used.

  • OMX_SendCommand

Following flow chart provides brief overview of OMX API flow for creation and configuration of components. OpenMax state changes are done to start the buffer communication.

 

(click on the picture to enlarge)

Buffer Communication between components

Following OpenMax APIs are used to pass the buffers to components.

  • OMX_EmptyThisBuffer
  • OMX_FillThisBuffer

Component returns the buffers to IL Client via callbacks in response to above data APIs. IL client implements the callback functions, which are invoked, when component returns the buffers. Following flow chart implements the buffer handling inside IL Client.

ti omx_第1张图片 

(click on the picture to enlarge)

Tear-down Sequence

After the iput file is played, IL client tears down the component. For Tear-down, IL client change the state of each component and free up the buffers. It is depicted in following flow chart.

ti omx_第2张图片


你可能感兴趣的:(api,video,application,buffer,callback,Components)