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