--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mmsharing/mmshengine/tsrc/ut_engine/src/ut_musenglivevideoplayer.cpp Tue Aug 31 15:12:07 2010 +0300
@@ -0,0 +1,490 @@
+/*
+* 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_musenglivevideoplayer.h"
+#include "musenglivevideoplayer.h"
+#include "musengtestdefs.h"
+
+// SYSTEM INCLUDES
+#include <eunitmacros.h>
+#include <mceoutsession.h>
+#include <mcevideostream.h>
+#include <mcertpsink.h>
+#include <mcecamerasource.h>
+#include <mcefilesink.h>
+
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+UT_CMusEngLiveVideoPlayer* UT_CMusEngLiveVideoPlayer::NewL()
+ {
+ UT_CMusEngLiveVideoPlayer* self = UT_CMusEngLiveVideoPlayer::NewLC();
+ CleanupStack::Pop( self );
+ return self;
+ }
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+UT_CMusEngLiveVideoPlayer* UT_CMusEngLiveVideoPlayer::NewLC()
+ {
+ UT_CMusEngLiveVideoPlayer* self = new( ELeave ) UT_CMusEngLiveVideoPlayer();
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ return self;
+ }
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+UT_CMusEngLiveVideoPlayer::~UT_CMusEngLiveVideoPlayer()
+ {
+ // NOP
+ }
+
+// -----------------------------------------------------------------------------
+// Default constructor
+// -----------------------------------------------------------------------------
+//
+UT_CMusEngLiveVideoPlayer::UT_CMusEngLiveVideoPlayer()
+ {
+ // NOP
+ }
+
+// -----------------------------------------------------------------------------
+// Second phase construct
+// -----------------------------------------------------------------------------
+//
+void UT_CMusEngLiveVideoPlayer::ConstructL()
+ {
+ // The ConstructL from the base class CEUnitTestSuiteClass must be called.
+ // It generates the test case table.
+ CEUnitTestSuiteClass::ConstructL();
+ }
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void UT_CMusEngLiveVideoPlayer::SetupL()
+ {
+ iMceSession = CMceOutSession::NewL();
+ CMceVideoStream* videoStream = CMceVideoStream::NewLC();
+ CMceRtpSink* rtpsink = CMceRtpSink::NewLC();
+ videoStream->AddSinkL( rtpsink );
+ CleanupStack::Pop( rtpsink );
+ CMceCameraSource* camera = CMceCameraSource::NewLC();
+ iCameraHandler.InitializeL( *camera );
+ videoStream->SetSourceL( camera );
+ CleanupStack::Pop( camera );
+ iMceSession->AddStreamL( videoStream );
+ CleanupStack::Pop( videoStream );
+
+ iCameraHandler.SetSession( iMceSession );
+ iLiveVideoPlayer =
+ CMusEngLiveVideoPlayer::NewL(
+ iDisplayHandlerStub,
+ iCameraHandler,
+ iLcAudioControlStub );
+ iLiveVideoPlayer->SetMceSession( iMceSession );
+ }
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void UT_CMusEngLiveVideoPlayer::Teardown()
+ {
+ delete iLiveVideoPlayer;
+ delete iMceSession;
+ iLcAudioControlStub.Reset();
+ }
+
+
+
+// TEST CASES
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void UT_CMusEngLiveVideoPlayer::UT_NewLL()
+ {
+ }
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void UT_CMusEngLiveVideoPlayer::UT_LcVideoPlayerStateL()
+ {
+ // iMceSession not set
+ iLiveVideoPlayer->SetMceSession( NULL );
+ EUNIT_ASSERT_EQUALS( TInt( MLcVideoPlayer::EUnavailable ),
+ TInt( iLiveVideoPlayer->LcVideoPlayerState() ) )
+ iLiveVideoPlayer->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( iLiveVideoPlayer->LcVideoPlayerState() ) )
+
+ // Media streams unavailable
+ iMceSession->Streams()[0]->iState = CMceMediaStream::EUninitialized;
+ EUNIT_ASSERT_EQUALS( TInt( MLcVideoPlayer::EUnavailable ),
+ TInt( iLiveVideoPlayer->LcVideoPlayerState() ) )
+
+ // All other stream states
+ iMceSession->Streams()[0]->iState = CMceMediaStream::EInitialized;
+ EUNIT_ASSERT_EQUALS( TInt( MLcVideoPlayer::EInit ),
+ TInt( iLiveVideoPlayer->LcVideoPlayerState() ) )
+
+ iMceSession->Streams()[0]->iState = CMceMediaStream::EBuffering;
+ EUNIT_ASSERT_EQUALS( TInt( MLcVideoPlayer::EBuffering ),
+ TInt( iLiveVideoPlayer->LcVideoPlayerState() ) )
+
+ iMceSession->Streams()[0]->iState = CMceMediaStream::EIdle;
+ EUNIT_ASSERT_EQUALS( TInt( MLcVideoPlayer::EPaused ),
+ TInt( iLiveVideoPlayer->LcVideoPlayerState() ) )
+
+ iMceSession->Streams()[0]->iState = CMceMediaStream::EDisabled;
+ EUNIT_ASSERT_EQUALS( TInt( MLcVideoPlayer::EPaused ),
+ TInt( iLiveVideoPlayer->LcVideoPlayerState() ) )
+
+ iMceSession->Streams()[0]->iState = CMceMediaStream::EStreaming;
+ EUNIT_ASSERT_EQUALS( TInt( MLcVideoPlayer::EPlaying ),
+ TInt( iLiveVideoPlayer->LcVideoPlayerState() ) )
+
+ iMceSession->Streams()[0]->iState = CMceMediaStream::ENoResources;
+ EUNIT_ASSERT_EQUALS( TInt( MLcVideoPlayer::EUnavailable ),
+ TInt( iLiveVideoPlayer->LcVideoPlayerState() ) )
+
+ iMceSession->Streams()[0]->iState = CMceMediaStream::ETranscodingRequired;
+ EUNIT_ASSERT_EQUALS( TInt( MLcVideoPlayer::EUnavailable ),
+ TInt( iLiveVideoPlayer->LcVideoPlayerState() ) )
+
+ iMceSession->Streams()[0]->iState = CMceMediaStream::ETranscoding;
+ EUNIT_ASSERT_EQUALS( TInt( MLcVideoPlayer::EUnavailable ),
+ TInt( iLiveVideoPlayer->LcVideoPlayerState() ) )
+ }
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void UT_CMusEngLiveVideoPlayer::UT_LcPlayL()
+ {
+ // Play
+ iLiveVideoPlayer->LcPlayL();
+ EUNIT_ASSERT( iLiveVideoPlayer->LcIsPlayingL() );
+
+ // Pause
+ iLiveVideoPlayer->LcPauseL();
+ EUNIT_ASSERT( !iLiveVideoPlayer->LcIsPlayingL() );
+ }
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void UT_CMusEngLiveVideoPlayer::UT_LcWindowL()
+ {
+ EUNIT_ASSERT( iLiveVideoPlayer->LcWindow() == iLiveVideoPlayer )
+ }
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void UT_CMusEngLiveVideoPlayer::UT_LcCameraControlL()
+ {
+ EUNIT_ASSERT( iLiveVideoPlayer->LcCameraControl() == &iCameraHandler )
+ }
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void UT_CMusEngLiveVideoPlayer::UT_LcSourceFileControlL()
+ {
+ EUNIT_ASSERT( iLiveVideoPlayer->LcSourceFileControl() == NULL )
+ }
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void UT_CMusEngLiveVideoPlayer::UT_LcDestinationFileControlL()
+ {
+ EUNIT_ASSERT(
+ iLiveVideoPlayer->LcDestinationFileControl() == iLiveVideoPlayer )
+ }
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void UT_CMusEngLiveVideoPlayer::UT_LcAudioControlL()
+ {
+ EUNIT_ASSERT( iLiveVideoPlayer->LcAudioControl() == &iLcAudioControlStub )
+ }
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void UT_CMusEngLiveVideoPlayer::UT_LcZoomControlL()
+ {
+ EUNIT_ASSERT( iLiveVideoPlayer->LcZoomControl() == &iCameraHandler )
+ }
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void UT_CMusEngLiveVideoPlayer::UT_LcBrightnessControlL()
+ {
+ EUNIT_ASSERT( iLiveVideoPlayer->LcBrightnessControl() == &iCameraHandler )
+ }
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void UT_CMusEngLiveVideoPlayer::UT_EnableLcWindowL()
+ {
+ EUNIT_ASSERT( !iLiveVideoPlayer->IsLcWindowEnabled() )
+
+ // Enable
+ iLiveVideoPlayer->EnableLcWindowL( ETrue );
+ EUNIT_ASSERT( iLiveVideoPlayer->IsLcWindowEnabled() )
+
+ // Disable
+ iLiveVideoPlayer->EnableLcWindowL( EFalse );
+ EUNIT_ASSERT( !iLiveVideoPlayer->IsLcWindowEnabled() )
+ }
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void UT_CMusEngLiveVideoPlayer::UT_LcWindowRectL()
+ {
+ TRect rect( 12, 34, 56, 78 );
+ iLiveVideoPlayer->SetLcWindowRectL( rect );
+ EUNIT_ASSERT( iLiveVideoPlayer->LcWindowRect() == rect )
+ }
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void UT_CMusEngLiveVideoPlayer::UT_LcWindowOrientationL()
+ {
+ iLiveVideoPlayer->SetLcWindowOrientationL( MLcWindow::EPortrait );
+ EUNIT_ASSERT_EQUALS( TInt( MLcWindow::EPortrait ),
+ TInt( iLiveVideoPlayer->LcWindowOrientationL() ) )
+
+ iLiveVideoPlayer->SetLcWindowOrientationL( MLcWindow::ELandscape );
+ EUNIT_ASSERT_EQUALS( TInt( MLcWindow::ELandscape ),
+ TInt( iLiveVideoPlayer->LcWindowOrientationL() ) )
+ }
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void UT_CMusEngLiveVideoPlayer::UT_SetLcFileNameL()
+ {
+ EUNIT_ASSERT_EQUALS( KNullDesC(), iLiveVideoPlayer->LcFileName() )
+
+ _LIT( KFileName, "my_clip.format");
+ TFileName fileName( KFileName );
+ iLiveVideoPlayer->SetLcFileNameL( fileName );
+ EUNIT_ASSERT_EQUALS( fileName, iLiveVideoPlayer->LcFileName() )
+ }
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void UT_CMusEngLiveVideoPlayer::UT_LcRecordL()
+ {
+ // No MCE session
+ iLiveVideoPlayer->SetMceSession( NULL );
+ EUNIT_ASSERT_SPECIFIC_LEAVE(
+ iLiveVideoPlayer->LcRecordL( ETrue ), KErrNotReady )
+
+ // No file sink in the session
+ iLiveVideoPlayer->SetMceSession( iMceSession );
+ EUNIT_ASSERT_SPECIFIC_LEAVE(
+ iLiveVideoPlayer->LcRecordL( ETrue ), KErrNotReady )
+
+ // Record, not yet recording
+ EUNIT_ASSERT( !iLiveVideoPlayer->LcIsRecording() )
+ CMceVideoStream* streamForRecording = CMceVideoStream::NewLC();
+ CMceFileSink* fileSink = CMceFileSink::NewLC( KTestVideoFileName() );
+ fileSink->DisableL();
+ streamForRecording->AddSinkL( fileSink );
+ CleanupStack::Pop( fileSink );
+ iMceSession->AddStreamL( streamForRecording );
+ CleanupStack::Pop( streamForRecording );
+ iLiveVideoPlayer->LcRecordL( ETrue );
+ EUNIT_ASSERT( iLiveVideoPlayer->LcIsRecording() )
+
+ // Record, already recording
+ iLiveVideoPlayer->LcRecordL( ETrue );
+ EUNIT_ASSERT( iLiveVideoPlayer->LcIsRecording() )
+
+ // Stop recording
+ iLiveVideoPlayer->LcRecordL( EFalse );
+ EUNIT_ASSERT( !iLiveVideoPlayer->LcIsRecording() )
+
+ // Stop recording, not anymore recording
+ iLiveVideoPlayer->LcRecordL( EFalse );
+ EUNIT_ASSERT( !iLiveVideoPlayer->LcIsRecording() )
+ }
+
+
+// TEST TABLE
+
+EUNIT_BEGIN_TEST_TABLE(
+ UT_CMusEngLiveVideoPlayer,
+ "UT_CMusEngLiveVideoPlayer",
+ "UNIT" )
+
+EUNIT_TEST(
+ "NewL - test ",
+ "CMusEngLiveVideoPlayer",
+ "NewL",
+ "FUNCTIONALITY",
+ SetupL, UT_NewLL, Teardown)
+
+EUNIT_TEST(
+ "LcVideoPlayerState - test ",
+ "CMusEngLiveVideoPlayer",
+ "LcVideoPlayerState",
+ "FUNCTIONALITY",
+ SetupL, UT_LcVideoPlayerStateL, Teardown)
+
+EUNIT_TEST(
+ "LcPlayL - test ",
+ "CMusEngLiveVideoPlayer",
+ "LcPlayL",
+ "FUNCTIONALITY",
+ SetupL, UT_LcPlayL, Teardown)
+
+EUNIT_TEST(
+ "LcWindow - test ",
+ "CMusEngLiveVideoPlayer",
+ "LcWindow",
+ "FUNCTIONALITY",
+ SetupL, UT_LcWindowL, Teardown)
+
+EUNIT_TEST(
+ "LcCameraControl - test ",
+ "CMusEngLiveVideoPlayer",
+ "LcCameraControl",
+ "FUNCTIONALITY",
+ SetupL, UT_LcCameraControlL, Teardown)
+
+EUNIT_TEST(
+ "LcSourceFileControl - test ",
+ "CMusEngLiveVideoPlayer",
+ "LcSourceFileControl",
+ "FUNCTIONALITY",
+ SetupL, UT_LcSourceFileControlL, Teardown)
+
+EUNIT_TEST(
+ "LcDestinationFileControl - test ",
+ "CMusEngLiveVideoPlayer",
+ "LcDestinationFileControl",
+ "FUNCTIONALITY",
+ SetupL, UT_LcDestinationFileControlL, Teardown)
+
+EUNIT_TEST(
+ "LcAudioControl - test ",
+ "CMusEngLiveVideoPlayer",
+ "LcAudioControl",
+ "FUNCTIONALITY",
+ SetupL, UT_LcAudioControlL, Teardown)
+
+EUNIT_TEST(
+ "LcZoomControl - test ",
+ "CMusEngLiveVideoPlayer",
+ "LcZoomControl",
+ "FUNCTIONALITY",
+ SetupL, UT_LcZoomControlL, Teardown)
+
+EUNIT_TEST(
+ "LcBrightnessControl - test ",
+ "CMusEngLiveVideoPlayer",
+ "LcBrightnessControl",
+ "FUNCTIONALITY",
+ SetupL, UT_LcBrightnessControlL, Teardown)
+
+EUNIT_TEST(
+ "EnableLcWindowL - test ",
+ "CMusEngLiveVideoPlayer",
+ "EnableLcWindowL",
+ "FUNCTIONALITY",
+ SetupL, UT_EnableLcWindowL, Teardown)
+
+EUNIT_TEST(
+ "LcWindowRect - test ",
+ "CMusEngLiveVideoPlayer",
+ "LcWindowRect",
+ "FUNCTIONALITY",
+ SetupL, UT_LcWindowRectL, Teardown)
+
+EUNIT_TEST(
+ "LcWindowOrientation - test ",
+ "CMusEngLiveVideoPlayer",
+ "LcWindowOrientation",
+ "FUNCTIONALITY",
+ SetupL, UT_LcWindowOrientationL, Teardown)
+
+EUNIT_TEST(
+ "SetLcFileNameL - test ",
+ "CMusEngLiveVideoPlayer",
+ "SetLcFileNameL",
+ "FUNCTIONALITY",
+ SetupL, UT_SetLcFileNameL, Teardown)
+
+EUNIT_TEST(
+ "LcRecordL - test ",
+ "CMusEngLiveVideoPlayer",
+ "LcRecordL",
+ "FUNCTIONALITY",
+ SetupL, UT_LcRecordL, Teardown)
+
+EUNIT_END_TEST_TABLE
+
+// END OF FILE
+
+