Symbian3/PDK/Source/GUID-89CFD892-16B0-5B70-AE46-D4BFB8412BC4.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Thu, 11 Mar 2010 18:02:22 +0000
changeset 3 46218c8b8afa
parent 1 25a17d01db0c
child 5 f345bda72bc4
permissions -rw-r--r--
week 10 bug fix submission (SF PDK version): Bug 1892, Bug 1897, Bug 1319. Also 3 or 4 documents were found to contain code blocks with SFL, which has been fixed. Partial fix for broken links, links to Forum Nokia, and the 'Symbian platform' terminology issues.

<?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>