Symbian3/PDK/Source/GUID-89CFD892-16B0-5B70-AE46-D4BFB8412BC4.dita
changeset 1 25a17d01db0c
child 3 46218c8b8afa
equal deleted inserted replaced
0:89d6a7a84779 1:25a17d01db0c
       
     1 <?xml version="1.0" encoding="utf-8"?>
       
     2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
       
     3 <!-- This component and the accompanying materials are made available under the terms of the License 
       
     4 "Eclipse Public License v1.0" which accompanies this distribution, 
       
     5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
       
     6 <!-- Initial Contributors:
       
     7     Nokia Corporation - initial contribution.
       
     8 Contributors: 
       
     9 -->
       
    10 <!DOCTYPE concept
       
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
       
    12 <concept id="GUID-89CFD892-16B0-5B70-AE46-D4BFB8412BC4" xml:lang="en"><title>OpenMAX
       
    13 IL Content Pipe Interface Overview </title><prolog><metadata><keywords/></metadata></prolog><conbody>
       
    14 <p>This document introduces you to the Symbian way of using OpenMAX IL Content
       
    15 Pipe interface. </p>
       
    16 <section><title>Purpose</title> <p>The OpenMAX IL Content Pipe interface is
       
    17 an ECom plug-in. </p> <p>OpenMAX IL Content Pipe interface (entry point) is
       
    18 provided as a static library, and the ECom implementation is defined as a
       
    19 macro to allow OpenMAX IL Content Pipe to be built as an ECom plug-in with
       
    20 very little overhead. </p> </section>
       
    21 <section><title>OpenMAX IL Content Pipe Interface library details</title><p>For
       
    22 Symbian OpenMAX IL Content Pipe functionality you must adapt the following
       
    23 static library file. </p> <table id="GUID-20039C98-830B-5EC7-B475-14B730186CD5">
       
    24 <tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
       
    25 <thead>
       
    26 <row>
       
    27 <entry>DLL</entry>
       
    28 <entry>LIB</entry>
       
    29 <entry>Short Description</entry>
       
    30 </row>
       
    31 </thead>
       
    32 <tbody>
       
    33 <row>
       
    34 <entry><p>You must create your own <b>*.dll </b>  </p> </entry>
       
    35 <entry><p> <b> omxilsymbiancontentpipeif.lib</b>  </p> </entry>
       
    36 <entry><p>These files are used for implementing the OpenMAX IL Content Pipe
       
    37 interface. </p> </entry>
       
    38 </row>
       
    39 </tbody>
       
    40 </tgroup>
       
    41 </table></section>
       
    42 <section><title>Architectural relationship</title> <p>The OpenMAX IL Content
       
    43 Pipe interface is accessed by OpenMAX IL Core as an ECom plugin, to pull the
       
    44 content data in or to push the content data out from the source or destination.
       
    45 For example, a local file, a remote file or a broadcast. </p> <p>The OpenMAX
       
    46 IL Content Pipe interface is implemented as an ECom plug-in in a similar approach
       
    47 to the OpenMAX IL Component interface. </p> </section>
       
    48 <section><title>Description</title> <p>The OpenMAX IL Content Pipe interface
       
    49 implements the OpenMAX IL <xref href="GUID-3157FDD5-90E0-357B-A2DE-91EDDA180BFC.dita"><apiname>CP_PIPETYPE</apiname></xref> structure. The features
       
    50 of the OpenMAX IL Content Pipe interface include functions for conventional
       
    51 content manipulation to </p> <ul>
       
    52 <li id="GUID-E61BDBB0-44D8-5B18-94CC-220F33500C94"><p>get the position from
       
    53 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>
       
    54 <li id="GUID-A10A0231-BB3F-5939-A54B-0D84496E3926"><p>get a particular position
       
    55 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>
       
    56 <li id="GUID-1AFC8436-1850-5F18-82B5-DC27CE377587"><p>read data from the current
       
    57 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>
       
    58 <li id="GUID-BC9114E6-F50D-5A2B-966C-B00C36DF9030"><p>write data to the current
       
    59 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>
       
    60 <li id="GUID-2439E0B0-4CBB-5041-A88A-D970E7CE8BC0"><p>allow some streaming
       
    61 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>
       
    62 </ul> </section>
       
    63 <section><title>Key classes of the OpenMAX IL Content Pipe interface </title> <p>The
       
    64 key classes of the OpenMAX IL Content Pipe interface are </p> <ul>
       
    65 <li id="GUID-003D3563-068A-5DAF-97CB-7BC9C66D7E8A"><p> <xref href="GUID-BA3AC7A0-A3A6-389E-AC1A-5150A672AB49.dita"><apiname>COmxILContentPipeIf</apiname></xref>,
       
    66 which is an interface to connects the content pipes to load as an ECOM plugin. </p> <p> </p> </li>
       
    67 <li id="GUID-7AC66A9C-6AA0-5109-ACFA-F7B4346F8735"><p> <xref href="GUID-F33E449F-2D31-3665-A398-8F8C066ED8AC.dita"><apiname>COmxILSymbianContentPipeIf</apiname></xref>,
       
    68 which is the symbian implementation of the OpenMAX IL Content Pipe interface
       
    69 which defines the content pipe roles such as read or write access of data,
       
    70 checks for valid memory size of data and arrange the data in the order it
       
    71 is retrieved. </p> </li>
       
    72 </ul> </section>
       
    73 <section><title>Using the OpenMAX IL Content Pipe interface</title> <p>The
       
    74 OpenMAX IL Content Pipe interface is used to provide content access by implementing
       
    75 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>
       
    76 </conbody><related-links>
       
    77 <link href="GUID-148B1188-8007-5077-A813-50F728CAC5D5.dita"><linktext>OpenMAX IL
       
    78 Core Overview</linktext></link>
       
    79 <link href="GUID-F97ABEDE-C318-5EA2-B8CB-6510725413A0.dita"><linktext>OpenMAX IL
       
    80 Loader Interface Overview </linktext></link>
       
    81 <link href="GUID-24D99069-438E-5CC4-90B6-5609A2E50953.dita"><linktext>OpenMAX IL
       
    82 Component Overview</linktext></link>
       
    83 </related-links></concept>