Results 1 to 3 of 3

Thread: Fails to call OMX_GetHandle (for vendor specific core)

  1. #1
    Junior Member
    Join Date
    May 2010
    Posts
    3

    Fails to call OMX_GetHandle (for vendor specific core)

    Hi Folks,

    I'm working on adding my own MPEG-4 decoder and currently stuck with
    the OMX_GetHandle (basically, my component is NOT getting a call into
    this function). After going thru the code, I figured out that
    PVMFOMXBaseDecNode:oPrepare (in ~nodes/pvomxbasedecnode/src/
    pvmf_omx_basedec_node.cpp) is where I need to start off.
    Looking deeper into the code, it seems that a MIME type is sent in
    for which this function sets up the ComponentRole (in input params)
    and calls:

    * OMX_MasterGetComponentsOfRole( ) twice (however this doesn't call
    the component's GetComponentsOfRole)
    * OMX_MasterConfigParser
    * OMX_MasterGetHandle which eventually calls the component's
    OMX_GetHandle( )

    My question is, is the above sequence specific to PV's software
    decoders or even hardware vendors need to go thru the same? If so, it
    doesn't seem to match up to what the OpenMAX call sequences PDF says.
    Would appreciate your responses.

    Best regards
    HV

  2. #2
    Junior Member
    Join Date
    May 2010
    Posts
    1

    Re: Fails to call OMX_GetHandle (for vendor specific core)

    Hi Harishv,

    This question is PV OpenCORE & android specific and may be better suited for an android forum.

    Here are some hints though:
    Typically, components in opencore are identified according to their name and standard role they support.

    OMX_MasterXYZ methods you mention are essentially wrappers that enable OpenCORE to support multiple vendors and multiple omx cores at the same
    time (these calls are "internal" to OpenCORE). OpenCORE makes standard OpenMAX API calls when making calls to specific vendor's OpenMAX core or components.

    Based on the description of the problem, it appears that
    the application has not made the OMX_MasterInit call. The app needs to first call the OMX_MasterInit() which calls each vendor's core OMX_Init().
    At that time, OpenCORE also queries all component's names and standard roles they support
    and creates a registry of all available components and roles (using standard OpenMAX core APIs).
    If you fail to call the OMX_MasterInit from the application, components do not appear in the registry and cannot be recognized.


    OMX_MasterConfigParser is a method that is not OpenMAX standard, but is recommended if you wish to interface with OpenCORE.
    For more information, please refer to android & OpenCORE documentation.

    I hope this helps.
    Sincerely,
    Dusan V.

  3. #3
    Junior Member
    Join Date
    May 2010
    Posts
    3

    Re: Fails to call OMX_GetHandle (for vendor specific core)

    Hi Dusan,

    Thanks for your response, I got this resolved. It appears that there were some debug prints that was leading the PVMF go haywire!! I tried removing my config file, thereby letting the software MPEG-4 component to take over which also failed in a similar way. I did a svn diff and reverted files that I had touched to check out the code flow.

    Best regards
    HV

Similar Threads

  1. vendor specific header files?
    By ruysch in forum OpenCL
    Replies: 0
    Last Post: 01-30-2010, 11:04 AM
  2. Replies: 2
    Last Post: 05-13-2008, 10:20 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •