Symbian3/PDK/Source/GUID-F97ABEDE-C318-5EA2-B8CB-6510725413A0.dita
author Dominic Pinkman <dominic.pinkman@nokia.com>
Fri, 13 Aug 2010 16:47:46 +0100
changeset 14 578be2adaf3e
parent 5 f345bda72bc4
permissions -rw-r--r--
Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License 
"Eclipse Public License v1.0" which accompanies this distribution, 
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
    Nokia Corporation - initial contribution.
Contributors: 
-->
<!DOCTYPE concept
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept id="GUID-F97ABEDE-C318-5EA2-B8CB-6510725413A0" xml:lang="en"><title>OpenMAX
IL Loader Interface Overview </title><prolog><metadata><keywords/></metadata></prolog><conbody>
<p>This document introduces you to the Symbian way of using OpenMAX IL Loader
interface. </p>
<section><title>Purpose</title> <p>The OpenMAX IL Loader interface is installed
as an ECom plug-in between OpenMAX IL Core and OpenMAX IL Components on the
Symbian platform. This ECom plug-in is loaded by OpenMAX IL Core to access
OpenMAX IL Loader. </p> <p>The OpenMAX IL Loader interface (entry point) is
provided as a static library, and the ECom implementation is defined as a
macro to allow OpenMAX IL Loader to be built as an ECom plug-in with very
little overhead. </p> </section>
<section><title>API name library details</title><p>You can choose either the
Symbian OpenMAX IL Loader or a third-party OpenMAX IL Loader to load and unload
OpenMAX IL Components. For Symbian OpenMAX IL Loader functionality you must
adapt the following static library file. </p> <table id="GUID-F42DE580-E72B-58EB-8FFA-21E8068621F7">
<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
<thead>
<row>
<entry>DLL</entry>
<entry>LIB</entry>
<entry>Short Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><p>You must create your own <b>*.dll</b>  </p> </entry>
<entry><p> <b> omxilsymbianloaderif.lib</b>  </p> </entry>
<entry><p>These files are used for implementing the OpenMAX IL Loader interface. </p> </entry>
</row>
</tbody>
</tgroup>
</table></section>
<section><title>Architectural relationship</title> <p>The OpenMAX IL Loader
interface interacts with OpenMAX IL Component: it is an ECom plug-in that
loads and unloads OpenMAX IL Component. </p> <p> <xref href="GUID-DBC308FC-FF91-314D-B633-6AE020917511.dita"><apiname>KUidOmxILLoaderInterface</apiname></xref> is
an identifier for the OpenMAX IL Loader interface. </p> </section>
<section><title>Description</title> <p>The OpenMAX IL Loader interface has
the following two features: </p> <ul>
<li id="GUID-AA107FB6-A38D-58A5-B352-FAA0ECAF3A01"><p>The <xref href="GUID-D03963AB-F746-3446-8BBB-AFFBD710515E.dita"><apiname>OMX_LOADERTYPE</apiname></xref> structure </p> </li>
<li id="GUID-20CD2664-A815-50E2-B545-F5C9E645AFE5"><p>The static library <filepath>omxilsymbianloaderif.lib</filepath>. </p> </li>
</ul> <p><b>The OMX_LOADERTYPE structure </b> </p> <p>The functionality of the <xref href="GUID-D03963AB-F746-3446-8BBB-AFFBD710515E.dita"><apiname>OMX_LOADERTYPE</apiname></xref> structure
is to </p> <ul>
<li id="GUID-CF40F008-A691-50CE-9C70-2415E4C8FA7C"><p>initialize OpenMAX IL
Loader </p> </li>
<li id="GUID-6027DA92-5467-5024-9C21-EBAB61D9666C"><p>uninitialize OpenMAX
IL Loader </p> </li>
<li id="GUID-68298652-62A9-5B4E-B17E-563A7C13FCB0"><p>load OpenMAX IL Component </p> </li>
<li id="GUID-4DC1020F-9251-5C8A-94DD-5823AE5D5B22"><p>unload OpenMAX IL Component </p> </li>
<li id="GUID-84A72B98-6E71-52A3-90CB-93004B163C3A"><p>detect a valid OpenMAX
IL Component </p> </li>
<li id="GUID-0E0D82CA-B8C8-5D6D-918A-FDF21F91D00A"><p>list the number of roles
supported by OpenMAX IL Components </p> </li>
<li id="GUID-EEAE0F0D-C56C-513C-A13B-61501C644D13"><p>list the number of OpenMAX
IL Components that support a specific role. </p> </li>
</ul> <p> <b>Note:</b> The <xref href="GUID-D03963AB-F746-3446-8BBB-AFFBD710515E.dita"><apiname>OMX_LOADERTYPE</apiname></xref> structure is
not a part of <xref href="http://www.khronos.org/files/openmax_il_spec_1_1_1.pdf" scope="external">OpenMAX IL Specification 1.1.1</xref>, but follows its naming
style to suggest the definition to <xref href="http://www.khronos.org/openmax/" scope="external">The Khronos group</xref> for inclusion in <xref href="http://www.khronos.org/files/openmax_il_spec_1_1_1.pdf" scope="external">OpenMAX IL Specification 1.1.1</xref>. </p> <p><b>The static library omxilsymbianloaderif.lib </b> </p> <p>The static library <filepath>omxilsymbianloaderif.lib</filepath> has
the following functionality: </p> <ul>
<li id="GUID-42E53C51-9A33-51D0-B2F5-74F085E79C61"><p>The library is installed
as an ECom plug-in that implements the <xref href="GUID-54B6422B-3FED-3A17-A44E-C0977FFD0186.dita"><apiname>COmxComponentLoaderIf</apiname></xref> to
run under OpenMAX IL Core. More detailed information is available in the <xref href="GUID-148B1188-8007-5077-A813-50F728CAC5D5.dita#GUID-148B1188-8007-5077-A813-50F728CAC5D5/GUID-782B851D-CACF-55F8-9F5B-A839C5A3ABAA">OpenMAX
IL Core Overview Architectural Relationship</xref> section. </p> </li>
<li id="GUID-0E7FE6A9-D18D-50BF-8446-493F2595193C"><p> <xref href="GUID-54B6422B-3FED-3A17-A44E-C0977FFD0186.dita"><apiname>COmxComponentLoaderIf</apiname></xref> instantiates
the OpenMAX IL Loader interface and gets the valid handle to the already populated <xref href="GUID-D03963AB-F746-3446-8BBB-AFFBD710515E.dita"><apiname>OMX_LOADERTYPE</apiname></xref> structure
during the load operation. </p> </li>
<li id="GUID-FD194AAF-D907-5A07-94C8-F2E64C596266"><p> <xref href="GUID-54B6422B-3FED-3A17-A44E-C0977FFD0186.dita"><apiname>COmxComponentLoaderIf</apiname></xref> deletes
the OpenMAX IL Loader interface during the unload operation. </p> </li>
</ul> </section>
<section><title>Key OpenMAX IL Loader interface classes</title> <p>The key
classes of the OpenMAX IL Loader interface are </p> <ul>
<li id="GUID-A6F01CE7-A9F2-5FEA-8CF5-0D23FE5C28A8"><p> <xref href="GUID-54B6422B-3FED-3A17-A44E-C0977FFD0186.dita"><apiname>COmxComponentLoaderIf</apiname></xref>,
which is an interface installed as an ECom plug-in to run under Symbian OpenMAX
IL Core </p> </li>
<li id="GUID-F00E15FA-DAD3-5F7F-AEF8-DE6041187C10"><p> <xref href="GUID-C05B4F55-E4D3-3C1D-9332-70805950E856.dita"><apiname>COmxSymbianLoaderIf</apiname></xref>,
which is a Symbian implementation of OpenMAX IL Loader. </p> </li>
</ul> </section>
<section><title>Using OpenMAX IL Loader interface</title> <p>The OpenMAX IL
Loader interface is mainly used to </p> <ul>
<li id="GUID-DEC38843-0867-5937-9208-A808AC52BCED"><p>load OpenMAX IL Component </p> </li>
<li id="GUID-EB36342E-3B01-511F-94F0-FDA0AAD254C0"><p>unload OpenMAX IL Component </p> </li>
<li id="GUID-843A143B-4DE5-590A-AEDE-A68E3962FB26"><p>list the number of roles
supported by OpenMAX IL Component </p> </li>
<li id="GUID-10DC5DFB-DBEF-5BE3-8C1F-2E4E5D698631"><p>list the number of OpenMAX
IL Components that support a specific role. </p> </li>
</ul> </section>
</conbody><related-links>
<link href="GUID-148B1188-8007-5077-A813-50F728CAC5D5.dita"><linktext>OpenMAX IL
Core Overview</linktext></link>
<link href="GUID-89CFD892-16B0-5B70-AE46-D4BFB8412BC4.dita"><linktext>OpenMAX IL
Content Pipe Overview</linktext></link>
<link href="GUID-24D99069-438E-5CC4-90B6-5609A2E50953.dita"><linktext>OpenMAX IL
Component Overview</linktext></link>
</related-links></concept>