diff -r f345bda72bc4 -r 43e37759235e Symbian3/Examples/guid-6013a680-57f9-415b-8851-c4fa63356636/mmfexdes_8h_source.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Symbian3/Examples/guid-6013a680-57f9-415b-8851-c4fa63356636/mmfexdes_8h_source.html Tue Mar 30 16:16:55 2010 +0100 @@ -0,0 +1,112 @@ + + + + +TB9.2 Example Applications: examples/Multimedia/MmfExSinkSource/mmfexdes.h Source File + + + + + +

examples/Multimedia/MmfExSinkSource/mmfexdes.h

00001 // Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies).
+00002 // All rights reserved.
+00003 // This component and the accompanying materials are made available
+00004 // under the terms of "Eclipse Public License v1.0"
+00005 // which accompanies this distribution, and is available
+00006 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
+00007 //
+00008 // Initial Contributors:
+00009 // Nokia Corporation - initial contribution.
+00010 //
+00011 // Contributors:
+00012 //
+00013 // Description:
+00014 // MMFDes.h
+00015 //
+00016 
+00017 #ifndef __MMFDES_H_
+00018 #define __MMFDES_H_
+00019 
+00020 
+00021 #include <mmf/server/mmfclip.h>
+00022 #include <mmf/common/mmfutilities.h>
+00023 
+00024 //Panic codes for MMFDescriptor
+00025 enum TMMFExDescriptorPanicCode
+00026         {
+00027         EMMFDescriptorPanicBufferEmptiedLNotSupported = 1,
+00028         EMMFDescriptorPanicBufferFilledLNotSupported
+00029         };
+00030         
+00031 class TMMFExDescriptorParams
+00032         {
+00033 public:
+00034         TAny* iDes ; // Address of TPtr8 describing source Descriptor
+00035         TThreadId iDesThreadId ;
+00036         } ;
+00037 
+00038 typedef TPckgBuf<TMMFExDescriptorParams>  TMMFDescriptorConfig ;
+00039 
+00040 // Defines a MMF sink and source plug-in that can write and read media data
+00041 // to a descriptor
+00042 // Implements CMMFClip, which itself derives from MDataSource and MDataSink
+00043 class CMMFExDescriptor : public CMMFClip
+00044         {
+00045 public:
+00046         // Data source factory
+00047         static MDataSource* NewSourceL() ; 
+00048         // Data sink factory
+00049         static MDataSink* NewSinkL() ; 
+00050         ~CMMFExDescriptor() ;
+00051         
+00052 private:
+00053         // From MDataSource
+00054         TFourCC SourceDataTypeCode( TMediaId /*aMediaId*/) ;
+00055         void FillBufferL(CMMFBuffer* aBuffer, MDataSink* aConsumer,TMediaId /*aMediaId*/) ;//called by a MDataSink to request buffer fill
+00056         void BufferEmptiedL( CMMFBuffer* aBuffer ) ;
+00057         TBool CanCreateSourceBuffer() ;
+00058         CMMFBuffer* CreateSourceBufferL(TMediaId /*aMediaId*/, TBool &aReference) ;
+00059         void ConstructSourceL(  const TDesC8& aInitData ) ;
+00060 
+00061         // From MDataSink
+00062         TFourCC SinkDataTypeCode(TMediaId /*aMediaId*/) ; //used by data path MDataSource/Sink for codec matching
+00063         void EmptyBufferL( CMMFBuffer* aBuffer, MDataSource* aSupplier, TMediaId /*aMediaId*/ ) ; 
+00064         void BufferFilledL( CMMFBuffer* aBuffer ) ;
+00065         TBool CanCreateSinkBuffer() ;
+00066         CMMFBuffer* CreateSinkBufferL( TMediaId /*aMediaId*/ , TBool &aReference) ;
+00067         void ConstructSinkL( const TDesC8& aInitData ) ;
+00068 
+00069         // From CMMFClip
+00070         void ReadBufferL( TInt aLength, CMMFBuffer* aBuffer, TInt aPosition, MDataSink* aConsumer);
+00071         void WriteBufferL( TInt aLength, CMMFBuffer* aBuffer, TInt aPosition, MDataSource* aSupplier);
+00072         void ReadBufferL( CMMFBuffer* aBuffer, TInt aPosition, MDataSink* aConsumer) ;
+00073         void WriteBufferL( CMMFBuffer* aBuffer, TInt aPosition, MDataSource* aSupplier) ;
+00074         void ReadBufferL( CMMFBuffer* aBuffer, TInt aPosition) ;
+00075         void WriteBufferL( CMMFBuffer* aBuffer, TInt aPosition) ;
+00076         TInt64 BytesFree() ;  // amount of space available for the clip
+00077         TInt Size() ;  // length of clip
+00078 
+00079         // Construction
+00080         void ConstructL( const TDesC8& aInitData ) ;
+00081         CMMFExDescriptor();
+00082         // Helpers
+00083         void Reset() { iOffset = 0 ; };
+00084 
+00085 private:
+00086         // Need to know about the thread that the descriptor is in
+00087         RThread iDesThread;
+00088         TDes8* iDes ;
+00089         TInt iOffset;
+00090         TFourCC iSinkFourCC;
+00091         TFourCC iSourceFourCC;
+00092         TBool iUseTransferBuffer;
+00093         } ;
+00094 
+00095 
+00096 #endif
+
+
Generated by  + +doxygen 1.6.2
+ +