| <!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">#if 0 </span><span class="comment">/* Causes a compiler warning when deriving from this class */</span> |
| 00156 <span class="keyword">typedef</span> MDataSource <a class="code" href="classMPVDataSourceBase.html">MPVDataSourceBase</a>; |
| 00157 <span class="keyword">typedef</span> MDataSink <a class="code" href="classMPVDataSinkBase.html">MPVDataSinkBase</a>; |
| 00158 <span class="preprocessor">#else</span> |
| 00159 <span class="preprocessor"></span><span class="preprocessor">#define MPVDataSourceBase MDataSource</span> |
| 00160 <span class="preprocessor"></span><span class="preprocessor">#define MPVDataSinkBase MDataSink</span> |
| 00161 <span class="preprocessor"></span><span class="preprocessor">#endif</span> |
| 00162 <span class="preprocessor"></span> |
| 00163 <span class="preprocessor">#else </span><span class="comment">/* USE_MMF_DATA_PATH */</span> |
| 00164 |
| 00165 <span class="comment">// forward declaration</span> |
| 00166 <span class="keyword">class </span><a class="code" href="classMPVDataSinkBase.html">MPVDataSinkBase</a>; |
| 00167 |
| <a name="l00173"></a><a class="code" href="classMPVDataSourceBase.html">00173</a> <span class="keyword">class </span><a class="code" href="classMPVDataSourceBase.html">MPVDataSourceBase</a> |
| 00174 { |
| 00175 <span class="keyword">public</span>: |
| <a name="l00176"></a><a class="code" href="classMPVDataSourceBase.html#a0">00176</a> <a class="code" href="classMPVDataSourceBase.html#a0">MPVDataSourceBase</a>(TUid aType): iDataSourceType(aType) {} |
| <a name="l00177"></a><a class="code" href="classMPVDataSourceBase.html#a1">00177</a> <span class="keyword">virtual</span> <a class="code" href="classMPVDataSourceBase.html#a1">~MPVDataSourceBase</a>() {} |
| 00178 |
| 00199 <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; |
| 00200 |
| 00212 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMPVDataSourceBase.html#a3">BufferEmptiedL</a>(CMMFBuffer* aBuffer) = 0; |
| 00213 |
| 00221 <span class="keyword">virtual</span> TBool <a class="code" href="classMPVDataSourceBase.html#a4">CanCreateSourceBuffer</a>() = 0; |
| 00222 |
| 00241 <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>) |
| 00242 { |
| 00243 <span class="keywordflow">return</span> NULL; |
| 00244 } |
| 00245 |
| 00246 |
| 00269 <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>) |
| 00270 { |
| 00271 <span class="keywordflow">return</span> NULL; |
| 00272 } |
| 00273 |
| 00274 |
| 00295 <span class="keyword">virtual</span> TInt <a class="code" href="classMPVDataSourceBase.html#a7">SourceThreadLogon</a>(MAsyncEventHandler& <span class="comment">/*aEventHandler*/</span>) |
| 00296 { |
| 00297 <span class="keywordflow">return</span> KErrNone; |
| 00298 } |
| 00299 |
| 00310 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMPVDataSourceBase.html#a8">SourceThreadLogoff</a>() {}; |
| 00311 |
| 00318 <span class="keyword">virtual</span> TInt <a class="code" href="classMPVDataSourceBase.html#a9">SourcePrimeL</a>() |
| 00319 { |
| 00320 <span class="keywordflow">return</span> 0; |
| 00321 } |
| 00322 |
| 00329 <span class="keyword">virtual</span> TInt <a class="code" href="classMPVDataSourceBase.html#a10">SourcePlayL</a>() |
| 00330 { |
| 00331 <span class="keywordflow">return</span> 0; |
| 00332 }; |
| 00333 |
| 00340 <span class="keyword">virtual</span> TInt <a class="code" href="classMPVDataSourceBase.html#a11">SourcePauseL</a>() |
| 00341 { |
| 00342 <span class="keywordflow">return</span> 0; |
| 00343 }; |
| 00344 |
| 00351 <span class="keyword">virtual</span> TInt <a class="code" href="classMPVDataSourceBase.html#a12">SourceStopL</a>() |
| 00352 { |
| 00353 <span class="keywordflow">return</span> 0; |
| 00354 }; |
| 00355 <span class="keyword">private</span>: |
| 00356 TUid iDataSourceType; |
| 00357 }; |
| 00358 |
| 00359 |
| <a name="l00365"></a><a class="code" href="classMPVDataSinkBase.html">00365</a> <span class="keyword">class </span><a class="code" href="classMPVDataSinkBase.html">MPVDataSinkBase</a> |
| 00366 { |
| 00367 <span class="keyword">public</span>: |
| <a name="l00368"></a><a class="code" href="classMPVDataSinkBase.html#a0">00368</a> <a class="code" href="classMPVDataSinkBase.html#a0">MPVDataSinkBase</a>(TUid aType): iDataSinkType(aType) {} |
| <a name="l00369"></a><a class="code" href="classMPVDataSinkBase.html#a1">00369</a> <span class="keyword">virtual</span> <a class="code" href="classMPVDataSinkBase.html#a1">~MPVDataSinkBase</a>() {} |
| 00370 |
| 00391 <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; |
| 00392 |
| 00404 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMPVDataSinkBase.html#a3">BufferFilledL</a>(CMMFBuffer* aBuffer) = 0; |
| 00405 |
| 00413 <span class="keyword">virtual</span> TBool <a class="code" href="classMPVDataSinkBase.html#a4">CanCreateSinkBuffer</a>() = 0; |
| 00414 |
| 00433 <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>) |
| 00434 { |
| 00435 <span class="keywordflow">return</span> NULL; |
| 00436 } |
| 00437 |
| 00458 <span class="keyword">virtual</span> TInt <a class="code" href="classMPVDataSinkBase.html#a6">SinkThreadLogon</a>(MAsyncEventHandler& <span class="comment">/*aEventHandler*/</span>) |
| 00459 { |
| 00460 <span class="keywordflow">return</span> KErrNone; |
| 00461 }; |
| 00462 |
| 00473 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMPVDataSinkBase.html#a7">SinkThreadLogoff</a>() {}; |
| 00474 |
| 00481 <span class="keyword">virtual</span> TInt <a class="code" href="classMPVDataSinkBase.html#a8">SinkPrimeL</a>() |
| 00482 { |
| 00483 <span class="keywordflow">return</span> 0; |
| 00484 }; |
| 00485 |
| 00492 <span class="keyword">virtual</span> TInt <a class="code" href="classMPVDataSinkBase.html#a9">SinkPlayL</a>() |
| 00493 { |
| 00494 <span class="keywordflow">return</span> 0; |
| 00495 }; |
| 00496 |
| 00503 <span class="keyword">virtual</span> TInt <a class="code" href="classMPVDataSinkBase.html#a10">SinkPauseL</a>() |
| 00504 { |
| 00505 <span class="keywordflow">return</span> 0; |
| 00506 }; |
| 00507 |
| 00514 <span class="keyword">virtual</span> TInt <a class="code" href="classMPVDataSinkBase.html#a11">SinkStopL</a>() |
| 00515 { |
| 00516 <span class="keywordflow">return</span> 0; |
| 00517 }; |
| 00518 <span class="keyword">private</span>: |
| 00519 TUid iDataSinkType; |
| 00520 }; |
| 00521 |
| 00522 <span class="preprocessor">#endif</span> |
| 00523 <span class="preprocessor"></span> |
| 00524 |
| 00525 |
| <a name="l00532"></a><a class="code" href="classMPVDataSource.html">00532</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> |
| 00533 { |
| 00534 <span class="keyword">public</span>: |
| <a name="l00535"></a><a class="code" href="classMPVDataSource.html#a0">00535</a> <a class="code" href="classMPVDataSource.html#a0">MPVDataSource</a>(TUid aSourceType) : <a class="code" href="classMPVDataSourceBase.html">MPVDataSourceBase</a>(aSourceType) {} |
| <a name="l00536"></a><a class="code" href="classMPVDataSource.html#a1">00536</a> <span class="keyword">virtual</span> <a class="code" href="classMPVDataSource.html#a1">~MPVDataSource</a>() {} |
| 00537 }; |
| 00538 |
| 00539 |
| <a name="l00546"></a><a class="code" href="classMPVDataSink.html">00546</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> |
| 00547 { |
| 00548 <span class="keyword">public</span>: |
| <a name="l00549"></a><a class="code" href="classMPVDataSink.html#a0">00549</a> <a class="code" href="classMPVDataSink.html#a0">MPVDataSink</a>(TUid aSinkType) : <a class="code" href="classMPVDataSinkBase.html">MPVDataSinkBase</a>(aSinkType) {} |
| <a name="l00550"></a><a class="code" href="classMPVDataSink.html#a1">00550</a> <span class="keyword">virtual</span> <a class="code" href="classMPVDataSink.html#a1">~MPVDataSink</a>() {} |
| 00551 }; |
| 00552 |
| 00553 |
| <a name="l00558"></a><a class="code" href="classMPVDataSourceAndSink.html">00558</a> <span class="keyword">class </span><a class="code" href="classMPVDataSourceAndSink.html">MPVDataSourceAndSink</a> : |
| 00559 <span class="keyword">public</span> <a class="code" href="classMPVPluginBase.html">MPVPluginBase</a>, |
| 00560 <span class="keyword">public</span> <a class="code" href="classMPVDataSourceBase.html">MPVDataSourceBase</a>, |
| 00561 <span class="keyword">public</span> <a class="code" href="classMPVDataSinkBase.html">MPVDataSinkBase</a> |
| 00562 { |
| 00563 <span class="keyword">public</span>: |
| <a name="l00564"></a><a class="code" href="classMPVDataSourceAndSink.html#a0">00564</a> <a class="code" href="classMPVDataSourceAndSink.html#a0">MPVDataSourceAndSink</a>(TUid aSourceType, TUid aSinkType) : |
| 00565 <a class="code" href="classMPVDataSourceBase.html">MPVDataSourceBase</a>(aSourceType), |
| 00566 <a class="code" href="classMPVDataSinkBase.html">MPVDataSinkBase</a>(aSinkType) |
| 00567 {} |
| <a name="l00568"></a><a class="code" href="classMPVDataSourceAndSink.html#a1">00568</a> <span class="keyword">virtual</span> <a class="code" href="classMPVDataSourceAndSink.html#a1">~MPVDataSourceAndSink</a>() {} |
| 00569 }; |
| 00570 |
| 00571 |
| <a name="l00586"></a><a class="code" href="classMPVAudioInput.html">00586</a> <span class="keyword">class </span><a class="code" href="classMPVAudioInput.html">MPVAudioInput</a> |
| 00587 { |
| 00588 <span class="keyword">public</span>: |
| 00589 <span class="comment">//To set data format using MIME string.</span> |
| 00590 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; |
| 00591 |
| 00592 <span class="comment">//To set sample rate and number of channels using MIME string.</span> |
| 00593 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 |
| 00594 , <span class="keyword">const</span> TDesC8& aChannels) = 0; |
| 00595 |
| 00596 <span class="comment">//To cancel current command.</span> |
| 00597 IMPORT_C <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMPVAudioInput.html#a2">CancelCommand</a>() = 0; |
| 00598 |
| 00599 <span class="comment">//To reset hardware.</span> |
| 00600 IMPORT_C <span class="keyword">virtual</span> TInt <a class="code" href="classMPVAudioInput.html#a3">Reset</a>() = 0; |
| 00601 }; |
| 00602 |
| 00603 |
| 00604 <span class="comment">//Additional methods for DevSound audio source.</span> |
| <a name="l00605"></a><a class="code" href="classMPVDevSoundAudioInput.html">00605</a> <span class="keyword">class </span><a class="code" href="classMPVDevSoundAudioInput.html">MPVDevSoundAudioInput</a> |
| 00606 { |
| 00607 <span class="keyword">public</span>: |
| 00608 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; |
| 00609 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; |
| 00610 IMPORT_C <span class="keyword">virtual</span> TPVAudioOutputSwitch <a class="code" href="classMPVDevSoundAudioInput.html#a2">OutputSwitch</a>() = 0; |
| 00611 IMPORT_C <span class="keyword">virtual</span> TBool <a class="code" href="classMPVDevSoundAudioInput.html#a3">FillAmrBuffersToEnd</a>() = 0; |
| 00612 }; |
| 00613 |
| 00614 |
| <a name="l00621"></a><a class="code" href="classMPVAudioOutput.html">00621</a> <span class="keyword">class </span><a class="code" href="classMPVAudioOutput.html">MPVAudioOutput</a> |
| 00622 { |
| 00623 <span class="keyword">public</span>: |
| 00624 <span class="comment">//To set data format using MIME string.</span> |
| 00625 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; |
| 00626 <span class="comment">//To set sample rate and number of channels using MIME string.</span> |
| 00627 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 |
| 00628 , <span class="keyword">const</span> TDesC8& aChannels) = 0; |
| 00629 <span class="comment">//To cancel current command.</span> |
| 00630 IMPORT_C <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMPVAudioOutput.html#a2">CancelCommand</a>() = 0; |
| 00631 <span class="comment">//To reset hardware.</span> |
| 00632 IMPORT_C <span class="keyword">virtual</span> TInt <a class="code" href="classMPVAudioOutput.html#a3">Reset</a>() = 0; |
| 00633 }; |
| 00634 |
| 00635 |
| 00636 <span class="comment">//Additional methods for DevSound audio sink.</span> |
| <a name="l00637"></a><a class="code" href="classMPVDevSoundAudioOutput.html">00637</a> <span class="keyword">class </span><a class="code" href="classMPVDevSoundAudioOutput.html">MPVDevSoundAudioOutput</a> |
| 00638 { |
| 00639 <span class="keyword">public</span>: |
| 00640 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; |
| 00641 IMPORT_C <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMPVDevSoundAudioOutput.html#a1">ConcealErrorForNextBuffer</a>() = 0; |
| 00642 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; |
| 00643 IMPORT_C <span class="keyword">virtual</span> TPVAudioOutputSwitch <a class="code" href="classMPVDevSoundAudioOutput.html#a3">OutputSwitch</a>() = 0; |
| 00644 IMPORT_C <span class="keyword">virtual</span> TBool <a class="code" href="classMPVDevSoundAudioOutput.html#a4">FillAmrBuffersToEnd</a>() = 0; |
| 00645 }; |
| 00646 |
| 00647 |
| <a name="l00654"></a><a class="code" href="classMPVVideoInput.html">00654</a> <span class="keyword">class </span><a class="code" href="classMPVVideoInput.html">MPVVideoInput</a> |
| 00655 { |
| 00656 <span class="keyword">public</span>: |
| 00657 |
| 00663 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; |
| 00664 |
| 00671 IMPORT_C <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMPVVideoInput.html#a1">SetFrameRateL</a>(TReal32 aFrameRate) = 0; |
| 00672 |
| 00678 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; |
| 00679 |
| 00685 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; |
| 00686 }; |
| 00687 |
| 00688 |
| <a name="l00695"></a><a class="code" href="classMPVVideoOutput.html">00695</a> <span class="keyword">class </span><a class="code" href="classMPVVideoOutput.html">MPVVideoOutput</a> |
| 00696 { |
| 00697 <span class="keyword">public</span>: |
| 00703 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; |
| 00704 |
| 00710 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; |
| 00711 |
| 00717 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; |
| 00718 }; |
| 00719 |
| 00720 |
| <a name="l00721"></a><a class="code" href="pv__plugin__interfaces_8h.html#a18">00721</a> <span class="keyword">typedef</span> TAny* <a class="code" href="pv__plugin__interfaces_8h.html#a18">RPvCommServer</a>; |
| 00722 |
| <a name="l00730"></a><a class="code" href="pv__plugin__interfaces_8h.html#a19">00730</a> <span class="keyword">typedef</span> <a class="code" href="classMPVPluginBase.html">MPVPluginBase</a> <a class="code" href="classMPVPluginBase.html">MPVCommServerBase</a>; |
| 00731 |
| <a name="l00732"></a><a class="code" href="classMPVYuvFrameBuffer.html">00732</a> <span class="keyword">class </span><a class="code" href="classMPVYuvFrameBuffer.html">MPVYuvFrameBuffer</a> |
| 00733 { |
| 00734 <span class="keyword">public</span>: |
| <a name="l00735"></a><a class="code" href="classMPVYuvFrameBuffer.html#a0">00735</a> <span class="keyword">virtual</span> <a class="code" href="classMPVYuvFrameBuffer.html#a0">~MPVYuvFrameBuffer</a>() {} |
| 00736 <span class="keyword">virtual</span> TSize <a class="code" href="classMPVYuvFrameBuffer.html#a1">GetFrameSize</a>()<span class="keyword">const</span> = 0; |
| 00737 }; |
| 00738 |
| 00739 |
| <a name="l00740"></a><a class="code" href="pv__plugin__interfaces_8h.html#a7">00740</a> <span class="preprocessor">#define PV_YUV_BUFFER_DEF_WIDTH 176</span> |
| <a name="l00741"></a><a class="code" href="pv__plugin__interfaces_8h.html#a8">00741</a> <span class="preprocessor"></span><span class="preprocessor">#define PV_YUV_BUFFER_DEF_HEIGHT 144</span> |
| <a name="l00742"></a><a class="code" href="classCPVMMFPointerBuffer.html">00742</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> |
| 00743 { |
| 00744 <span class="keyword">public</span>: |
| <a name="l00745"></a><a class="code" href="classCPVMMFPointerBuffer.html#d0">00745</a> <span class="keyword">static</span> <a class="code" href="classCPVMMFPointerBuffer.html">CPVMMFPointerBuffer</a>* <a class="code" href="classCPVMMFPointerBuffer.html#d0">NewL</a>() |
| 00746 { |
| 00747 <a class="code" href="classCPVMMFPointerBuffer.html">CPVMMFPointerBuffer</a>* buf = <span class="keyword">new</span>(ELeave) <a class="code" href="classCPVMMFPointerBuffer.html">CPVMMFPointerBuffer</a>(); |
| 00748 <span class="keywordflow">return</span> buf; |
| 00749 } |
| <a name="l00750"></a><a class="code" href="classCPVMMFPointerBuffer.html#a0">00750</a> <a class="code" href="classCPVMMFPointerBuffer.html#a0">~CPVMMFPointerBuffer</a>() |
| 00751 { |
| 00752 } |
| <a name="l00753"></a><a class="code" href="classCPVMMFPointerBuffer.html#a1">00753</a> <span class="keyword">virtual</span> TDes8& <a class="code" href="classCPVMMFPointerBuffer.html#a1">Data</a>() |
| 00754 { |
| 00755 <span class="keywordflow">return</span> iPtr; |
| 00756 } |
| <a name="l00757"></a><a class="code" href="classCPVMMFPointerBuffer.html#a2">00757</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> |
| 00758 <span class="keyword"> </span>{ |
| 00759 <span class="keywordflow">return</span> iPtr; |
| 00760 } |
| <a name="l00761"></a><a class="code" href="classCPVMMFPointerBuffer.html#a3">00761</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classCPVMMFPointerBuffer.html#a3">SetRequestSizeL</a>(TInt aSize) |
| 00762 { |
| 00763 (void)(aSize); |
| 00764 } |
| <a name="l00765"></a><a class="code" href="classCPVMMFPointerBuffer.html#a4">00765</a> <span class="keyword">virtual</span> TUint <a class="code" href="classCPVMMFPointerBuffer.html#a4">BufferSize</a>()<span class="keyword"> const</span> |
| 00766 <span class="keyword"> </span>{ |
| 00767 <span class="keywordflow">return</span> iPtr.Size(); |
| 00768 } |
| <a name="l00769"></a><a class="code" href="classCPVMMFPointerBuffer.html#a5">00769</a> <span class="keywordtype">void</span> <a class="code" href="classCPVMMFPointerBuffer.html#a5">SetData</a>(TUint8* aData, TInt aLength) |
| 00770 { |
| 00771 iPtr.Set(aData, aLength, aLength); |
| 00772 } |
| 00773 |
| <a name="l00774"></a><a class="code" href="classCPVMMFPointerBuffer.html#a6">00774</a> <span class="keywordtype">void</span> <a class="code" href="classCPVMMFPointerBuffer.html#a6">SetFrameSize</a>(<span class="keyword">const</span> TSize& size) |
| 00775 { |
| 00776 iFrameSize = size; |
| 00777 } |
| 00778 |
| 00779 <span class="comment">/* MPVYuvFrameBuffer virtuals */</span> |
| <a name="l00780"></a><a class="code" href="classCPVMMFPointerBuffer.html#a7">00780</a> <span class="keyword">virtual</span> TSize <a class="code" href="classCPVMMFPointerBuffer.html#a7">GetFrameSize</a>()<span class="keyword">const</span> |
| 00781 { |
| 00782 <span class="keywordflow">return</span> iFrameSize; |
| 00783 } |
| 00784 <span class="keyword">private</span>: |
| 00785 <a class="code" href="classCPVMMFPointerBuffer.html">CPVMMFPointerBuffer</a>() : CMMFDataBuffer(<a class="code" href="pv__plugin__interfaces_8h.html#a17">KPVUidYUVFrameBuffer</a>), |
| 00786 iPtr(0, 0, 0), |
| 00787 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>)) {}; |
| 00788 |
| 00789 <span class="keyword">private</span>: |
| 00790 TPtr8 iPtr; |
| 00791 TSize iFrameSize; |
| 00792 }; |
| 00793 <span class="preprocessor">#endif //</span> |
| 00794 <span class="preprocessor"></span> |
| 00795 |
| </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_20090120 </small> |
| </small></address> |
| </body> |
| </html> |