mmsharing/mmshengine/tsrc/ut_engine/src/ut_musengclipvideoplayer.cpp
branchRCL_3
changeset 33 bc78a40cd63c
parent 32 73a1feb507fb
child 35 6c57ef9392d2
--- a/mmsharing/mmshengine/tsrc/ut_engine/src/ut_musengclipvideoplayer.cpp	Tue Aug 31 15:12:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,805 +0,0 @@
-/*
-* Copyright (c) 2009 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:
-*
-*/
-
-
-//  INTERNAL INCLUDES
-#include "ut_musengclipvideoplayer.h"
-#include "musengtestdefs.h"
-#include "musengmceutils.h"
-#include "musengclipvideoplayer.h"
-#include "mceoutsession.h"
-#include "mcevideostream.h"
-#include "mcertpsink.h"
-#include "mcefilesource.h"
-#include "drmcommon.h"
-
-//  SYSTEM INCLUDES
-#include <eunitmacros.h>
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-UT_CMusEngClipVideoPlayer* UT_CMusEngClipVideoPlayer::NewL()
-    {
-    UT_CMusEngClipVideoPlayer* self = UT_CMusEngClipVideoPlayer::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-UT_CMusEngClipVideoPlayer* UT_CMusEngClipVideoPlayer::NewLC()
-    {
-    UT_CMusEngClipVideoPlayer* self = new( ELeave ) UT_CMusEngClipVideoPlayer();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-UT_CMusEngClipVideoPlayer::~UT_CMusEngClipVideoPlayer()
-    {
-    // NOP
-    }
-
-// -----------------------------------------------------------------------------
-// Default constructor
-// -----------------------------------------------------------------------------
-//
-UT_CMusEngClipVideoPlayer::UT_CMusEngClipVideoPlayer()
-    {
-    // NOP
-    }
-
-// -----------------------------------------------------------------------------
-// Second phase construct
-// -----------------------------------------------------------------------------
-//
-void UT_CMusEngClipVideoPlayer::ConstructL()
-    {
-    // The ConstructL from the base class CEUnitTestSuiteClass must be called.
-    // It generates the test case table.
-    CEUnitTestSuiteClass::ConstructL();
-    }   
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_CMusEngClipVideoPlayer::SetupL()
-    {
-    iMceSession = CMceOutSession::NewL();
-    CMceVideoStream* videoStream = CMceVideoStream::NewLC(); 
-    CMceRtpSink* rtpsink = CMceRtpSink::NewLC();
-    videoStream->AddSinkL( rtpsink );
-    CleanupStack::Pop( rtpsink );
-    CMceFileSource* fileSource = 
-        CMceFileSource::NewLC( *iMceSession->iManager, KTestVideoFileName() );
-    fileSource->DisableL();
-    videoStream->SetSourceL( fileSource );
-    CleanupStack::Pop( fileSource );
-    iMceSession->AddStreamL( videoStream );
-    CleanupStack::Pop( videoStream );    
-    iClipVideoPlayer = 
-        CMusEngClipVideoPlayer::NewL(  
-            iDisplayHandlerStub,
-            iLcAudioControlStub );
-    iClipVideoPlayer->SetMceSession( iMceSession );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_CMusEngClipVideoPlayer::Teardown()
-    {
-    delete iClipVideoPlayer;
-    delete iMceSession;
-    iLcAudioControlStub.Reset();
-    }
-
-
-// TEST CASES
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_CMusEngClipVideoPlayer::UT_HasClipEndedL()
-    {
-    CMceSession* invalidMceSession = CMceOutSession::NewL();
-    CleanupStack::PushL( invalidMceSession );    
-    
-    // Try before establishing the session
-    iClipVideoPlayer->SetMceSession( NULL );
-    EUNIT_ASSERT( !iClipVideoPlayer->HasClipEnded() )
-    
-    // Try with session, but without video out stream
-    iClipVideoPlayer->SetMceSession( invalidMceSession );
-    EUNIT_ASSERT( !iClipVideoPlayer->HasClipEnded() )
-    
-    // Try with video out stream without source...
-    CMceVideoStream* videoStream = CMceVideoStream::NewLC();
-    videoStream->AddSinkL( CMceRtpSink::NewLC() );
-    CleanupStack::Pop();
-    invalidMceSession->AddStreamL( videoStream );
-    CleanupStack::Pop( videoStream );
-    EUNIT_ASSERT( !iClipVideoPlayer->HasClipEnded() )
-    
-    // And with enabled source and stream 
-    CMceFileSource* fileSource = 
-        CMceFileSource::NewLC( 
-            *invalidMceSession->iManager, KTestVideoFileName() );
-    videoStream->SetSourceL( fileSource );
-    CleanupStack::Pop( fileSource );   
-    EUNIT_ASSERT( !iClipVideoPlayer->HasClipEnded() )
-    
-    // try with different position and duration
-    fileSource->iPosition = 90;
-    fileSource->iDuration = 111;
-    EUNIT_ASSERT( !iClipVideoPlayer->HasClipEnded() )
-    
-    // Disabled source
-    fileSource->DisableL();
-    EUNIT_ASSERT( !iClipVideoPlayer->HasClipEnded() )
-
-    // Disabled stream
-    videoStream->iState = CMceMediaStream::EDisabled;
-    EUNIT_ASSERT( !iClipVideoPlayer->HasClipEnded() )
-       
-    // and finaly try with "real" end of clip 
-    fileSource->iPosition = 0;
-    fileSource->iDuration = 111;
-    
-    EUNIT_ASSERT( iClipVideoPlayer->HasClipEnded() )
-    
-    CleanupStack::PopAndDestroy( invalidMceSession );
-    }
-
-// -----------------------------------------------------------------------------
-// 
-// -----------------------------------------------------------------------------
-//
-void UT_CMusEngClipVideoPlayer::UT_LcVideoPlayerStateL()
-    {
-    // iMceSession not set
-    iClipVideoPlayer->SetMceSession( NULL );
-    EUNIT_ASSERT_EQUALS( TInt( MLcVideoPlayer::EUnavailable ), 
-                         TInt( iClipVideoPlayer->LcVideoPlayerState() ) )    
-    iClipVideoPlayer->SetMceSession( iMceSession );
-    
-    // Establish Session and simulate media playing.
-    iMceSession->iState = CMceSession::EEstablished;
-    for ( TInt i = 0; i < iMceSession->Streams().Count(); i++ )
-        {
-        iMceSession->Streams()[i]->iState = CMceMediaStream::EStreaming;
-        }
-    
-    EUNIT_ASSERT_EQUALS( TInt( MLcVideoPlayer::EPlaying ), 
-                         TInt( iClipVideoPlayer->LcVideoPlayerState() ) )
-                                                
-    // Media streams unavailable
-    iMceSession->Streams()[0]->iState = CMceMediaStream::EUninitialized;
-    EUNIT_ASSERT_EQUALS( TInt( MLcVideoPlayer::EUnavailable ), 
-                         TInt( iClipVideoPlayer->LcVideoPlayerState() ) )
-
-    // All other stream states
-    iMceSession->Streams()[0]->iState = CMceMediaStream::EInitialized;	
-    EUNIT_ASSERT_EQUALS( TInt( MLcVideoPlayer::EInit ), 
-                         TInt( iClipVideoPlayer->LcVideoPlayerState() ) )	
-	
-    iMceSession->Streams()[0]->iState = CMceMediaStream::EBuffering;
-    EUNIT_ASSERT_EQUALS( TInt( MLcVideoPlayer::EBuffering ), 
-                         TInt( iClipVideoPlayer->LcVideoPlayerState() ) )
-		
-    iMceSession->Streams()[0]->iState = CMceMediaStream::EIdle;
-    EUNIT_ASSERT_EQUALS( TInt( MLcVideoPlayer::EPaused ), 
-                         TInt( iClipVideoPlayer->LcVideoPlayerState() ) )	
-	
-    iMceSession->Streams()[0]->iState = CMceMediaStream::EDisabled;
-    EUNIT_ASSERT_EQUALS( TInt( MLcVideoPlayer::EPaused ), 
-                         TInt( iClipVideoPlayer->LcVideoPlayerState() ) )
-	
-    iMceSession->Streams()[0]->iState = CMceMediaStream::EStreaming;
-    EUNIT_ASSERT_EQUALS( TInt( MLcVideoPlayer::EPlaying ), 
-                         TInt( iClipVideoPlayer->LcVideoPlayerState() ) )
-
-    iMceSession->Streams()[0]->iState = CMceMediaStream::ENoResources;
-    EUNIT_ASSERT_EQUALS( TInt( MLcVideoPlayer::EUnavailable ), 
-                         TInt( iClipVideoPlayer->LcVideoPlayerState() ) )
-	
-    iMceSession->Streams()[0]->iState = CMceMediaStream::ETranscodingRequired;
-    EUNIT_ASSERT_EQUALS( TInt( MLcVideoPlayer::EUnavailable ), 
-                         TInt( iClipVideoPlayer->LcVideoPlayerState() ) )
-	
-    iMceSession->Streams()[0]->iState = CMceMediaStream::ETranscoding;
-    EUNIT_ASSERT_EQUALS( TInt( MLcVideoPlayer::EUnavailable ), 
-                         TInt( iClipVideoPlayer->LcVideoPlayerState() ) )
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_CMusEngClipVideoPlayer::UT_LcPlayL()
-    {
-    // MCE session not set
-    iClipVideoPlayer->SetMceSession( NULL );
-    EUNIT_ASSERT_SPECIFIC_LEAVE( iClipVideoPlayer->LcPlayL(), KErrNotReady )
-
-    // File source does not exist
-    iClipVideoPlayer->SetMceSession( iMceSession );
-    iMceSession->Streams()[ 0 ]->SetSourceL( NULL );
-    EUNIT_ASSERT_SPECIFIC_LEAVE( iClipVideoPlayer->LcPlayL(), KErrNotFound )
-    
-    // Play
-    CMceFileSource* fileSource = 
-        CMceFileSource::NewLC( *iMceSession->iManager, KTestVideoFileName() );
-    fileSource->DisableL();
-    iMceSession->Streams()[ 0 ]->SetSourceL( fileSource );
-    CleanupStack::Pop( fileSource );   
-    EUNIT_ASSERT( !iClipVideoPlayer->LcIsPlayingL() )
-    iClipVideoPlayer->LcPlayL();    
-    EUNIT_ASSERT( iClipVideoPlayer->LcIsPlayingL() )
-    
-    // Try to play again
-    iClipVideoPlayer->LcPlayL();
-    EUNIT_ASSERT( iClipVideoPlayer->LcIsPlayingL() )
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_CMusEngClipVideoPlayer::UT_LcPauseL()
-    {
-    // MCE session not set
-    iClipVideoPlayer->SetMceSession( NULL );
-    EUNIT_ASSERT_SPECIFIC_LEAVE( iClipVideoPlayer->LcPauseL(), KErrNotReady )
-
-    // File source does not exist
-    iClipVideoPlayer->SetMceSession( iMceSession );
-    iMceSession->Streams()[ 0 ]->SetSourceL( NULL );
-    EUNIT_ASSERT_SPECIFIC_LEAVE( iClipVideoPlayer->LcPauseL(), KErrNotFound )     
-    
-    // Pause 
-    CMceFileSource* fileSource = 
-        CMceFileSource::NewLC( *iMceSession->iManager, KTestVideoFileName() );
-    fileSource->EnableL();
-    iMceSession->Streams()[ 0 ]->SetSourceL( fileSource );
-    CleanupStack::Pop( fileSource );      
-    EUNIT_ASSERT( iClipVideoPlayer->LcIsPlayingL() )
-    iClipVideoPlayer->LcPauseL();
-    EUNIT_ASSERT( !iClipVideoPlayer->LcIsPlayingL() )
-
-    // Try to pause already paused clip
-    iClipVideoPlayer->LcPauseL();
-    EUNIT_ASSERT( !iClipVideoPlayer->LcIsPlayingL() )
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_CMusEngClipVideoPlayer::UT_LcIsPlayingL()
-    {
-    // MCE session not set
-    iClipVideoPlayer->SetMceSession( NULL );
-    EUNIT_ASSERT_SPECIFIC_LEAVE( iClipVideoPlayer->LcIsPlayingL(), KErrNotReady )
-
-    // Player is not playing when file source is disabled
-    iClipVideoPlayer->SetMceSession( iMceSession );
-    CMceFileSource* file = MusEngMceUtils::GetFileSourceL( *iMceSession );    
-    file->DisableL();
-    EUNIT_ASSERT( !iClipVideoPlayer->LcIsPlayingL() )
-
-    // Player is playing when file source is enabled
-    file->EnableL();
-    EUNIT_ASSERT( iClipVideoPlayer->LcIsPlayingL() )
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_CMusEngClipVideoPlayer::UT_SetLcFileNameL()
-    {    
-    // Set file before iMceSession is set
-    CMceFileSource* file = MusEngMceUtils::GetFileSourceL( *iMceSession );
-    iClipVideoPlayer->SetMceSession( NULL );
-    iClipVideoPlayer->SetLcFileNameL( KTestAvcVideoFileName() );
-    EUNIT_ASSERT_EQUALS( iClipVideoPlayer->LcFileName(), KTestAvcVideoFileName() )
-    EUNIT_ASSERT_EQUALS( file->iFileName, KTestVideoFileName() )
-
-    // Set file after session is set
-    iClipVideoPlayer->SetMceSession( iMceSession );
-    file->iFileName = KTestAvcVideoFileName();
-    iClipVideoPlayer->SetLcFileNameL( KTestVideoFileName() );
-    EUNIT_ASSERT_EQUALS( iClipVideoPlayer->LcFileName(), KTestVideoFileName() )
-    EUNIT_ASSERT_EQUALS( file->iFileName, KTestVideoFileName() )
-
-    // Set DRM protected file, file names not changed
-    MUSENG_EUNIT_ASSERT_SPECIFIC_LEAVE(
-        iClipVideoPlayer->SetLcFileNameL( KMusDrmProtectedFileName() ),
-        KErrPermissionDenied )
-    EUNIT_ASSERT_EQUALS( iClipVideoPlayer->LcFileName(), KTestVideoFileName() )
-    EUNIT_ASSERT_EQUALS( file->iFileName, KTestVideoFileName() )
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_CMusEngClipVideoPlayer::UT_LcFastForwardL()
-    {
-    // Try before establishment
-    iClipVideoPlayer->SetMceSession( NULL );
-    EUNIT_ASSERT_SPECIFIC_LEAVE( 
-        iClipVideoPlayer->LcFastForwardL( ETrue ), KErrNotReady )
-    
-    // Establish session, simulate position and duration and try again 
-    iClipVideoPlayer->SetMceSession( iMceSession );
-    CMceFileSource* file = MusEngMceUtils::GetFileSourceL( *iMceSession );                  
-    file->iDuration = KMusEngTestFileDuration;
-    file->iPosition = KMusEngTestFilePosition; 
-    iClipVideoPlayer->LcFastForwardL( ETrue );
-    EUNIT_ASSERT( !file->iIsEnabled )
-    EUNIT_ASSERT( iClipVideoPlayer->iFFWDStartTime.Int64() > 0 )
-    EUNIT_ASSERT( iClipVideoPlayer->iFRWDStartTime.Int64() == 0 )
-    
-    // Simulate fastforwarding for a while
-    User::After( 1000 );
-
-    // Try to fastforward when already fastforwarding, will be ignored
-    iClipVideoPlayer->LcFastForwardL( ETrue );
-    EUNIT_ASSERT( !file->iIsEnabled )
-    EUNIT_ASSERT( iClipVideoPlayer->iFFWDStartTime.Int64() > 0 )
-    EUNIT_ASSERT( iClipVideoPlayer->iFRWDStartTime.Int64() == 0 )
-    
-    // Stop fastforwarding
-    iClipVideoPlayer->LcFastForwardL( EFalse );
-    EUNIT_ASSERT( file->iPosition > KMusEngTestFilePosition )
-    EUNIT_ASSERT( file->iPosition != file->iDuration )
-    EUNIT_ASSERT( !file->iIsEnabled )
-    EUNIT_ASSERT( iClipVideoPlayer->iFFWDStartTime.Int64() == 0 )
-    EUNIT_ASSERT( iClipVideoPlayer->iFRWDStartTime.Int64() == 0 )
-    
-    // Try to stop fastforwarding again, leaves 
-    EUNIT_ASSERT_SPECIFIC_LEAVE( 
-        iClipVideoPlayer->LcFastForwardL( EFalse ), KErrAlreadyExists )
-    
-    // Start fastrewinding
-    iClipVideoPlayer->LcFastRewindL( ETrue );
-    EUNIT_ASSERT( !file->iIsEnabled )
-    EUNIT_ASSERT( iClipVideoPlayer->iFFWDStartTime.Int64() == 0 )
-    EUNIT_ASSERT( iClipVideoPlayer->iFRWDStartTime.Int64() > 0 )
-    
-    // Start fastforwarding, rewinding should be stopped and FFWD started
-    iClipVideoPlayer->LcFastForwardL( ETrue );
-    EUNIT_ASSERT( !file->iIsEnabled )
-    EUNIT_ASSERT( iClipVideoPlayer->iFFWDStartTime.Int64() > 0 )
-    EUNIT_ASSERT( iClipVideoPlayer->iFRWDStartTime.Int64() == 0 )
-    
-    // Simulate fastforwarding for a while
-    User::After( 1000 );
-    
-    // Simulate that clip is almost in end and fastforwarding would have 
-    // continued over end, position should be set to duration.
-    file->iPosition = TTimeIntervalMicroSeconds( file->iDuration.Int64() - 1 );
-    iClipVideoPlayer->LcFastForwardL( EFalse );
-    EUNIT_ASSERT( file->iPosition == file->iDuration )
-    EUNIT_ASSERT( !file->iIsEnabled )
-    EUNIT_ASSERT_EQUALS( 0, iClipVideoPlayer->iFFWDStartTime.Int64() )
-    EUNIT_ASSERT_EQUALS( 0, iClipVideoPlayer->iFRWDStartTime.Int64() )    
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_CMusEngClipVideoPlayer::UT_LcFastRewindL()
-    {
-    // Try before establishment
-    iClipVideoPlayer->SetMceSession( NULL );
-    EUNIT_ASSERT_SPECIFIC_LEAVE( 
-        iClipVideoPlayer->LcFastRewindL( ETrue ), KErrNotReady )
-    
-    // Establish session, simulate position and duration and try again   
-    iClipVideoPlayer->SetMceSession( iMceSession );
-    CMceFileSource* file = MusEngMceUtils::GetFileSourceL( *iMceSession );          
-    file->iDuration = KMusEngTestFileDuration;
-    file->iPosition = KMusEngTestFilePosition; 
-    iClipVideoPlayer->LcFastRewindL( ETrue );
-    EUNIT_ASSERT( !file->iIsEnabled )
-    EUNIT_ASSERT( iClipVideoPlayer->iFFWDStartTime.Int64() == 0 )
-    EUNIT_ASSERT( iClipVideoPlayer->iFRWDStartTime.Int64() > 0 )
-    
-    // Simulate fastrewinding for a while
-    User::After( 1000 );
-    
-    // Try to fastrewind when already fastrewinding, will be ignored
-    iClipVideoPlayer->LcFastRewindL( ETrue );
-    EUNIT_ASSERT( !file->iIsEnabled )
-    EUNIT_ASSERT( iClipVideoPlayer->iFFWDStartTime.Int64() == 0 )
-    EUNIT_ASSERT( iClipVideoPlayer->iFRWDStartTime.Int64() > 0 )
-    
-    // Stop fastrewinding
-    iClipVideoPlayer->LcFastRewindL( EFalse );
-    EUNIT_ASSERT( file->iPosition < KMusEngTestFilePosition )
-    EUNIT_ASSERT( file->iPosition != TTimeIntervalMicroSeconds( 0 ) )
-    EUNIT_ASSERT( !file->iIsEnabled )
-    EUNIT_ASSERT( iClipVideoPlayer->iFFWDStartTime.Int64() == 0 )
-    EUNIT_ASSERT( iClipVideoPlayer->iFRWDStartTime.Int64() == 0 )
-    
-    // Try to stop fastrewinding again, leaves 
-    EUNIT_ASSERT_SPECIFIC_LEAVE( 
-        iClipVideoPlayer->LcFastRewindL( EFalse ), KErrAlreadyExists )
-    
-    // Start fastforwarding
-    iClipVideoPlayer->LcFastForwardL( ETrue );
-    EUNIT_ASSERT( !file->iIsEnabled )
-    EUNIT_ASSERT( iClipVideoPlayer->iFFWDStartTime.Int64() >= 0 )
-    EUNIT_ASSERT( iClipVideoPlayer->iFRWDStartTime.Int64() == 0 )
-    
-    // Start fastrewinding, forwarding should be stopped and FFWD started
-    iClipVideoPlayer->LcFastRewindL( ETrue );
-    EUNIT_ASSERT( !file->iIsEnabled );
-    EUNIT_ASSERT( iClipVideoPlayer->iFFWDStartTime.Int64() == 0 )
-    EUNIT_ASSERT( iClipVideoPlayer->iFRWDStartTime.Int64() >= 0 )
-    
-    // Simulate that clip has just begun and fastrewinding would have 
-    // continued over beginning, position should be set to zero.
-    
-    file->iPosition = TTimeIntervalMicroSeconds( 1 );
-    
-    // Simulate fastrewinding for a while
-    User::After( 1000 );
-    
-    iClipVideoPlayer->LcFastRewindL( EFalse );
-    EUNIT_ASSERT( file->iPosition == TTimeIntervalMicroSeconds( 0 ) )
-    EUNIT_ASSERT( !file->iIsEnabled )
-    EUNIT_ASSERT( iClipVideoPlayer->iFFWDStartTime.Int64() == 0 )
-    EUNIT_ASSERT( iClipVideoPlayer->iFRWDStartTime.Int64() == 0 ) 
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_CMusEngClipVideoPlayer::UT_LcFilePositionL()
-    {
-    // Try before establishment
-    iClipVideoPlayer->SetMceSession( NULL );
-    EUNIT_ASSERT_SPECIFIC_LEAVE( 
-        iClipVideoPlayer->LcFilePositionL(), KErrNotReady )
-    
-    // Establish session and try again
-    iClipVideoPlayer->SetMceSession( iMceSession );
-    CMceFileSource* file = MusEngMceUtils::GetFileSourceL( *iMceSession );
-    file->iPosition = 2000000;   
-    EUNIT_ASSERT( iClipVideoPlayer->LcFilePositionL().Int() * 1000000 == 
-                  file->iPosition.Int64() )
-    
-    // Ask position while fastforwarding, it should be bigger than real position
-    iClipVideoPlayer->LcFastForwardL( ETrue );
-    User::After( 1000000 ); // We have to wait since dividing in LcFilePositionL and 
-                            // multiplying before comparison loses difference  
-    EUNIT_ASSERT( iClipVideoPlayer->LcFilePositionL().Int() * 1000000 >
-                  file->iPosition.Int64() )
-    
-    // Ask position while fastforwarding beyond end of clip, clip duration is
-    // returned
-    file->iPosition = file->iDuration;
-    EUNIT_ASSERT( iClipVideoPlayer->LcFilePositionL().Int() * 1000000 ==
-                  file->iDuration.Int64() )
-    
-    // Stop fastforwarding, start fastrewinding, position is set to the end clip
-    iClipVideoPlayer->LcFastForwardL( EFalse );
-    iClipVideoPlayer->LcFastRewindL( ETrue );   
-    User::After( 1000000 ); // We have to wait since dividing in LcFilePositionL and 
-                            // multiplying before comparison loses difference 
-    
-    // Ask position while fastrewinding, it should be smaller than real 
-    // position
-    EUNIT_ASSERT( iClipVideoPlayer->LcFilePositionL().Int() * 1000000 <
-                  file->iPosition.Int64() )
-    
-    // Ask position while fastrewinding beyond the beginning of clip, zero 
-    // returned
-    file->iPosition = 0;
-    EUNIT_ASSERT( iClipVideoPlayer->LcFilePositionL().Int() * 1000000 == 0 )
-    
-    // Asking position when rewinded to beginning but rewinding has ended 
-    // and clip has not ended (position should not be altered in that case)
-    iClipVideoPlayer->iRewindedToBeginning = ETrue;
-    file->iPosition = 0;
-    iClipVideoPlayer->iFRWDStartTime = TTime( 0 );   
-    EUNIT_ASSERT( iClipVideoPlayer->LcFilePositionL().Int() * 1000000 == 0 )
-    
-    // Position has proceeded from beginning, rewinding to beginning info
-    // is cleared.
-    file->iPosition = 10000000;
-    iClipVideoPlayer->iFRWDStartTime = TTime( 0 );
-    EUNIT_ASSERT( iClipVideoPlayer->LcFilePositionL().Int() * 1000000 == 10000000 )
-    EUNIT_ASSERT( iClipVideoPlayer->iRewindedToBeginning == EFalse )
-    }
-    
-    
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_CMusEngClipVideoPlayer::UT_LcFileDurationL()
-    {
-    // Try before establishment
-    iClipVideoPlayer->SetMceSession( NULL );
-    EUNIT_ASSERT_SPECIFIC_LEAVE( 
-        iClipVideoPlayer->LcFileDurationL(), KErrNotReady )
-    
-    // Establish session and try again
-    iClipVideoPlayer->SetMceSession( iMceSession );    
-    CMceFileSource* file = MusEngMceUtils::GetFileSourceL( *iMceSession );
-    file->iDuration = 2000000;
-    EUNIT_ASSERT( iClipVideoPlayer->LcFileDurationL().Int() * 1000000 == 
-                  file->iDuration.Int64() )
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_CMusEngClipVideoPlayer::UT_SetLcFilePositionL()
-    {
-    TTimeIntervalSeconds time( 20 );
-    
-    // Try before establishment
-    iClipVideoPlayer->SetMceSession( NULL );
-    EUNIT_ASSERT_SPECIFIC_LEAVE( 
-        iClipVideoPlayer->SetLcFilePositionL( time ), KErrNotReady )
-    
-    // Normal case with already disabled file source
-    iClipVideoPlayer->SetMceSession( iMceSession );    
-    CMceFileSource* file = MusEngMceUtils::GetFileSourceL( *iMceSession ); 
-    file->iIsEnabled = EFalse;    
-    iClipVideoPlayer->SetLcFilePositionL( time );
-    EUNIT_ASSERT( file->iPosition.Int64() == 
-                  static_cast< TInt64 >( time.Int() ) * 1000000 )
-    EUNIT_ASSERT( !file->iIsEnabled )
-    
-    // Normal case with enabled file source
-    TTimeIntervalSeconds anotherTime( 30 );
-    file->iIsEnabled = ETrue;
-    iClipVideoPlayer->SetLcFilePositionL( anotherTime ); 
-    EUNIT_ASSERT( file->iPosition.Int64() ==
-                  static_cast< TInt64 >( anotherTime.Int() ) * 1000000 )
-    EUNIT_ASSERT( file->iIsEnabled )
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_CMusEngClipVideoPlayer::UT_LcWindowL()
-    {
-    EUNIT_ASSERT( iClipVideoPlayer->LcWindow() == iClipVideoPlayer )
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_CMusEngClipVideoPlayer::UT_LcCameraControlL()
-    {
-    EUNIT_ASSERT( iClipVideoPlayer->LcCameraControl() == NULL )
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_CMusEngClipVideoPlayer::UT_LcSourceFileControlL()
-    {
-    EUNIT_ASSERT( iClipVideoPlayer->LcSourceFileControl() == iClipVideoPlayer )
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_CMusEngClipVideoPlayer::UT_LcDestinationFileControlL()
-    {
-    EUNIT_ASSERT( iClipVideoPlayer->LcDestinationFileControl() == NULL )
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_CMusEngClipVideoPlayer::UT_LcAudioControlL()
-    {
-    EUNIT_ASSERT( iClipVideoPlayer->LcAudioControl() == &iLcAudioControlStub )
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_CMusEngClipVideoPlayer::UT_LcZoomControlL()
-    {
-    EUNIT_ASSERT( iClipVideoPlayer->LcZoomControl() == NULL )
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_CMusEngClipVideoPlayer::UT_LcBrightnessControlL()
-    {
-    EUNIT_ASSERT( iClipVideoPlayer->LcBrightnessControl() == NULL )
-    }
-
-//  TEST TABLE
-
-EUNIT_BEGIN_TEST_TABLE(
-    UT_CMusEngClipVideoPlayer,
-    "UT_CMusEngClipVideoPlayer",
-    "UNIT" )   
-    
-EUNIT_TEST(
-    "HasClipEnded - test ",
-    "CMusEngClipVideoPlayer",
-    "HasClipEnded",
-    "FUNCTIONALITY",
-    SetupL, UT_HasClipEndedL, Teardown)
-
-EUNIT_TEST(
-    "LcVideoPlayerState - test ",
-    "CMusEngClipVideoPlayer",
-    "LcVideoPlayerState",
-    "FUNCTIONALITY",
-    SetupL, UT_LcVideoPlayerStateL, Teardown)
-
-EUNIT_TEST(
-    "LcPlayL - test ",
-    "CMusEngClipVideoPlayer",
-    "LcPlayL",
-    "FUNCTIONALITY",
-    SetupL, UT_LcPlayL, Teardown)
-
-EUNIT_TEST(
-    "LcPauseL - test ",
-    "CMusEngClipVideoPlayer",
-    "LcPauseL",
-    "FUNCTIONALITY",
-    SetupL, UT_LcPauseL, Teardown)
-
-EUNIT_TEST(
-    "LcIsPlayingL - test ",
-    "CMusEngClipVideoPlayer",
-    "LcIsPlayingL",
-    "FUNCTIONALITY",
-    SetupL, UT_LcIsPlayingL, Teardown)
-    
-EUNIT_TEST(
-    "SetLcFileNameL - test ",
-    "CMusEngClipVideoPlayer",
-    "SetLcFileNameL",
-    "FUNCTIONALITY",
-    SetupL, UT_SetLcFileNameL, Teardown)
-
-EUNIT_TEST(
-    "LcFastForwardL - test ",
-    "CMusEngClipVideoPlayer",
-    "LcFastForwardL",
-    "FUNCTIONALITY",
-    SetupL, UT_LcFastForwardL, Teardown)
-
-EUNIT_TEST(
-    "LcFastRewindL - test ",
-    "CMusEngClipVideoPlayer",
-    "LcFastRewindL",
-    "FUNCTIONALITY",
-    SetupL, UT_LcFastRewindL, Teardown)
-
-EUNIT_TEST(
-    "LcFilePositionL - test ",
-    "CMusEngClipVideoPlayer",
-    "LcFilePositionL",
-    "FUNCTIONALITY",
-    SetupL, UT_LcFilePositionL, Teardown)
-
-EUNIT_TEST(
-    "LcFileDurationL - test ",
-    "CMusEngClipVideoPlayer",
-    "LcFileDurationL",
-    "FUNCTIONALITY",
-    SetupL, UT_LcFileDurationL, Teardown)
-
-EUNIT_TEST(
-    "SetLcFilePositionL - test ",
-    "CMusEngClipVideoPlayer",
-    "SetLcFilePositionL",
-    "FUNCTIONALITY",
-    SetupL, UT_SetLcFilePositionL, Teardown)    
-    
-EUNIT_TEST(
-    "LcWindow - test ",
-    "CMusEngClipVideoPlayer",
-    "LcWindow",
-    "FUNCTIONALITY",
-    SetupL, UT_LcWindowL, Teardown)
-
-EUNIT_TEST(
-    "LcCameraControl - test ",
-    "CMusEngClipVideoPlayer",
-    "LcCameraControl",
-    "FUNCTIONALITY",
-    SetupL, UT_LcCameraControlL, Teardown)
-
-EUNIT_TEST(
-    "LcSourceFileControl - test ",
-    "CMusEngClipVideoPlayer",
-    "LcSourceFileControl",
-    "FUNCTIONALITY",
-    SetupL, UT_LcSourceFileControlL, Teardown)
-
-EUNIT_TEST(
-    "LcDestinationFileControl - test ",
-    "CMusEngClipVideoPlayer",
-    "LcDestinationFileControl",
-    "FUNCTIONALITY",
-    SetupL, UT_LcDestinationFileControlL, Teardown)
-
-EUNIT_TEST(
-    "LcAudioControl - test ",
-    "CMusEngClipVideoPlayer",
-    "LcAudioControl",
-    "FUNCTIONALITY",
-    SetupL, UT_LcAudioControlL, Teardown)
-
-EUNIT_TEST(
-    "LcZoomControl - test ",
-    "CMusEngClipVideoPlayer",
-    "LcZoomControl",
-    "FUNCTIONALITY",
-    SetupL, UT_LcZoomControlL, Teardown)
-
-EUNIT_TEST(
-    "LcBrightnessControl - test ",
-    "CMusEngClipVideoPlayer",
-    "LcBrightnessControl",
-    "FUNCTIONALITY",
-    SetupL, UT_LcBrightnessControlL, Teardown)
-    
-EUNIT_END_TEST_TABLE
-
-//  END OF FILE
-