52 |
52 |
53 #define MAX_EXTENSION_SIZE 10 |
53 #define MAX_EXTENSION_SIZE 10 |
54 |
54 |
55 class CMarkerPositionTimer; |
55 class CMarkerPositionTimer; |
56 class CPositionUpdateTimer; |
56 class CPositionUpdateTimer; |
|
57 class CPrefetchLevelUpdateTimer; |
57 NONSHARABLE_CLASS(CMMFBackendEngine) : public CBase, |
58 NONSHARABLE_CLASS(CMMFBackendEngine) : public CBase, |
58 public MVideoPlayerUtilityObserver, |
59 public MVideoPlayerUtilityObserver, |
59 public MVideoLoadingObserver, |
60 public MVideoLoadingObserver, |
60 public MMdaAudioPlayerCallback, |
61 public MMdaAudioPlayerCallback, |
61 public MMdaObjectStateChangeObserver |
62 public MMdaObjectStateChangeObserver |
137 XAresult GetVolume(XAuint32* volume); |
138 XAresult GetVolume(XAuint32* volume); |
138 XAresult GetMaxVolume(XAuint32* maxvolume); |
139 XAresult GetMaxVolume(XAuint32* maxvolume); |
139 |
140 |
140 XAresult SetPlaybackRate(XAint16 rate); |
141 XAresult SetPlaybackRate(XAint16 rate); |
141 XAresult GetPlaybackRateCapabilities(XAboolean* forward, XAboolean* backward); |
142 XAresult GetPlaybackRateCapabilities(XAboolean* forward, XAboolean* backward); |
|
143 //PrefetchStatus |
|
144 XAresult RegisterPrefetchCallback(xaPrefetchCallback); |
|
145 XAresult SetPrefetchLevelUpdatePeriod(XApermille); |
|
146 XAresult SetPrefetchCallbackEventsMask(XAuint32 eventflags); |
|
147 |
|
148 XAresult GetPrefetchStatus(XAuint32* status); |
|
149 XAresult GetPrefetchFillLevel(XApermille* level); |
|
150 |
|
151 XAresult RegisterStreamInfoCallback(xaStreamEventChangeCallback); |
|
152 |
|
153 XAresult SetSourceRect(const XARectangle* rect); |
|
154 XAresult SetDestinationRect(const XARectangle* rect); |
|
155 XAresult SetRotation(XAmillidegree rotation); |
|
156 XAresult SetScaleOptions(XAuint32 options); |
142 |
157 |
143 public: |
158 public: |
144 |
159 |
145 // MMdaObjectStateChangeObserver |
160 // MMdaObjectStateChangeObserver |
146 void MoscoStateChangeEvent(CBase* aObject, TInt aPreviousState, |
161 void MoscoStateChangeEvent(CBase* aObject, TInt aPreviousState, |
181 void InitPlayerTimersL(); |
196 void InitPlayerTimersL(); |
182 TInt DetermineAPIToUse(char *uri, TFuncInUse aFunc); |
197 TInt DetermineAPIToUse(char *uri, TFuncInUse aFunc); |
183 XAresult DoHandlePlayItfAttributesChanged(); |
198 XAresult DoHandlePlayItfAttributesChanged(); |
184 void DoPostEvent(XAuint32 event); |
199 void DoPostEvent(XAuint32 event); |
185 TInt InitializeURIForMMFUtil(char *uri); |
200 TInt InitializeURIForMMFUtil(char *uri); |
|
201 |
|
202 //StreamInfo |
|
203 void SetStreamInfo(); |
|
204 void SendStreamInfoEvent(TInt); |
186 |
205 |
187 private: |
206 private: |
188 CVideoPlayerUtility2* iVideoPlayer; |
207 CVideoPlayerUtility2* iVideoPlayer; |
189 CBase* iBaseVideoPlayer; |
208 CBase* iBaseVideoPlayer; |
190 CMdaAudioPlayerUtility* iAudioPlayer; |
209 CMdaAudioPlayerUtility* iAudioPlayer; |
243 xaPlayCallback iPlayItfCBFunction; |
262 xaPlayCallback iPlayItfCBFunction; |
244 /* Property set by client */ |
263 /* Property set by client */ |
245 XAmillisecond iMarkerPosition; |
264 XAmillisecond iMarkerPosition; |
246 /* Property set by client */ |
265 /* Property set by client */ |
247 XAmillisecond iPositionUpdatePeriod; |
266 XAmillisecond iPositionUpdatePeriod; |
|
267 |
|
268 //PrefetchStatus Interface variables |
|
269 TBool bPrefetchCallbackRegistered; |
|
270 TBool bStatusChangeMask; |
|
271 CPrefetchLevelUpdateTimer* iPrefetchLevelUpdateTimer; |
|
272 XAmillisecond iPrefetchLevelUpdatePeriod; |
|
273 XAuint32 iPrefetchStatus; |
|
274 |
|
275 //StreamInfo |
|
276 TInt iNumStreams; |
|
277 TBool iAudioOnly; |
|
278 TBool iStreamInfoEventSubscribed; |
|
279 |
248 /* Property set by client (for file without file:///) */ |
280 /* Property set by client (for file without file:///) */ |
249 HBufC* iUri; /* owns */ |
281 HBufC* iUri; /* owns */ |
250 TPtr iUriPtr; |
282 TPtr iUriPtr; |
251 TUriType iUriType; |
283 TUriType iUriType; |
252 /* Property set by client */ |
284 /* Property set by client */ |
317 extern XAresult mmf_volumeitf_get_maxvolume(void * context, XAuint32* volume); |
349 extern XAresult mmf_volumeitf_get_maxvolume(void * context, XAuint32* volume); |
318 extern XAresult mmf_playbackrateitf_set_playbackrate(void * context, XAint16 rate); |
350 extern XAresult mmf_playbackrateitf_set_playbackrate(void * context, XAint16 rate); |
319 extern XAresult mmf_playbackrateitf_get_playbackratecaps(void * context, |
351 extern XAresult mmf_playbackrateitf_get_playbackratecaps(void * context, |
320 XAboolean* forward, XAboolean* backward); |
352 XAboolean* forward, XAboolean* backward); |
321 |
353 |
|
354 extern XAresult mmf_prefetchstatusitf_register_callback(void * context, xaPrefetchCallback callback); |
|
355 extern XAresult mmf_prefetchstatusitf_set_callback_events_mask(void * context, XAuint32 cbMask); |
|
356 extern XAresult mmf_prefetchstatusitf_set_fill_level_update_period( void * context, XAmillisecond mSec); |
|
357 |
|
358 extern XAresult mmf_prefetchstatusitf_get_status(void *context, XAuint32* status); |
|
359 extern XAresult mmf_prefetchstatusitf_get_fill_level(void *context,XApermille* fillLevel); |
|
360 |
|
361 extern XAresult mmf_streaminfoitf_register_callback(void * context, xaStreamEventChangeCallback callback); |
|
362 |
|
363 extern XAresult mmf_videoppitf_set_sourcerectangle(void * context, const XARectangle* rect); |
|
364 extern XAresult mmf_videoppitf_set_destinationrectangle(void * context, const XARectangle* rect); |
|
365 extern XAresult mmf_videoppitf_set_rotation(void * context, XAmillidegree rotation); |
|
366 extern XAresult mmf_videoppitf_set_scalingoptions(void * context, XAuint32 options); |
|
367 |
322 #endif /* __cplusplus */ |
368 #endif /* __cplusplus */ |
323 |
369 |
324 #endif /* CMMFBackendEngine_H */ |
370 #endif /* CMMFBackendEngine_H */ |