Symbian3/PDK/Source/GUID-89CFD892-16B0-5B70-AE46-D4BFB8412BC4.dita
author Graeme Price <GRAEME.PRICE@NOKIA.COM>
Fri, 15 Oct 2010 14:32:18 +0100
changeset 15 307f4279f433
parent 14 578be2adaf3e
permissions -rw-r--r--
Initial contribution of the Adaptation Documentation.

<?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-89CFD892-16B0-5B70-AE46-D4BFB8412BC4" xml:lang="en"><title>OpenMAX
IL Content Pipe Interface Overview </title><prolog><metadata><keywords/></metadata></prolog><conbody>
<p>This document introduces you to the Symbian way of using OpenMAX IL Content
Pipe interface. </p>
<section><title>Purpose</title> <p>The OpenMAX IL Content Pipe interface is
an ECom plug-in. </p> <p>OpenMAX IL Content Pipe interface (entry point) is
provided as a static library, and the ECom implementation is defined as a
macro to allow OpenMAX IL Content Pipe to be built as an ECom plug-in with
very little overhead. </p> </section>
<section><title>OpenMAX IL Content Pipe Interface library details</title><p>For
Symbian OpenMAX IL Content Pipe functionality you must adapt the following
static library file. </p> <table id="GUID-20039C98-830B-5EC7-B475-14B730186CD5">
<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> omxilsymbiancontentpipeif.lib</b>  </p> </entry>
<entry><p>These files are used for implementing the OpenMAX IL Content Pipe
interface. </p> </entry>
</row>
</tbody>
</tgroup>
</table></section>
<section><title>Architectural relationship</title> <p>The OpenMAX IL Content
Pipe interface is accessed by OpenMAX IL Core as an ECom plugin, to pull the
content data in or to push the content data out from the source or destination.
For example, a local file, a remote file or a broadcast. </p> <p>The OpenMAX
IL Content Pipe interface is implemented as an ECom plug-in in a similar approach
to the OpenMAX IL Component interface. </p> </section>
<section><title>Description</title> <p>The OpenMAX IL Content Pipe interface
implements the OpenMAX IL <xref href="GUID-3157FDD5-90E0-357B-A2DE-91EDDA180BFC.dita"><apiname>CP_PIPETYPE</apiname></xref> structure. The features
of the OpenMAX IL Content Pipe interface include functions for conventional
content manipulation to </p> <ul>
<li id="GUID-E61BDBB0-44D8-5B18-94CC-220F33500C94"><p>get the position from
the content using <xref href="GUID-3157FDD5-90E0-357B-A2DE-91EDDA180BFC.dita#GUID-3157FDD5-90E0-357B-A2DE-91EDDA180BFC/GUID-76662EA6-87BB-383F-8661-156CE9AC09D3"><apiname>CP_PIPETYPE::GetPosition()</apiname></xref>  </p> </li>
<li id="GUID-A10A0231-BB3F-5939-A54B-0D84496E3926"><p>get a particular position
in the content using <xref href="GUID-3157FDD5-90E0-357B-A2DE-91EDDA180BFC.dita#GUID-3157FDD5-90E0-357B-A2DE-91EDDA180BFC/GUID-3E5D6C1B-7805-300B-B40C-114481040DE3"><apiname>CP_PIPETYPE::SetPosition()</apiname></xref>  </p> </li>
<li id="GUID-1AFC8436-1850-5F18-82B5-DC27CE377587"><p>read data from the current
position using <xref href="GUID-3157FDD5-90E0-357B-A2DE-91EDDA180BFC.dita#GUID-3157FDD5-90E0-357B-A2DE-91EDDA180BFC/GUID-0B4CA92B-C22D-33E2-9DBB-09EE03EEC4AA"><apiname>CP_PIPETYPE::read()</apiname></xref>  </p> </li>
<li id="GUID-BC9114E6-F50D-5A2B-966C-B00C36DF9030"><p>write data to the current
position using <xref href="GUID-3157FDD5-90E0-357B-A2DE-91EDDA180BFC.dita#GUID-3157FDD5-90E0-357B-A2DE-91EDDA180BFC/GUID-E40C72C8-94DB-3F46-82FD-2BAC17E8E5F1"><apiname>CP_PIPETYPE::Write()</apiname></xref>  </p> </li>
<li id="GUID-2439E0B0-4CBB-5041-A88A-D970E7CE8BC0"><p>allow some streaming
support by implementing OpenMAX IL Content Pipe's functions, such as <xref href="GUID-3157FDD5-90E0-357B-A2DE-91EDDA180BFC.dita#GUID-3157FDD5-90E0-357B-A2DE-91EDDA180BFC/GUID-C69A2E46-AD0C-3C09-A764-4F1BC3FA5FB5"><apiname>CP_PIPETYPE::CheckAvailableBytes()</apiname></xref>, <xref href="GUID-3157FDD5-90E0-357B-A2DE-91EDDA180BFC.dita#GUID-3157FDD5-90E0-357B-A2DE-91EDDA180BFC/GUID-04ED0F1F-285E-3B43-82CA-AEB8CC8FFAE0"><apiname>CP_PIPETYPE::ReadBuffer()</apiname></xref>, and <xref href="GUID-3157FDD5-90E0-357B-A2DE-91EDDA180BFC.dita#GUID-3157FDD5-90E0-357B-A2DE-91EDDA180BFC/GUID-D749C396-D953-3C4E-9133-F037C6192080"><apiname>CP_PIPETYPE::WriteBuffer()</apiname></xref>. </p> </li>
</ul> </section>
<section><title>Key classes of the OpenMAX IL Content Pipe interface </title> <p>The
key classes of the OpenMAX IL Content Pipe interface are </p> <ul>
<li id="GUID-003D3563-068A-5DAF-97CB-7BC9C66D7E8A"><p> <xref href="GUID-BA3AC7A0-A3A6-389E-AC1A-5150A672AB49.dita"><apiname>COmxILContentPipeIf</apiname></xref>,
which is an interface to connects the content pipes to load as an ECOM plugin. </p> <p> </p> </li>
<li id="GUID-7AC66A9C-6AA0-5109-ACFA-F7B4346F8735"><p> <xref href="GUID-F33E449F-2D31-3665-A398-8F8C066ED8AC.dita"><apiname>COmxILSymbianContentPipeIf</apiname></xref>,
which is the symbian implementation of the OpenMAX IL Content Pipe interface
which defines the content pipe roles such as read or write access of data,
checks for valid memory size of data and arrange the data in the order it
is retrieved. </p> </li>
</ul> </section>
<section><title>Using the OpenMAX IL Content Pipe interface</title> <p>The
OpenMAX IL Content Pipe interface is used to provide content access by implementing
the data access abstraction interface define in the <xref href="GUID-3157FDD5-90E0-357B-A2DE-91EDDA180BFC.dita"><apiname>CP_PIPETYPE</apiname></xref> structure. </p> </section>
</conbody><related-links>
<link href="GUID-148B1188-8007-5077-A813-50F728CAC5D5.dita"><linktext>OpenMAX IL
Core Overview</linktext></link>
<link href="GUID-F97ABEDE-C318-5EA2-B8CB-6510725413A0.dita"><linktext>OpenMAX IL
Loader Interface Overview </linktext></link>
<link href="GUID-24D99069-438E-5CC4-90B6-5609A2E50953.dita"><linktext>OpenMAX IL
Component Overview</linktext></link>
</related-links></concept>