--- a/mmappfw_plat/mpx_playback_utility_api/tsrc/testvideoplaybackplugin/src/testvideoplaybackplugin.cpp Tue Aug 31 15:41:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,793 +0,0 @@
-/*
-* Copyright (c) 2002 - 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: CTestVideoPlaybackPlugin implementation
-*
-*/
-
-//
-// INCLUDE FILES
-//
-#include <apgcli.h>
-#include <e32cmn.h>
-#include <mpxmediageneraldefs.h>
-#include <mpxcommandgeneraldefs.h>
-#include <mpxmessagegeneraldefs.h>
-#include <mpxplaybackcommanddefs.h>
-#include <mpxvideoplaybackdefs.h>
-#include <mpxplaybackpluginobserver.h>
-#include <mpxplaybackplugin.h>
-#include <mpxlog.h>
-#include <mpxmedia.h>
-
-#include "testvideoplaybackplugin.h"
-#include "mpxplaybackutilitytestdefs.h"
-#include "mpxplaybackutilitytest.h"
-
-
-//
-// CONSTANTS
-//
-const TUid KLocalPlaybackUid = { 0x10282556 };
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// ----------------------------------------------------------------------------
-// Two-phased constructor.
-// ----------------------------------------------------------------------------
-//
-CTestVideoPlaybackPlugin* CTestVideoPlaybackPlugin::NewL( TAny* /*aInitParams*/ )
-{
-
- CTestVideoPlaybackPlugin* p = new (ELeave) CTestVideoPlaybackPlugin();
- CleanupStack::PushL(p);
- p->ConstructL();
- CleanupStack::Pop(p);
- return p;
-}
-
-// ----------------------------------------------------------------------------
-// Symbian 2nd phase constructor can leave.
-// ----------------------------------------------------------------------------
-//
-void CTestVideoPlaybackPlugin::ConstructL()
-{
- MPX_FUNC_EX("CTestVideoPlaybackPlugin::ConstructL()");
- User::LeaveIfError( iFs.Connect() );
- iFs.ShareProtected();
-
- iEventArray = new (ELeave) CArrayPtrFlat<TTestVideoPlaybackCallbackEvent>( 1 );
- iCallback = CIdle::NewL( CActive::EPriorityLow );
-}
-
-// ----------------------------------------------------------------------------
-// C++ constructor
-// ----------------------------------------------------------------------------
-//
-CTestVideoPlaybackPlugin::CTestVideoPlaybackPlugin()
-
-{
- MPX_FUNC_EX("CTestVideoPlaybackPlugin::CTestVideoPlaybackPlugin()");
-}
-
-// ----------------------------------------------------------------------------
-// Destructor
-// ----------------------------------------------------------------------------
-//
-CTestVideoPlaybackPlugin::~CTestVideoPlaybackPlugin()
-{
- MPX_FUNC_EX("CTestVideoPlaybackPlugin::~CTestVideoPlaybackPlugin()");
- iFile.Close();
- iFs.Close();
-
- if ( iCallback->IsActive() )
- {
- iCallback->Cancel();
- }
-
- delete iCallback;
-
- iEventArray->ResetAndDestroy();
-}
-
-// ----------------------------------------------------------------------------
-// Set observer
-// ----------------------------------------------------------------------------
-//
-void CTestVideoPlaybackPlugin::SetObserver( MMPXPlaybackPluginObserver& aObs )
-{
- MPX_FUNC_EX("CTestVideoPlaybackPlugin::SetObserver( MMPXPlaybackPluginObserver& aObs )");
- iObs = &aObs;
-}
-
-// ----------------------------------------------------------------------------
-// Initializes a clip for playback from a file name
-// ----------------------------------------------------------------------------
-//
-void CTestVideoPlaybackPlugin::InitialiseL( const TDesC& aSong )
-{
-
- MPX_FUNC_EX("CTestVideoPlaybackPlugin::InitialiseL( const TDesc& aSong)");
-
- delete iClipName;
- iClipName = NULL;
- iClipName = aSong.AllocL();
-
- iFile.Close();
-
- TInt err = iFile.Open( iFs, aSong, EFileRead | EFileShareReadersOrWriters );
-
- //
- // Remap KErrNotReady to KErrNotFound, because it is referencing a drive
- // that is not existent
- //
- if ( KErrNotReady == err )
- {
- err = KErrNotFound;
- }
-
- // if aSong is an streaming link and contains one of the streaming schemas
- // eg. rtsp:// , http:// etc. then a file handle can not be opened
- // ignore KErrBadName
- if (err != KErrBadName)
- {
- User::LeaveIfError( err );
- }
-
-
- TTestVideoPlaybackCallbackEvent* event = new (ELeave) TTestVideoPlaybackCallbackEvent;
-
- event->iEvent = MMPXPlaybackPluginObserver::EPInitialised;
- event->iData = 0;
- event->iError = KErrNone;
-
- AddCallbackEvent( event );
-
- event = new TTestVideoPlaybackCallbackEvent;
- event->iEvent = MMPXPlaybackPluginObserver::EPBufferingStarted;
- event->iData = 0;
- event->iError = KErrNone;
-
- AddCallbackEvent( event );
-}
-
-// ----------------------------------------------------------------------------
-// Initializes a clip for playback from a file handle
-// ----------------------------------------------------------------------------
-//
-void CTestVideoPlaybackPlugin::InitialiseL( RFile& aSong )
-{
- MPX_FUNC_EX("CTestVideoPlaybackPlugin::InitialiseL( RFile& aSong )");
-
- delete iClipName;
- iClipName = NULL;
- iClipName = HBufC::NewL( KMaxFileName );
- TPtr ptr = iClipName->Des();
- aSong.FullName( ptr );
-
- iFile.Close();
- User::LeaveIfError( iFile.Duplicate( aSong ));
-
- TTestVideoPlaybackCallbackEvent* event = new (ELeave) TTestVideoPlaybackCallbackEvent;
-
- event->iEvent = MMPXPlaybackPluginObserver::EPInitialised;
- event->iData = 0;
- event->iError = KErrNone;
-
- AddCallbackEvent( event );
-
- event = new TTestVideoPlaybackCallbackEvent;
- event->iEvent = MMPXPlaybackPluginObserver::EPBufferingStarted;
- event->iData = 0;
- event->iError = KErrNone;
-
- AddCallbackEvent( event );
-}
-
-/**
-* Initializes a file for playback.
-*
-* @since S60 9.2
-* @param aUri URI of the item
-* @param aType the mime type of the item
-* @param aAccessPoint the access point
-*/
-void CTestVideoPlaybackPlugin::InitStreamingL(const TDesC& /*aUri*/,
- const TDesC8& /*aType*/, TInt /*aAccessPoint*/, TInt /*aPosition*/)
-{
- MPX_FUNC_EX("CTestVideoPlaybackPlugin::InitStreamingL(const TDesC& /*aUri*/, const TDesC8& /*aType*/, TInt /*aAccessPoint*/, TInt /*aPosition*/)");
-
- TTestVideoPlaybackCallbackEvent* event = new (ELeave) TTestVideoPlaybackCallbackEvent;
-
- event->iEvent = MMPXPlaybackPluginObserver::EPInitialised;
- event->iData = 0;
- event->iError = KErrNone;
-
- AddCallbackEvent( event );
-
- event = new TTestVideoPlaybackCallbackEvent;
- event->iEvent = MMPXPlaybackPluginObserver::EPBufferingStarted;
- event->iData = 0;
- event->iError = KErrNone;
-
- AddCallbackEvent( event );
-}
-
-/**
-* Initializes a file handle for playback.
-*
-* @since S60 9.2
-* @param aFile file handle of a file
-* @param aAccessPoint the access point
-*/
-void CTestVideoPlaybackPlugin::InitStreamingL(RFile& /*aFile*/, TInt /*aAccessPoint*/, TInt /*aPosition*/)
-{
- MPX_FUNC_EX("CTestVideoPlaybackPlugin::InitStreamingL(RFile& /*aFile*/, TInt /*aAccessPoint*/, TInt /*aPosition*/)");
-
- TTestVideoPlaybackCallbackEvent* event = new (ELeave) TTestVideoPlaybackCallbackEvent;
-
- event->iEvent = MMPXPlaybackPluginObserver::EPInitialised;
- event->iData = 0;
- event->iError = KErrNone;
-
- AddCallbackEvent( event );
-
- event = new TTestVideoPlaybackCallbackEvent;
- event->iEvent = MMPXPlaybackPluginObserver::EPBufferingStarted;
- event->iData = 0;
- event->iError = KErrNone;
-
- AddCallbackEvent( event );
-}
-
-#ifdef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
-/**
-* Initializes a file handle for playback.
-*
-* @since S60 9.2
-* @param aFile 64 bit file handle of a file
-* @param aAccessPoint the access point
-*/
-void CTestVideoPlaybackPlugin::InitStreaming64L(RFile64& /*aFile*/, TInt /*aAccessPoint*/, TInt /*aPosition*/)
-{
- MPX_FUNC_EX("CTestVideoPlaybackPlugin::InitStreaming64L(RFile64& /*aFile*/, TInt /*aAccessPoint*/, TInt /*aPosition*/)");
-
- TTestVideoPlaybackCallbackEvent* event = new (ELeave) TTestVideoPlaybackCallbackEvent;
-
- event->iEvent = MMPXPlaybackPluginObserver::EPInitialised;
- event->iData = 0;
- event->iError = KErrNone;
-
- AddCallbackEvent( event );
-
- event = new TTestVideoPlaybackCallbackEvent;
- event->iEvent = MMPXPlaybackPluginObserver::EPBufferingStarted;
- event->iData = 0;
- event->iError = KErrNone;
-
- AddCallbackEvent( event );
-}
-
-/**
-* Initializes a song for playback.
-*
-* @since S60 9.2
-* @param aFile 64 bit file handle of a song
-*/
-void CTestVideoPlaybackPlugin::Initialise64L(RFile64& /*aSong*/, TInt /*aPosition*/)
-{
- MPX_FUNC_EX("CTestVideoPlaybackPlugin::Initialise64L(RFile64& /*aSong*/, TInt /*aPosition*/)");
-
- TTestVideoPlaybackCallbackEvent* event = new (ELeave) TTestVideoPlaybackCallbackEvent;
-
- event->iEvent = MMPXPlaybackPluginObserver::EPInitialised;
- event->iData = 0;
- event->iError = KErrNone;
-
- AddCallbackEvent( event );
-
- event = new TTestVideoPlaybackCallbackEvent;
- event->iEvent = MMPXPlaybackPluginObserver::EPBufferingStarted;
- event->iData = 0;
- event->iError = KErrNone;
-
- AddCallbackEvent( event );
-}
-#endif // SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
-
-// ----------------------------------------------------------------------------
-// Executes a command on the selected song
-// ----------------------------------------------------------------------------
-//
-void CTestVideoPlaybackPlugin::CommandL( CMPXCommand& aCmd )
-{
- MPX_FUNC_EX("CTestVideoPlaybackPlugin::CommandL( CMPXCommand& aCmd )");
-
- if ( aCmd.IsSupported( KMPXStifPlaybackCommand ) )
- {
- TMPXStifCommand cmd = static_cast<TMPXStifCommand>(aCmd.ValueTObjectL<TInt>(KMPXStifPlaybackCommand));
- TMPXPlaybackState state = static_cast<TMPXPlaybackState>(aCmd.ValueTObjectL<TInt>(KMPXCommandPlaybackGeneralData));
-
- MPX_DEBUG3("CTestVideoPlaybackPlugin::CommandL cmd = %d, state = %d ", cmd, state);
-
- switch ( cmd )
- {
- case EPbStifPlayComplete:
- {
- MPX_DEBUG1("CTestVideoPlaybackPlugin::CommandL aCmd is EPbStifPlaybackComplete");
-
- TTestVideoPlaybackCallbackEvent* event = new (ELeave) TTestVideoPlaybackCallbackEvent;
-
- event->iEvent = MMPXPlaybackPluginObserver::EPPlayComplete;
- event->iData = 0;
- event->iError = KErrNone;
-
- AddCallbackEvent( event );
-
- break;
- }
- case EPbStifSeekForward:
- {
- MPX_DEBUG1("CTestVideoPlaybackPlugin::CommandL aCmd is EPbStifSeekForward");
-
- TTestVideoPlaybackCallbackEvent* event = new (ELeave) TTestVideoPlaybackCallbackEvent;
-
- event->iEvent = MMPXPlaybackPluginObserver::EPPluginSeeking;
- event->iData = 0;
- event->iError = KErrNone;
-
- AddCallbackEvent( event );
-
- event = new TTestVideoPlaybackCallbackEvent;
- event->iEvent = MMPXPlaybackPluginObserver::EPPositionChanged;
- event->iData = 0;
- event->iError = KErrNone;
-
- AddCallbackEvent( event );
-
- if ( state == EPbStatePlaying )
- {
-
- event = new TTestVideoPlaybackCallbackEvent;
- event->iEvent = MMPXPlaybackPluginObserver::EPPlaying;
- event->iData = 0;
- event->iError = KErrNone;
-
- AddCallbackEvent( event );
- }
- else if ( state == EPbStatePaused )
- {
-
- event = new TTestVideoPlaybackCallbackEvent;
- event->iEvent = MMPXPlaybackPluginObserver::EPPaused;
- event->iData = 0;
- event->iError = KErrNone;
-
- AddCallbackEvent( event );
-
- }
- break;
- }
-
- case EPbStifSeekBackward:
- {
- MPX_DEBUG1("CTestVideoPlaybackPlugin::CommandL aCmd is EPbStifSeekBackward");
-
- TTestVideoPlaybackCallbackEvent* event = new (ELeave) TTestVideoPlaybackCallbackEvent;
-
- event->iEvent = MMPXPlaybackPluginObserver::EPPluginSeeking;
- event->iData = 0;
- event->iError = KErrNone;
-
- AddCallbackEvent( event );
-
- event = new TTestVideoPlaybackCallbackEvent;
- event->iEvent = MMPXPlaybackPluginObserver::EPPositionChanged;
- event->iData = 0;
- event->iError = KErrNone;
-
- AddCallbackEvent( event );
-
- if ( state == EPbStatePlaying )
- {
-
- event = new TTestVideoPlaybackCallbackEvent;
- event->iEvent = MMPXPlaybackPluginObserver::EPPlaying;
- event->iData = 0;
- event->iError = KErrNone;
-
- AddCallbackEvent( event );
- }
- else if ( state == EPbStatePaused )
- {
-
- event = new TTestVideoPlaybackCallbackEvent;
- event->iEvent = MMPXPlaybackPluginObserver::EPPaused;
- event->iData = 0;
- event->iError = KErrNone;
-
- AddCallbackEvent( event );
- }
- break;
- }
-
- default:
- {
- MPX_DEBUG1("CTestVideoPlaybackPlugin::CommandL aCmd default");
- break;
- }
- }
- }
-}
-
-
-// ----------------------------------------------------------------------------
-// Executes a command on the selected song
-// ----------------------------------------------------------------------------
-//
-void CTestVideoPlaybackPlugin::CommandL(TMPXPlaybackCommand aCmd, TInt /*aData*/)
-{
- MPX_FUNC_EX("CTestVideoPlaybackPlugin::CommandL(TMPXPlaybackCommand aCmd, TInt /*aData*/)");
-
- MPX_DEBUG2("CTestVideoPlaybackPlugin::CommandL aCmd = %d", aCmd);
-
- switch (aCmd)
- {
- case EPbCmdPlay:
- {
- MPX_DEBUG1("CTestVideoPlaybackPlugin::CommandL aCmd is EPbCmdPlay");
-
- TTestVideoPlaybackCallbackEvent* event = new (ELeave) TTestVideoPlaybackCallbackEvent;
-
- event->iEvent = MMPXPlaybackPluginObserver::EPPlaying;
- event->iData = 0;
- event->iError = KErrNone;
-
- AddCallbackEvent( event );
-
- break;
- }
-
- case EPbCmdClose:
- {
- MPX_DEBUG1("CTestVideoPlaybackPlugin::CommandL aCmd is EPbCmdClose");
-
- TTestVideoPlaybackCallbackEvent* event = new (ELeave) TTestVideoPlaybackCallbackEvent;
-
- event->iEvent = MMPXPlaybackPluginObserver::EPClosed;
- event->iData = 0;
- event->iError = KErrNone;
-
- AddCallbackEvent( event );
-
- break;
- }
-
- case EPbCmdStop:
- {
- MPX_DEBUG1("CTestVideoPlaybackPlugin::CommandL aCmd is EPbCmdStop");
-
- TTestVideoPlaybackCallbackEvent* event = new (ELeave) TTestVideoPlaybackCallbackEvent;
-
- event->iEvent = MMPXPlaybackPluginObserver::EPStopped;
- event->iData = 0;
- event->iError = KErrNone;
-
- AddCallbackEvent( event );
-
- break;
- }
-
- case EPbCmdPause:
- {
- MPX_DEBUG1("CTestVideoPlaybackPlugin::CommandL aCmd is EPbCmdPause");
-
- TTestVideoPlaybackCallbackEvent* event = new (ELeave) TTestVideoPlaybackCallbackEvent;
-
- event->iEvent = MMPXPlaybackPluginObserver::EPPaused;
- event->iData = 0;
- event->iError = KErrNone;
-
- AddCallbackEvent( event );
-
- break;
- }
-
- case EPbCmdStartSeekForward:
- {
- MPX_DEBUG1("CTestVideoPlaybackPlugin::CommandL aCmd is EPbCmdStartSeekForward");
-
- TTestVideoPlaybackCallbackEvent* event = new (ELeave) TTestVideoPlaybackCallbackEvent;
-
- event->iEvent = MMPXPlaybackPluginObserver::EPPluginSeeking;
- event->iData = 0;
- event->iError = KErrNone;
-
- AddCallbackEvent( event );
-
- event = new TTestVideoPlaybackCallbackEvent;
- event->iEvent = MMPXPlaybackPluginObserver::EPPositionChanged;
- event->iData = 0;
- event->iError = KErrNone;
-
- AddCallbackEvent( event );
-
- event = new TTestVideoPlaybackCallbackEvent;
- event->iEvent = MMPXPlaybackPluginObserver::EPPlaying;
- event->iData = 0;
- event->iError = KErrNone;
-
- AddCallbackEvent( event );
-
- break;
- }
-
- default:
- {
- MPX_DEBUG1("CTestVideoPlaybackPlugin::CommandL aCmd default");
- break;
- }
- }
-}
-
-
-// ----------------------------------------------------------------------------
-// Sets a property of the plugin
-// ----------------------------------------------------------------------------
-//
-void CTestVideoPlaybackPlugin::SetL( TMPXPlaybackProperty aProperty, TInt aValue )
-{
- MPX_FUNC_EX("CTestVideoPlaybackPlugin::SetL( TMPXPlaybackProperty /*aProperty*/, TInt /*aValue*/ )");
- MPX_DEBUG3("CTestVideoPlaybackPlugin::SetL aProperty = %d, aValue = %d", aProperty, aValue);
-
- TTestVideoPlaybackCallbackEvent* event = new (ELeave) TTestVideoPlaybackCallbackEvent;
-
- event->iEvent = MMPXPlaybackPluginObserver::EPSetComplete;
- event->iData = aProperty;
- event->iError = KErrNone;
-
- AddCallbackEvent( event );
-}
-
-// ----------------------------------------------------------------------------
-// Gets a property of the plugin (async)
-// ----------------------------------------------------------------------------
-//
-void CTestVideoPlaybackPlugin::PropertyL( TMPXPlaybackProperty /*aProperty*/ ) const
-{
-
-}
-
-// ----------------------------------------------------------------------------
-// Gets a list of sub players, UPnP only
-// ----------------------------------------------------------------------------
-//
-void CTestVideoPlaybackPlugin::SubPlayerNamesL()
-{
- MPX_FUNC_EX("CTestVideoPlaybackPlugin::SubPlayerNamesL()");
-
- iObs->HandleSubPlayerNames( KLocalPlaybackUid, NULL, ETrue, KErrNone );
-}
-
-// ----------------------------------------------------------------------------
-// Select a sub player
-// ----------------------------------------------------------------------------
-//
-void CTestVideoPlaybackPlugin::SelectSubPlayerL( TInt /*aIndex*/ )
-{
- MPX_FUNC_EX("CTestVideoPlaybackPlugin::SelectSubPlayerL( TInt aIndex )");
-
- User::Leave( KErrNotSupported );
-}
-
-// ----------------------------------------------------------------------------
-// Returns current sub player name
-// ----------------------------------------------------------------------------
-//
-const TDesC& CTestVideoPlaybackPlugin::SubPlayerName()
-{
- MPX_FUNC_EX("CTestVideoPlaybackPlugin::SubPlayerName()");
-
- return KNullDesC;
-}
-
-// ----------------------------------------------------------------------------
-// Current sub player index
-// ----------------------------------------------------------------------------
-//
-TInt CTestVideoPlaybackPlugin::SubPlayerIndex() const
-{
-
- return KErrNotFound;
-}
-
-// ----------------------------------------------------------------------------
-// Gets media properties
-// ----------------------------------------------------------------------------
-//
-void CTestVideoPlaybackPlugin::MediaL( const TArray<TMPXAttribute>& /*aAttrs*/ )
-{
- MPX_FUNC_EX("CTestVideoPlaybackPlugin::MediaL( const TArray TMPXAttribute )");
-}
-
-// ----------------------------------------------------------------------------
-// Cancel request
-// ----------------------------------------------------------------------------
-//
-void CTestVideoPlaybackPlugin::CancelRequest()
-{
- MPX_FUNC_EX("CTestVideoPlaybackPlugin::CancelRequest()");
-}
-
-// ----------------------------------------------------------------------------
-// CTestVideoPlaybackPlugin::GetFileHandle()
-// ----------------------------------------------------------------------------
-//
-RFile CTestVideoPlaybackPlugin::GetFileHandle()
-{
- MPX_FUNC_EX("CTestVideoPlaybackPlugin::GetFileHandle()");
-
- return iFile;
-}
-
-/**
-* Initializes a song for playback.
-*
-* @since S60 9.2
-* @param aSong the song path
-* @param aPosition the starting position
-*/
-void CTestVideoPlaybackPlugin::InitialiseWithPositionL(const TDesC& aSong, TInt aPosition)
-{
- MPX_FUNC_EX("CTestVideoPlaybackPlugin::InitialiseWithPositionL(const TDesC& /*aSong*/, TInt /*aPosition*/)");
-
- delete iClipName;
- iClipName = NULL;
- iClipName = aSong.AllocL();
-
- iFile.Close();
-
- TInt err = iFile.Open( iFs, aSong, EFileRead | EFileShareReadersOrWriters );
-
- //
- // Remap KErrNotReady to KErrNotFound, because it is referencing a drive
- // that is not existent
- //
- if ( KErrNotReady == err )
- {
- err = KErrNotFound;
- }
-
- // if aSong is an streaming link and contains one of the streaming schemas
- // eg. rtsp:// , http:// etc. then a file handle can not be opened
- // ignore KErrBadName
- if (err != KErrBadName)
- {
- User::LeaveIfError( err );
- }
-
- TTestVideoPlaybackCallbackEvent* event = new (ELeave) TTestVideoPlaybackCallbackEvent;
-
- event->iEvent = MMPXPlaybackPluginObserver::EPInitialised;
- event->iData = 0;
- event->iError = KErrNone;
-
- AddCallbackEvent( event );
-
- event = new TTestVideoPlaybackCallbackEvent;
- event->iEvent = MMPXPlaybackPluginObserver::EPBufferingStarted;
- event->iData = 0;
- event->iError = KErrNone;
-
- AddCallbackEvent( event );
-}
-
-/**
-* Initializes a song for playback.
-*
-* @since S60 9.2
-* @param aFile file handle of a song
-* @param aPosition the starting position
-*/
-void CTestVideoPlaybackPlugin::InitialiseWithPositionL(RFile& aSong, TInt aPosition)
-{
- MPX_FUNC_EX("CTestVideoPlaybackPlugin::InitialiseWithPositionL(RFile& aSong, TInt aPosition)");
-
- delete iClipName;
- iClipName = NULL;
- iClipName = HBufC::NewL( KMaxFileName );
- TPtr ptr = iClipName->Des();
- aSong.FullName( ptr );
-
- iFile.Close();
- User::LeaveIfError( iFile.Duplicate( aSong ));
-
-
- TTestVideoPlaybackCallbackEvent* event = new (ELeave) TTestVideoPlaybackCallbackEvent;
-
- event->iEvent = MMPXPlaybackPluginObserver::EPInitialised;
- event->iData = 0;
- event->iError = KErrNone;
-
- AddCallbackEvent( event );
-
- event = new TTestVideoPlaybackCallbackEvent;
- event->iEvent = MMPXPlaybackPluginObserver::EPBufferingStarted;
- event->iData = 0;
- event->iError = KErrNone;
-
- AddCallbackEvent( event );
-}
-
-
-void CTestVideoPlaybackPlugin::RunL()
-{
- MPX_FUNC_EX("CTestVideoPaybackPlugin::RunL");
-}
-
-void CTestVideoPlaybackPlugin::DoCancel()
-{
- MPX_FUNC_EX("CTestVideoPaybackPlugin::DoCancel");
-}
-
-void CTestVideoPlaybackPlugin::AddCallbackEvent( TTestVideoPlaybackCallbackEvent* event )
-{
- MPX_DEBUG1("CTestVideoPlaybackPlugin::AddCallbackEvent");
-
- iEventArray->AppendL( event );
-
- if ( ! iCallback->IsActive() )
- {
- iCallback->Start( TCallBack( CTestVideoPlaybackPlugin::SendEvent, this ) );
- }
-}
-
-TInt CTestVideoPlaybackPlugin::SendEvent (TAny* aPtr )
-{
- MPX_DEBUG1("CTestVideoPlaybackPlugin::SendEvent");
-
- static_cast<CTestVideoPlaybackPlugin*>(aPtr)->DoSendEvent();
-
- return KErrNone;
-}
-
-void CTestVideoPlaybackPlugin::DoSendEvent()
-{
- MPX_DEBUG1("-->CTestVideoPlaybackPlugin::DoSendEvent");
-
- TInt count = iEventArray->Count();
-
- if ( count > 0 )
- {
- TTestVideoPlaybackCallbackEvent* event = (*iEventArray)[0];
-
- MMPXPlaybackPluginObserver::TEvent myevent = static_cast<MMPXPlaybackPluginObserver::TEvent>(event->iEvent);
-
- iObs->HandlePluginEvent( myevent, event->iData, event->iError);
-
- if ( count > 1 )
- {
- //
- // More events exist, start another callback
- //
- MPX_DEBUG1("CTestVideoPlaybackPlugin::DoSendEvent - there are more events, start another callback");
- iCallback->Start( TCallBack( CTestVideoPlaybackPlugin::SendEvent, this ) );
- }
-
- iEventArray->Delete( 0 );
- }
- MPX_DEBUG1("<--CTestVideoPlaybackPlugin::DoSendEvent");
-}
-
-// End of file