| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
| <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> |
| <title>pv_plugin_interfaces.h Source File</title> |
| <link href="doxygen.css" rel="stylesheet" type="text/css"> |
| </head><body> |
| <!-- Generated by Doxygen 1.2.18 --> |
| <center> |
| <a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> </center> |
| <hr><h1>pv_plugin_interfaces.h</h1><a href="pv__plugin__interfaces_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*</span> |
| 00002 <span class="comment">* ==============================================================================</span> |
| 00003 <span class="comment">* Name : pv_plugin_interfaces.h</span> |
| 00004 <span class="comment">* Part of :</span> |
| 00005 <span class="comment">* Interface :</span> |
| 00006 <span class="comment">* Description : Defines the general plugin interfaces for the PV engines</span> |
| 00007 <span class="comment">* Version : (see RELEASE field in copyright header above)</span> |
| 00008 <span class="comment">*</span> |
| 00009 <span class="comment">* ==============================================================================</span> |
| 00010 <span class="comment">*/</span> |
| 00011 |
| 00012 <span class="preprocessor">#ifndef PV_PLUGIN_INTERFACES_H_INCLUDED</span> |
| 00013 <span class="preprocessor"></span><span class="preprocessor">#define PV_PLUGIN_INTERFACES_H_INCLUDED</span> |
| 00014 <span class="preprocessor"></span> |
| 00015 |
| 00016 <span class="comment">// INCLUDES</span> |
| 00017 <span class="preprocessor">#include "pv_common_symbian_types.h"</span> |
| 00018 |
| 00019 <span class="comment">// CONSTANTS</span> |
| <a name="l00026"></a><a class="code" href="pv__plugin__interfaces_8h.html#a9">00026</a> <span class="comment"></span><span class="keyword">const</span> TInt <a class="code" href="pv__plugin__interfaces_8h.html#a9">KPVUidDataSrcPrime</a> = 0xFFFFFF08; |
| <a name="l00027"></a><a class="code" href="pv__plugin__interfaces_8h.html#a10">00027</a> <span class="keyword">const</span> TInt <a class="code" href="pv__plugin__interfaces_8h.html#a10">KPVUidDataSrcPlay</a> = 0xFFFFFF09; |
| <a name="l00028"></a><a class="code" href="pv__plugin__interfaces_8h.html#a11">00028</a> <span class="keyword">const</span> TInt <a class="code" href="pv__plugin__interfaces_8h.html#a11">KPVUidDataSrcPause</a> = 0xFFFFFF0A; |
| <a name="l00029"></a><a class="code" href="pv__plugin__interfaces_8h.html#a12">00029</a> <span class="keyword">const</span> TInt <a class="code" href="pv__plugin__interfaces_8h.html#a12">KPVUidDataSrcStop</a> = 0xFFFFFF0B; |
| 00030 |
| <a name="l00044"></a><a class="code" href="pv__plugin__interfaces_8h.html#a13">00044</a> <span class="keyword">const</span> TInt <a class="code" href="pv__plugin__interfaces_8h.html#a13">KPVUidDataSinkPrime</a> = 0xFFFFFF0C; |
| <a name="l00045"></a><a class="code" href="pv__plugin__interfaces_8h.html#a14">00045</a> <span class="keyword">const</span> TInt <a class="code" href="pv__plugin__interfaces_8h.html#a14">KPVUidDataSinkPlay</a> = 0xFFFFFF0D; |
| <a name="l00046"></a><a class="code" href="pv__plugin__interfaces_8h.html#a15">00046</a> <span class="keyword">const</span> TInt <a class="code" href="pv__plugin__interfaces_8h.html#a15">KPVUidDataSinkPause</a> = 0xFFFFFF0E; |
| <a name="l00047"></a><a class="code" href="pv__plugin__interfaces_8h.html#a16">00047</a> <span class="keyword">const</span> TInt <a class="code" href="pv__plugin__interfaces_8h.html#a16">KPVUidDataSinkStop</a> = 0xFFFFFF0F; |
| 00048 |
| 00049 |
| <a name="l00060"></a><a class="code" href="pv__plugin__interfaces_8h.html#a17">00060</a> <span class="keyword">const</span> TUid <a class="code" href="pv__plugin__interfaces_8h.html#a17">KPVUidYUVFrameBuffer</a> = {0xFFFFFF0d}; |
| 00061 |
| 00062 |
| 00063 <span class="comment">// MACROS</span> |
| <a name="l00067"></a><a class="code" href="pv__plugin__interfaces_8h.html#a0">00067</a> <span class="comment"></span><span class="preprocessor">#define KPVUidAudioInputInterface TPVUuid(0x194e8655,0x944c,0x402c,0xb0,0xc2,0xf7,0xbd,0xd5,0xe5,0x43,0x2f)</span> |
| 00068 <span class="preprocessor"></span> |
| <a name="l00071"></a><a class="code" href="pv__plugin__interfaces_8h.html#a1">00071</a> <span class="preprocessor">#define KPVUidDevSoundAudioInputInterface TPVUuid(0x9e2c416e,0x0299,0x4775,0x88,0xfa,0x42,0x53,0xbc,0xbc,0x58,0xbf)</span> |
| 00072 <span class="preprocessor"></span> |
| <a name="l00075"></a><a class="code" href="pv__plugin__interfaces_8h.html#a2">00075</a> <span class="preprocessor">#define KPVUidAudioOutputInterface TPVUuid(0xf5c5b825,0x90eb,0x4091,0xbe,0xea,0xa0,0xc3,0x9b,0xe2,0x00,0xaf)</span> |
| 00076 <span class="preprocessor"></span> |
| <a name="l00079"></a><a class="code" href="pv__plugin__interfaces_8h.html#a3">00079</a> <span class="preprocessor">#define KPVUidDevSoundAudioOutputInterface TPVUuid(0x48edb46a,0x60e4,0x4e83,0xb1,0xad,0x92,0xa8,0xd4,0x07,0x04,0x7a)</span> |
| 00080 <span class="preprocessor"></span> |
| <a name="l00083"></a><a class="code" href="pv__plugin__interfaces_8h.html#a4">00083</a> <span class="preprocessor">#define KPVUidVideoInputInterface TPVUuid(0xfb320151,0x6d06,0x4bd5,0xa2,0x68,0x61,0x01,0xdb,0x25,0x1c,0x0e)</span> |
| 00084 <span class="preprocessor"></span> |
| <a name="l00087"></a><a class="code" href="pv__plugin__interfaces_8h.html#a5">00087</a> <span class="preprocessor">#define KPVUidVideoOutputInterface TPVUuid(0x0bb9d8a8,0x9623,0x4dec,0x84,0x0b,0xb9,0xf2,0x66,0xf8,0x4e,0x3d)</span> |
| 00088 <span class="preprocessor"></span> |
| <a name="l00091"></a><a class="code" href="pv__plugin__interfaces_8h.html#a6">00091</a> <span class="preprocessor">#define KPVUidProxiedInterface TPVUuid(0xf7076653,0x6088,0x47c6,0x88,0xc1,0xb7,0xed,0x28,0xe7,0x2b,0xea)</span> |
| 00092 <span class="preprocessor"></span> |
| 00093 |
| 00094 <span class="comment">// DATA TYPES</span> |
| 00095 |
| 00096 |
| 00097 <span class="comment">// FUNCTION PROTOTYPES</span> |
| 00098 |
| 00099 |
| 00100 <span class="comment">// FORWARD DECLARATIONS</span> |
| 00101 |
| 00102 |
| 00103 |
| 00104 <span class="comment">// CLASS DECLARATION</span> |
| <a name="l00110"></a><a class="code" href="classMPVPluginBase.html">00110</a> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classMPVPluginBase.html">MPVPluginBase</a> |
| 00111 { |
| 00112 <span class="keyword">public</span>: |
| <a name="l00113"></a><a class="code" href="classMPVPluginBase.html#a0">00113</a> <span class="keyword">virtual</span> <a class="code" href="classMPVPluginBase.html#a0">~MPVPluginBase</a>() {} |
| 00114 |
| 00121 IMPORT_C <span class="keyword">virtual</span> <span class="keyword">const</span> RArray<TPVMIMEType *>& <a class="code" href="classMPVPluginBase.html#a1">GetMultimediaTypesL</a>() <span class="keyword">const</span> = 0; |
| 00122 |
| 00136 IMPORT_C <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMPVPluginBase.html#a2">QueryUUID</a>(<span class="keyword">const</span> TPVMIMEType& aMimeType, RArray<TPVUuid>& aUuids, <span class="keywordtype">bool</span> aExactUuidsOnly = <span class="keyword">false</span>) = 0; |
| 00137 |
| 00148 IMPORT_C <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMPVPluginBase.html#a3">QueryInterface</a>(<span class="keyword">const</span> TPVUuid& aUuid, TPVInterfacePtr& aInterfacePtr) = 0; |
| 00149 }; |
| 00150 |
| 00151 <span class="comment">//#define USE_MMF_DATA_PATH 1</span> |
| 00152 |
| 00153 <span class="preprocessor">#if defined USE_MMF_DATA_PATH</span> |
| 00154 <span class="preprocessor"></span> |
| 00155 <span class="preprocessor">#define MPVDataSourceBase MDataSource</span> |
| 00156 <span class="preprocessor"></span><span class="preprocessor">#define MPVDataSinkBase MDataSink</span> |
| 00157 <span class="preprocessor"></span> |
| 00158 <span class="preprocessor">#else </span><span class="comment">/* USE_MMF_DATA_PATH */</span> |
| 00159 |
| 00160 <span class="comment">// forward declaration</span> |
| 00161 <span class="keyword">class </span><a class="code" href="classMPVDataSinkBase.html">MPVDataSinkBase</a>; |
| 00162 |
| <a name="l00168"></a><a class="code" href="classMPVDataSourceBase.html">00168</a> <span class="keyword">class </span><a class="code" href="classMPVDataSourceBase.html">MPVDataSourceBase</a> |
| 00169 { |
| 00170 <span class="keyword">public</span>: |
| <a name="l00171"></a><a class="code" href="classMPVDataSourceBase.html#a0">00171</a> <a class="code" href="classMPVDataSourceBase.html#a0">MPVDataSourceBase</a>(TUid aType): iDataSourceType(aType) {} |
| <a name="l00172"></a><a class="code" href="classMPVDataSourceBase.html#a1">00172</a> <span class="keyword">virtual</span> <a class="code" href="classMPVDataSourceBase.html#a1">~MPVDataSourceBase</a>() {} |
| 00173 |
| 00194 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMPVDataSourceBase.html#a2">FillBufferL</a>(CMMFBuffer* aBuffer, <a class="code" href="classMPVDataSinkBase.html">MPVDataSinkBase</a>* aConsumer, TMediaId <span class="comment">/*aMediaId*/</span>) = 0; |
| 00195 |
| 00207 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMPVDataSourceBase.html#a3">BufferEmptiedL</a>(CMMFBuffer* aBuffer) = 0; |
| 00208 |
| 00216 <span class="keyword">virtual</span> TBool <a class="code" href="classMPVDataSourceBase.html#a4">CanCreateSourceBuffer</a>() = 0; |
| 00217 |
| 00236 <span class="keyword">virtual</span> CMMFBuffer* <a class="code" href="classMPVDataSourceBase.html#a5">CreateSourceBufferL</a>(TMediaId <span class="comment">/*aMediaId*/</span>, TBool &<span class="comment">/*aReference*/</span>) |
| 00237 { |
| 00238 <span class="keywordflow">return</span> NULL; |
| 00239 } |
| 00240 |
| 00241 |
| 00264 <span class="keyword">virtual</span> CMMFBuffer* <a class="code" href="classMPVDataSourceBase.html#a5">CreateSourceBufferL</a>(TMediaId <span class="comment">/*aMediaId*/</span>, CMMFBuffer& <span class="comment">/*aSinkBuffer*/</span>, TBool &<span class="comment">/*aReference*/</span>) |
| 00265 { |
| 00266 <span class="keywordflow">return</span> NULL; |
| 00267 } |
| 00268 |
| 00269 |
| 00290 <span class="keyword">virtual</span> TInt <a class="code" href="classMPVDataSourceBase.html#a7">SourceThreadLogon</a>(MAsyncEventHandler& <span class="comment">/*aEventHandler*/</span>) |
| 00291 { |
| 00292 <span class="keywordflow">return</span> KErrNone; |
| 00293 } |
| 00294 |
| 00305 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMPVDataSourceBase.html#a8">SourceThreadLogoff</a>() {}; |
| 00306 |
| 00313 <span class="keyword">virtual</span> TInt <a class="code" href="classMPVDataSourceBase.html#a9">SourcePrimeL</a>() |
| 00314 { |
| 00315 <span class="keywordflow">return</span> 0; |
| 00316 } |
| 00317 |
| 00324 <span class="keyword">virtual</span> TInt <a class="code" href="classMPVDataSourceBase.html#a10">SourcePlayL</a>() |
| 00325 { |
| 00326 <span class="keywordflow">return</span> 0; |
| 00327 }; |
| 00328 |
| 00335 <span class="keyword">virtual</span> TInt <a class="code" href="classMPVDataSourceBase.html#a11">SourcePauseL</a>() |
| 00336 { |
| 00337 <span class="keywordflow">return</span> 0; |
| 00338 }; |
| 00339 |
| 00346 <span class="keyword">virtual</span> TInt <a class="code" href="classMPVDataSourceBase.html#a12">SourceStopL</a>() |
| 00347 { |
| 00348 <span class="keywordflow">return</span> 0; |
| 00349 }; |
| 00350 <span class="keyword">private</span>: |
| 00351 TUid iDataSourceType; |
| 00352 }; |
| 00353 |
| 00354 |
| <a name="l00360"></a><a class="code" href="classMPVDataSinkBase.html">00360</a> <span class="keyword">class </span><a class="code" href="classMPVDataSinkBase.html">MPVDataSinkBase</a> |
| 00361 { |
| 00362 <span class="keyword">public</span>: |
| <a name="l00363"></a><a class="code" href="classMPVDataSinkBase.html#a0">00363</a> <a class="code" href="classMPVDataSinkBase.html#a0">MPVDataSinkBase</a>(TUid aType): iDataSinkType(aType) {} |
| <a name="l00364"></a><a class="code" href="classMPVDataSinkBase.html#a1">00364</a> <span class="keyword">virtual</span> <a class="code" href="classMPVDataSinkBase.html#a1">~MPVDataSinkBase</a>() {} |
| 00365 |
| 00386 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMPVDataSinkBase.html#a2">EmptyBufferL</a>(CMMFBuffer* aBuffer, <a class="code" href="classMPVDataSourceBase.html">MPVDataSourceBase</a>* aSupplier, TMediaId <span class="comment">/*aMediaId*/</span>) = 0; |
| 00387 |
| 00399 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMPVDataSinkBase.html#a3">BufferFilledL</a>(CMMFBuffer* aBuffer) = 0; |
| 00400 |
| 00408 <span class="keyword">virtual</span> TBool <a class="code" href="classMPVDataSinkBase.html#a4">CanCreateSinkBuffer</a>() = 0; |
| 00409 |
| 00428 <span class="keyword">virtual</span> CMMFBuffer* <a class="code" href="classMPVDataSinkBase.html#a5">CreateSinkBufferL</a>(TMediaId <span class="comment">/*aMediaId*/</span>, TBool &<span class="comment">/*aReference*/</span>) |
| 00429 { |
| 00430 <span class="keywordflow">return</span> NULL; |
| 00431 } |
| 00432 |
| 00453 <span class="keyword">virtual</span> TInt <a class="code" href="classMPVDataSinkBase.html#a6">SinkThreadLogon</a>(MAsyncEventHandler& <span class="comment">/*aEventHandler*/</span>) |
| 00454 { |
| 00455 <span class="keywordflow">return</span> KErrNone; |
| 00456 }; |
| 00457 |
| 00468 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMPVDataSinkBase.html#a7">SinkThreadLogoff</a>() {}; |
| 00469 |
| 00476 <span class="keyword">virtual</span> TInt <a class="code" href="classMPVDataSinkBase.html#a8">SinkPrimeL</a>() |
| 00477 { |
| 00478 <span class="keywordflow">return</span> 0; |
| 00479 }; |
| 00480 |
| 00487 <span class="keyword">virtual</span> TInt <a class="code" href="classMPVDataSinkBase.html#a9">SinkPlayL</a>() |
| 00488 { |
| 00489 <span class="keywordflow">return</span> 0; |
| 00490 }; |
| 00491 |
| 00498 <span class="keyword">virtual</span> TInt <a class="code" href="classMPVDataSinkBase.html#a10">SinkPauseL</a>() |
| 00499 { |
| 00500 <span class="keywordflow">return</span> 0; |
| 00501 }; |
| 00502 |
| 00509 <span class="keyword">virtual</span> TInt <a class="code" href="classMPVDataSinkBase.html#a11">SinkStopL</a>() |
| 00510 { |
| 00511 <span class="keywordflow">return</span> 0; |
| 00512 }; |
| 00513 <span class="keyword">private</span>: |
| 00514 TUid iDataSinkType; |
| 00515 }; |
| 00516 |
| 00517 <span class="preprocessor">#endif</span> |
| 00518 <span class="preprocessor"></span> |
| 00519 |
| 00520 |
| <a name="l00527"></a><a class="code" href="classMPVDataSource.html">00527</a> <span class="keyword">class </span><a class="code" href="classMPVDataSource.html">MPVDataSource</a> : <span class="keyword">public</span> <a class="code" href="classMPVPluginBase.html">MPVPluginBase</a>, <span class="keyword">public</span> <a class="code" href="classMPVDataSourceBase.html">MPVDataSourceBase</a> |
| 00528 { |
| 00529 <span class="keyword">public</span>: |
| <a name="l00530"></a><a class="code" href="classMPVDataSource.html#a0">00530</a> <a class="code" href="classMPVDataSource.html#a0">MPVDataSource</a>(TUid aSourceType) : <a class="code" href="classMPVDataSourceBase.html">MPVDataSourceBase</a>(aSourceType) {} |
| <a name="l00531"></a><a class="code" href="classMPVDataSource.html#a1">00531</a> <span class="keyword">virtual</span> <a class="code" href="classMPVDataSource.html#a1">~MPVDataSource</a>() {} |
| 00532 }; |
| 00533 |
| 00534 |
| <a name="l00541"></a><a class="code" href="classMPVDataSink.html">00541</a> <span class="keyword">class </span><a class="code" href="classMPVDataSink.html">MPVDataSink</a> : <span class="keyword">public</span> <a class="code" href="classMPVPluginBase.html">MPVPluginBase</a>, <span class="keyword">public</span> <a class="code" href="classMPVDataSinkBase.html">MPVDataSinkBase</a> |
| 00542 { |
| 00543 <span class="keyword">public</span>: |
| <a name="l00544"></a><a class="code" href="classMPVDataSink.html#a0">00544</a> <a class="code" href="classMPVDataSink.html#a0">MPVDataSink</a>(TUid aSinkType) : <a class="code" href="classMPVDataSinkBase.html">MPVDataSinkBase</a>(aSinkType) {} |
| <a name="l00545"></a><a class="code" href="classMPVDataSink.html#a1">00545</a> <span class="keyword">virtual</span> <a class="code" href="classMPVDataSink.html#a1">~MPVDataSink</a>() {} |
| 00546 }; |
| 00547 |
| 00548 |
| <a name="l00553"></a><a class="code" href="classMPVDataSourceAndSink.html">00553</a> <span class="keyword">class </span><a class="code" href="classMPVDataSourceAndSink.html">MPVDataSourceAndSink</a> : |
| 00554 <span class="keyword">public</span> <a class="code" href="classMPVPluginBase.html">MPVPluginBase</a>, |
| 00555 <span class="keyword">public</span> <a class="code" href="classMPVDataSourceBase.html">MPVDataSourceBase</a>, |
| 00556 <span class="keyword">public</span> <a class="code" href="classMPVDataSinkBase.html">MPVDataSinkBase</a> |
| 00557 { |
| 00558 <span class="keyword">public</span>: |
| <a name="l00559"></a><a class="code" href="classMPVDataSourceAndSink.html#a0">00559</a> <a class="code" href="classMPVDataSourceAndSink.html#a0">MPVDataSourceAndSink</a>(TUid aSourceType, TUid aSinkType) : |
| 00560 <a class="code" href="classMPVDataSourceBase.html">MPVDataSourceBase</a>(aSourceType), |
| 00561 <a class="code" href="classMPVDataSinkBase.html">MPVDataSinkBase</a>(aSinkType) |
| 00562 {} |
| <a name="l00563"></a><a class="code" href="classMPVDataSourceAndSink.html#a1">00563</a> <span class="keyword">virtual</span> <a class="code" href="classMPVDataSourceAndSink.html#a1">~MPVDataSourceAndSink</a>() {} |
| 00564 }; |
| 00565 |
| 00566 |
| <a name="l00581"></a><a class="code" href="classMPVAudioInput.html">00581</a> <span class="keyword">class </span><a class="code" href="classMPVAudioInput.html">MPVAudioInput</a> |
| 00582 { |
| 00583 <span class="keyword">public</span>: |
| 00584 <span class="comment">//To set data format using MIME string.</span> |
| 00585 IMPORT_C <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMPVAudioInput.html#a0">SetFormatL</a>(<span class="keyword">const</span> TDesC8& aFormat, <span class="keyword">const</span> TDesC8& aFmtSpecific, TInt &aMaxRequestSize) = 0; |
| 00586 |
| 00587 <span class="comment">//To set sample rate and number of channels using MIME string.</span> |
| 00588 IMPORT_C <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMPVAudioInput.html#a1">SetConfigL</a>(<span class="keyword">const</span> TDesC8& aSampleRate |
| 00589 , <span class="keyword">const</span> TDesC8& aChannels) = 0; |
| 00590 |
| 00591 <span class="comment">//To cancel current command.</span> |
| 00592 IMPORT_C <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMPVAudioInput.html#a2">CancelCommand</a>() = 0; |
| 00593 |
| 00594 <span class="comment">//To reset hardware.</span> |
| 00595 IMPORT_C <span class="keyword">virtual</span> TInt <a class="code" href="classMPVAudioInput.html#a3">Reset</a>() = 0; |
| 00596 }; |
| 00597 |
| 00598 |
| 00599 <span class="comment">//Additional methods for DevSound audio source.</span> |
| <a name="l00600"></a><a class="code" href="classMPVDevSoundAudioInput.html">00600</a> <span class="keyword">class </span><a class="code" href="classMPVDevSoundAudioInput.html">MPVDevSoundAudioInput</a> |
| 00601 { |
| 00602 <span class="keyword">public</span>: |
| 00603 IMPORT_C <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMPVDevSoundAudioInput.html#a0">SetPrioritySettings</a>(<span class="keyword">const</span> TMMFPrioritySettings &aSettings) = 0; |
| 00604 IMPORT_C <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMPVDevSoundAudioInput.html#a1">SetInputFormatL</a>(<span class="keyword">const</span> TDesC8& aFormat, <a class="code" href="classMPVDataSourceBase.html">MPVDataSourceBase</a> *) = 0; |
| 00605 IMPORT_C <span class="keyword">virtual</span> TPVAudioOutputSwitch <a class="code" href="classMPVDevSoundAudioInput.html#a2">OutputSwitch</a>() = 0; |
| 00606 IMPORT_C <span class="keyword">virtual</span> TBool <a class="code" href="classMPVDevSoundAudioInput.html#a3">FillAmrBuffersToEnd</a>() = 0; |
| 00607 }; |
| 00608 |
| 00609 |
| <a name="l00616"></a><a class="code" href="classMPVAudioOutput.html">00616</a> <span class="keyword">class </span><a class="code" href="classMPVAudioOutput.html">MPVAudioOutput</a> |
| 00617 { |
| 00618 <span class="keyword">public</span>: |
| 00619 <span class="comment">//To set data format using MIME string.</span> |
| 00620 IMPORT_C <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMPVAudioOutput.html#a0">SetFormatL</a>(<span class="keyword">const</span> TDesC8& aFormat) = 0; |
| 00621 <span class="comment">//To set sample rate and number of channels using MIME string.</span> |
| 00622 IMPORT_C <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMPVAudioOutput.html#a1">SetConfigL</a>(<span class="keyword">const</span> TDesC8& aSampleRate |
| 00623 , <span class="keyword">const</span> TDesC8& aChannels) = 0; |
| 00624 <span class="comment">//To cancel current command.</span> |
| 00625 IMPORT_C <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMPVAudioOutput.html#a2">CancelCommand</a>() = 0; |
| 00626 <span class="comment">//To reset hardware.</span> |
| 00627 IMPORT_C <span class="keyword">virtual</span> TInt <a class="code" href="classMPVAudioOutput.html#a3">Reset</a>() = 0; |
| 00628 }; |
| 00629 |
| 00630 |
| 00631 <span class="comment">//Additional methods for DevSound audio sink.</span> |
| <a name="l00632"></a><a class="code" href="classMPVDevSoundAudioOutput.html">00632</a> <span class="keyword">class </span><a class="code" href="classMPVDevSoundAudioOutput.html">MPVDevSoundAudioOutput</a> |
| 00633 { |
| 00634 <span class="keyword">public</span>: |
| 00635 IMPORT_C <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMPVDevSoundAudioOutput.html#a0">SetPrioritySettings</a>(<span class="keyword">const</span> TMMFPrioritySettings &aSettings) = 0; |
| 00636 IMPORT_C <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMPVDevSoundAudioOutput.html#a1">ConcealErrorForNextBuffer</a>() = 0; |
| 00637 IMPORT_C <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMPVDevSoundAudioOutput.html#a2">SetOutputFormatL</a>(<span class="keyword">const</span> TDesC8& aFormat, <span class="keyword">const</span> TDesC8& aFmtSpecific, <a class="code" href="classMPVDataSinkBase.html">MPVDataSinkBase</a>* aConsumer, TInt &aMaxRequestSize) = 0; |
| 00638 IMPORT_C <span class="keyword">virtual</span> TPVAudioOutputSwitch <a class="code" href="classMPVDevSoundAudioOutput.html#a3">OutputSwitch</a>() = 0; |
| 00639 IMPORT_C <span class="keyword">virtual</span> TBool <a class="code" href="classMPVDevSoundAudioOutput.html#a4">FillAmrBuffersToEnd</a>() = 0; |
| 00640 }; |
| 00641 |
| 00642 |
| <a name="l00649"></a><a class="code" href="classMPVVideoInput.html">00649</a> <span class="keyword">class </span><a class="code" href="classMPVVideoInput.html">MPVVideoInput</a> |
| 00650 { |
| 00651 <span class="keyword">public</span>: |
| 00652 |
| 00658 IMPORT_C <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMPVVideoInput.html#a0">SetFormatL</a>(<span class="keyword">const</span> TDesC8& aFormat) = 0; |
| 00659 |
| 00666 IMPORT_C <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMPVVideoInput.html#a1">SetFrameRateL</a>(TReal32 aFrameRate) = 0; |
| 00667 |
| 00673 IMPORT_C <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMPVVideoInput.html#a2">SetVideoFrameSizeL</a>(<span class="keyword">const</span> TSize& aSize) = 0; |
| 00674 |
| 00680 IMPORT_C <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMPVVideoInput.html#a3">GetVideoFrameSizeL</a>(TSize& aSize) <span class="keyword">const</span> = 0; |
| 00681 }; |
| 00682 |
| 00683 |
| <a name="l00690"></a><a class="code" href="classMPVVideoOutput.html">00690</a> <span class="keyword">class </span><a class="code" href="classMPVVideoOutput.html">MPVVideoOutput</a> |
| 00691 { |
| 00692 <span class="keyword">public</span>: |
| 00698 IMPORT_C <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMPVVideoOutput.html#a0">SetFormatL</a>(<span class="keyword">const</span> TDesC8& aFormat) = 0; |
| 00699 |
| 00705 IMPORT_C <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMPVVideoOutput.html#a1">SetVideoFrameSizeL</a>(<span class="keyword">const</span> TSize& aSize) = 0; |
| 00706 |
| 00712 IMPORT_C <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMPVVideoOutput.html#a2">GetVideoFrameSizeL</a>(TSize& aSize) <span class="keyword">const</span> = 0; |
| 00713 }; |
| 00714 |
| 00715 |
| <a name="l00716"></a><a class="code" href="pv__plugin__interfaces_8h.html#a18">00716</a> <span class="keyword">typedef</span> TAny* <a class="code" href="pv__plugin__interfaces_8h.html#a18">RPvCommServer</a>; |
| 00717 |
| <a name="l00725"></a><a class="code" href="pv__plugin__interfaces_8h.html#a19">00725</a> <span class="keyword">typedef</span> <a class="code" href="classMPVPluginBase.html">MPVPluginBase</a> <a class="code" href="classMPVPluginBase.html">MPVCommServerBase</a>; |
| 00726 |
| <a name="l00727"></a><a class="code" href="classMPVYuvFrameBuffer.html">00727</a> <span class="keyword">class </span><a class="code" href="classMPVYuvFrameBuffer.html">MPVYuvFrameBuffer</a> |
| 00728 { |
| 00729 <span class="keyword">public</span>: |
| <a name="l00730"></a><a class="code" href="classMPVYuvFrameBuffer.html#a0">00730</a> <span class="keyword">virtual</span> <a class="code" href="classMPVYuvFrameBuffer.html#a0">~MPVYuvFrameBuffer</a>() {} |
| 00731 <span class="keyword">virtual</span> TSize <a class="code" href="classMPVYuvFrameBuffer.html#a1">GetFrameSize</a>()<span class="keyword">const</span> = 0; |
| 00732 }; |
| 00733 |
| 00734 |
| <a name="l00735"></a><a class="code" href="pv__plugin__interfaces_8h.html#a7">00735</a> <span class="preprocessor">#define PV_YUV_BUFFER_DEF_WIDTH 176</span> |
| <a name="l00736"></a><a class="code" href="pv__plugin__interfaces_8h.html#a8">00736</a> <span class="preprocessor"></span><span class="preprocessor">#define PV_YUV_BUFFER_DEF_HEIGHT 144</span> |
| <a name="l00737"></a><a class="code" href="classCPVMMFPointerBuffer.html">00737</a> <span class="preprocessor"></span><span class="keyword">class </span><a class="code" href="classCPVMMFPointerBuffer.html">CPVMMFPointerBuffer</a> : <span class="keyword">public</span> CMMFDataBuffer, <span class="keyword">public</span> <a class="code" href="classMPVYuvFrameBuffer.html">MPVYuvFrameBuffer</a> |
| 00738 { |
| 00739 <span class="keyword">public</span>: |
| <a name="l00740"></a><a class="code" href="classCPVMMFPointerBuffer.html#d0">00740</a> <span class="keyword">static</span> <a class="code" href="classCPVMMFPointerBuffer.html">CPVMMFPointerBuffer</a>* <a class="code" href="classCPVMMFPointerBuffer.html#d0">NewL</a>() |
| 00741 { |
| 00742 <a class="code" href="classCPVMMFPointerBuffer.html">CPVMMFPointerBuffer</a>* buf = <span class="keyword">new</span>(ELeave) <a class="code" href="classCPVMMFPointerBuffer.html">CPVMMFPointerBuffer</a>(); |
| 00743 <span class="keywordflow">return</span> buf; |
| 00744 } |
| <a name="l00745"></a><a class="code" href="classCPVMMFPointerBuffer.html#a0">00745</a> <a class="code" href="classCPVMMFPointerBuffer.html#a0">~CPVMMFPointerBuffer</a>() |
| 00746 { |
| 00747 } |
| <a name="l00748"></a><a class="code" href="classCPVMMFPointerBuffer.html#a1">00748</a> <span class="keyword">virtual</span> TDes8& <a class="code" href="classCPVMMFPointerBuffer.html#a1">Data</a>() |
| 00749 { |
| 00750 <span class="keywordflow">return</span> iPtr; |
| 00751 } |
| <a name="l00752"></a><a class="code" href="classCPVMMFPointerBuffer.html#a2">00752</a> <span class="keyword">virtual</span> <span class="keyword">const</span> TDesC8& <a class="code" href="classCPVMMFPointerBuffer.html#a1">Data</a>()<span class="keyword"> const</span> |
| 00753 <span class="keyword"> </span>{ |
| 00754 <span class="keywordflow">return</span> iPtr; |
| 00755 } |
| <a name="l00756"></a><a class="code" href="classCPVMMFPointerBuffer.html#a3">00756</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classCPVMMFPointerBuffer.html#a3">SetRequestSizeL</a>(TInt aSize) |
| 00757 { |
| 00758 (void)(aSize); |
| 00759 } |
| <a name="l00760"></a><a class="code" href="classCPVMMFPointerBuffer.html#a4">00760</a> <span class="keyword">virtual</span> TUint <a class="code" href="classCPVMMFPointerBuffer.html#a4">BufferSize</a>()<span class="keyword"> const</span> |
| 00761 <span class="keyword"> </span>{ |
| 00762 <span class="keywordflow">return</span> iPtr.Size(); |
| 00763 } |
| <a name="l00764"></a><a class="code" href="classCPVMMFPointerBuffer.html#a5">00764</a> <span class="keywordtype">void</span> <a class="code" href="classCPVMMFPointerBuffer.html#a5">SetData</a>(TUint8* aData, TInt aLength) |
| 00765 { |
| 00766 iPtr.Set(aData, aLength, aLength); |
| 00767 } |
| 00768 |
| <a name="l00769"></a><a class="code" href="classCPVMMFPointerBuffer.html#a6">00769</a> <span class="keywordtype">void</span> <a class="code" href="classCPVMMFPointerBuffer.html#a6">SetFrameSize</a>(<span class="keyword">const</span> TSize& size) |
| 00770 { |
| 00771 iFrameSize = size; |
| 00772 } |
| 00773 |
| 00774 <span class="comment">/* MPVYuvFrameBuffer virtuals */</span> |
| <a name="l00775"></a><a class="code" href="classCPVMMFPointerBuffer.html#a7">00775</a> <span class="keyword">virtual</span> TSize <a class="code" href="classCPVMMFPointerBuffer.html#a7">GetFrameSize</a>()<span class="keyword">const</span> |
| 00776 { |
| 00777 <span class="keywordflow">return</span> iFrameSize; |
| 00778 } |
| 00779 <span class="keyword">private</span>: |
| 00780 <a class="code" href="classCPVMMFPointerBuffer.html">CPVMMFPointerBuffer</a>() : CMMFDataBuffer(<a class="code" href="pv__plugin__interfaces_8h.html#a17">KPVUidYUVFrameBuffer</a>), |
| 00781 iPtr(0, 0, 0), |
| 00782 iFrameSize(TSize(<a class="code" href="pv__plugin__interfaces_8h.html#a7">PV_YUV_BUFFER_DEF_WIDTH</a>, <a class="code" href="pv__plugin__interfaces_8h.html#a8">PV_YUV_BUFFER_DEF_HEIGHT</a>)) {}; |
| 00783 |
| 00784 <span class="keyword">private</span>: |
| 00785 TPtr8 iPtr; |
| 00786 TSize iFrameSize; |
| 00787 }; |
| 00788 <span class="preprocessor">#endif //</span> |
| 00789 <span class="preprocessor"></span> |
| 00790 |
| </pre></div><hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>PV Author Engine</small> |
| <address style="align: left;"><small>Posting Version: OPENCORE_20090310 </small> |
| </small></address> |
| </body> |
| </html> |