author | hgs |
Thu, 14 Oct 2010 10:22:53 +0100 | |
changeset 4 | 46e224560be8 |
parent 0 | 58be5850fb6c |
permissions | -rw-r--r-- |
0
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1 |
// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
2 |
// All rights reserved. |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
3 |
// This component and the accompanying materials are made available |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
4 |
// under the terms of "Eclipse Public License v1.0" |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
5 |
// which accompanies this distribution, and is available |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
6 |
// at the URL "http://www.eclipse.org/legal/epl-v10.html". |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
7 |
// |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
8 |
// Initial Contributors: |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
9 |
// Nokia Corporation - initial contribution. |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
10 |
// |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
11 |
// Contributors: |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
12 |
// |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
13 |
// Description: |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
14 |
// |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
15 |
|
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
16 |
|
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
17 |
|
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
18 |
/** |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
19 |
* @file |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
20 |
* @internalTechnology |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
21 |
*/ |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
22 |
|
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
23 |
#ifndef OMXILFILESOURCEPROCESSINGFUNCTION_H |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
24 |
#define OMXILFILESOURCEPROCESSINGFUNCTION_H |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
25 |
|
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
26 |
#include <openmax/il/common/omxilprocessingfunction.h> |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
27 |
#include <e32base.h> |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
28 |
#include <e32msgqueue.h> |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
29 |
#include <f32file.h> |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
30 |
#include <openmax/il/khronos/v1_x/OMX_Component.h> |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
31 |
|
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
32 |
class COmxILFileSourceProcessingFunction : public COmxILProcessingFunction |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
33 |
{ |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
34 |
public: |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
35 |
static COmxILFileSourceProcessingFunction* NewL(MOmxILCallbackNotificationIf& aCallbacks); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
36 |
~COmxILFileSourceProcessingFunction(); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
37 |
|
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
38 |
OMX_ERRORTYPE StateTransitionIndication(TStateIndex aNewState); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
39 |
OMX_ERRORTYPE BufferFlushingIndication(TUint32 aPortIndex, OMX_DIRTYPE aDirection); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
40 |
OMX_ERRORTYPE ParamIndication(OMX_INDEXTYPE aParamIndex, const TAny* apComponentParameterStructure); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
41 |
OMX_ERRORTYPE ConfigIndication(OMX_INDEXTYPE aConfigIndex, const TAny* apComponentConfigStructure); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
42 |
OMX_ERRORTYPE BufferIndication(OMX_BUFFERHEADERTYPE* apBufferHeader, OMX_DIRTYPE aDirection); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
43 |
OMX_BOOL BufferRemovalIndication(OMX_BUFFERHEADERTYPE* apBufferHeader, OMX_DIRTYPE aDirection); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
44 |
|
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
45 |
MOmxILCallbackNotificationIf& GetCallbacks(); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
46 |
|
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
47 |
/** can return NULL if parameter has not been set. */ |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
48 |
const HBufC* FileName() const; |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
49 |
const HBufC8* Uri() const; |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
50 |
|
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
51 |
private: |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
52 |
COmxILFileSourceProcessingFunction(MOmxILCallbackNotificationIf& aCallbacks); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
53 |
void ConstructL(); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
54 |
|
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
55 |
void InitFileAndUriL(); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
56 |
OMX_ERRORTYPE SetFileName(const OMX_PARAM_CONTENTURITYPE* aContentUriType); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
57 |
|
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
58 |
private: |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
59 |
RPointerArray<OMX_BUFFERHEADERTYPE> iBuffersToFill; |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
60 |
OMX_STATETYPE iState; |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
61 |
HBufC8* ipUri; |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
62 |
HBufC* ipFileName; |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
63 |
|
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
64 |
private: |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
65 |
class CPFHelper; |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
66 |
class CBufferArrivalHandler; |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
67 |
|
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
68 |
class CFileSourceAccess : public CActive |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
69 |
{ |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
70 |
friend class CPFHelper; |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
71 |
public: |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
72 |
static CFileSourceAccess* NewL(COmxILFileSourceProcessingFunction& aParent); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
73 |
~CFileSourceAccess(); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
74 |
|
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
75 |
// from CActive |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
76 |
void RunL(); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
77 |
void DoCancel(); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
78 |
|
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
79 |
TInt Execute(); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
80 |
void Pause(); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
81 |
void Stop(); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
82 |
void Idle(); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
83 |
|
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
84 |
void CancelDataTransfer(); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
85 |
|
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
86 |
TInt ProcessNextBuffer(); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
87 |
|
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
88 |
private: |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
89 |
CFileSourceAccess(COmxILFileSourceProcessingFunction& aParent); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
90 |
void ConstructL(); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
91 |
|
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
92 |
private: |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
93 |
COmxILFileSourceProcessingFunction& iParent; |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
94 |
OMX_BUFFERHEADERTYPE* iCurrentBuffer; |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
95 |
|
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
96 |
RFs iFs; |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
97 |
RFile iFileHandle; |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
98 |
TInt iBufferOffset; |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
99 |
TPtr8 iReadBuffer; |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
100 |
TBool iEOSFlag; // Notifies that end of file has been reached. |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
101 |
TInt iEOSBufferNotificationCount; // counts the number of responses to buffer notification when URI is unspecified |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
102 |
|
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
103 |
} *ipFileSourceAccess; |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
104 |
|
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
105 |
class CPFHelper : public CActive |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
106 |
{ |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
107 |
public: |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
108 |
static CPFHelper* NewL(COmxILFileSourceProcessingFunction& aParent, CFileSourceAccess& aFileSourceAccess, CBufferArrivalHandler& aBufferArrivalHandler); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
109 |
~CPFHelper(); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
110 |
|
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
111 |
static OMX_ERRORTYPE ConvertSymbianErrorType(TInt aError); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
112 |
|
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
113 |
// from CActive |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
114 |
void RunL(); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
115 |
void DoCancel(); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
116 |
|
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
117 |
TInt ExecuteAsync(); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
118 |
TInt StopAsync(); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
119 |
TInt PauseAsync(); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
120 |
void StopSync(); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
121 |
TInt IdleAsync(); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
122 |
TInt FlushIndication(); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
123 |
OMX_BOOL RemoveBufferIndication(OMX_BUFFERHEADERTYPE* apBufferHeader); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
124 |
|
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
125 |
enum TMessageType |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
126 |
{ |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
127 |
EExecuteCommand, |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
128 |
EStopCommand, |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
129 |
EPauseCommand, |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
130 |
ECancelCommand, |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
131 |
EIdleCommand, |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
132 |
EFlushCommand, |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
133 |
ERemoveBufferCommand |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
134 |
}; |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
135 |
|
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
136 |
class TProcMessage |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
137 |
{ |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
138 |
public: |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
139 |
TMessageType iType; |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
140 |
TAny* iPtr; |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
141 |
}; |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
142 |
|
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
143 |
class TBufferRemovalArgs |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
144 |
{ |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
145 |
public: |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
146 |
OMX_BUFFERHEADERTYPE* ipHeader; // Input parameter. Not owned |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
147 |
OMX_BOOL* iHdrRemoved; // Return parameter. Not owned |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
148 |
}; |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
149 |
|
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
150 |
RMsgQueue<TProcMessage> iMsgQueue; |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
151 |
|
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
152 |
private: |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
153 |
CPFHelper(COmxILFileSourceProcessingFunction& aParent, CFileSourceAccess& aFileSourceAccess,CBufferArrivalHandler& aBufferArrivalHandler); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
154 |
void ConstructL(); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
155 |
|
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
156 |
TInt ProcessQueue(); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
157 |
void PerformFlush(); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
158 |
OMX_BOOL PerformBufferRemoval(OMX_BUFFERHEADERTYPE* apBufferHeader); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
159 |
|
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
160 |
private: |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
161 |
COmxILFileSourceProcessingFunction& iParent; |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
162 |
CFileSourceAccess& iFileSourceAccess; |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
163 |
CBufferArrivalHandler& iBufferArrivalHandler; |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
164 |
RThread iRunLContext; |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
165 |
RSemaphore iWaitSemaphore; |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
166 |
} *ipPFHelper; |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
167 |
|
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
168 |
class CBufferArrivalHandler : public CActive |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
169 |
{ |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
170 |
public: |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
171 |
static CBufferArrivalHandler* NewL(COmxILFileSourceProcessingFunction& aParent, CFileSourceAccess& aFileSourceAccess); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
172 |
~CBufferArrivalHandler(); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
173 |
|
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
174 |
TInt BufferIndication(OMX_BUFFERHEADERTYPE* apBufferHeader); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
175 |
void FlushIndication(); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
176 |
OMX_BOOL RemoveBufferIndication(OMX_BUFFERHEADERTYPE* apBufferHeader); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
177 |
|
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
178 |
// CActive |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
179 |
void RunL(); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
180 |
void DoCancel(); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
181 |
|
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
182 |
private: |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
183 |
CBufferArrivalHandler(COmxILFileSourceProcessingFunction& aParent, CFileSourceAccess& aFileSourceAccess); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
184 |
void ConstructL(); |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
185 |
|
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
186 |
private: |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
187 |
class TBufferIndicationMessage |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
188 |
{ |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
189 |
public: |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
190 |
OMX_BUFFERHEADERTYPE* iBufferHdr; // Not owned |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
191 |
}; |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
192 |
|
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
193 |
RMsgQueue<TBufferIndicationMessage> iMsgQueue; |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
194 |
COmxILFileSourceProcessingFunction& iParent; |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
195 |
CFileSourceAccess& iFileSourceAccess; |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
196 |
} *ipBufferArrivalHandler; |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
197 |
}; |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
198 |
|
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
199 |
#endif // OMXILFILESOURCEPROCESSINGFUNCTION_H |
58be5850fb6c
Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
200 |