mmlibs/mmfw/tsrc/mmfintegrationtest/vclntavi/src/testvideoplayer2.cpp
author hgs
Mon, 18 Oct 2010 12:47:26 +0100
changeset 4 9d4397b300d1
parent 0 b8ed18f6c07b
permissions -rw-r--r--
2010wk44_01
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     1
// Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     2
// All rights reserved.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     3
// This component and the accompanying materials are made available
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     4
// under the terms of "Eclipse Public License v1.0"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     5
// which accompanies this distribution, and is available
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     7
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     8
// Initial Contributors:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     9
// Nokia Corporation - initial contribution.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    10
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    11
// Contributors:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    12
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    13
// Description:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    14
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    15
 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    16
#include <e32math.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    17
#include "testvideoplayer2.h"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    18
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    19
#ifdef SYMBIAN_BUILD_GCE
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    20
#include <graphics/surfacemanager.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    21
#endif
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    22
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    23
const TInt KSettingsAndAlignmentTest = 3;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    24
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    25
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    26
// RTestVclntPlayAviFile
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    27
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    28
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    29
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    30
 * RTestVclnt2PlayFile::Constructor
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    31
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    32
RTestVclnt2PlayFile::RTestVclnt2PlayFile(const TDesC& aTestName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    33
                                         const TDesC& aSectName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    34
                                         const TDesC& aKeyName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    35
                                         TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    36
    : RTestVclnt2AviPlayerStep(aTestName, aSectName, aKeyName, aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    37
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    38
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    39
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    40
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    41
 * RTestVclnt2PlayFile::NewL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    42
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    43
RTestVclnt2PlayFile* RTestVclnt2PlayFile::NewL(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    44
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    45
    RTestVclnt2PlayFile* self = new (ELeave) RTestVclnt2PlayFile(aTestName, aSectName, aKeyName, aExpectedError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    46
    return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    47
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    48
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    49
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    50
 * RTestVclnt2PlayFile::DoTestStepPreambleL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    51
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    52
TVerdict RTestVclnt2PlayFile::DoTestStepPreambleL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    53
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    54
    return RTestVclnt2AviPlayerStep::DoTestStepPreambleL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    55
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    56
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    57
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    58
 * RTestVclnt2PlayFile::DoTestStepPostambleL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    59
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    60
TVerdict RTestVclnt2PlayFile::DoTestStepPostambleL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    61
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    62
    return RTestVclnt2AviPlayerStep::DoTestStepPostambleL();        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    63
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    64
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    65
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    66
 * RTestVclnt2PlayFile::FsmL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    67
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    68
void RTestVclnt2PlayFile::FsmL(TVclntTestPlayEvents aEventCode)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    69
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    70
    if (FsmCheck(aEventCode))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    71
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    72
        switch (aEventCode)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    73
            {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    74
            case EVPIdle:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    75
                HandleIdleL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    76
                break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    77
                
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    78
            case EVPOpenComplete:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    79
                HandleOpenCompleteL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    80
                break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    81
                
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    82
            case EVPPrepareComplete:                    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    83
                HandlePrepareCompleteL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    84
                break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    85
                
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    86
            case EVPPlayComplete:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    87
                HandlePlayCompleteL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    88
                break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    89
            }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    90
        }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    91
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    92
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    93
void RTestVclnt2PlayFile::HandleIdleL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    94
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    95
	// Open iVideoPlayer
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    96
    INFO_PRINTF2(_L("iVideoPlayer2->OpenFileL() %S"), &iFilename);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    97
    iVideoPlayer2->OpenFileL(iFilename, KMmfTestAviPlayControllerUid);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    98
    PrepareState(EVPOpenComplete, KErrNone);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    99
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   100
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   101
void RTestVclnt2PlayFile::HandleOpenCompleteL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   102
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   103
	// Prepare iVideoPlayer2
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   104
    INFO_PRINTF1(_L("iVideoPlayer2->Prepare()"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   105
    iVideoPlayer2->Prepare();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   106
    PrepareState(EVPPrepareComplete, KErrNone);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   107
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   108
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   109
void RTestVclnt2PlayFile::HandlePrepareCompleteL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   110
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   111
	// Add display window using default values - ie. video extent & window clipping 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   112
	// defaulted to whole window
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   113
	INFO_PRINTF1(_L("iVideoPlayer2->AddDisplayWindowL()"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   114
	iVideoPlayer2->AddDisplayWindowL(iWs, *iScreen, *iWindow);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   115
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   116
    // trigger the video to start playing                
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   117
    StartPlayback();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   118
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   119
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   120
void RTestVclnt2PlayFile::HandlePlayCompleteL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   121
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   122
	iTestStepResult = EPass;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   123
	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   124
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   125
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   126
void RTestVclnt2PlayFile::StartPlayback()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   127
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   128
    iError = KErrTimedOut;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   129
    INFO_PRINTF1(_L("iVideoPlayer2->Play()"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   130
    PrepareState(EVPPlayComplete, KErrNone);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   131
    iVideoPlayer2->Play();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   132
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   133
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   134
#ifdef SYMBIAN_BUILD_GCE
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   135
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   136
// RTestMediaClientVideoDisplay
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   137
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   138
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   139
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   140
 * RTestMediaClientVideoDisplay::Constructor
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   141
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   142
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   143
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   144
RTestMediaClientVideoDisplay::RTestMediaClientVideoDisplay(const TDesC& aTestName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   145
                                         const TDesC& aSectName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   146
                                         const TDesC& aKeyName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   147
                                         TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   148
    : RTestVclnt2AviPlayerStep(aTestName, aSectName, aKeyName, aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   149
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   150
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   151
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   152
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   153
 * RTestMediaClientVideoDisplay::NewL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   154
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   155
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   156
RTestMediaClientVideoDisplay* RTestMediaClientVideoDisplay::NewL(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   157
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   158
    RTestMediaClientVideoDisplay* self = new (ELeave) RTestMediaClientVideoDisplay(aTestName, aSectName, aKeyName, aExpectedError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   159
    return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   160
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   161
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   162
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   163
 * RTestMediaClientVideoDisplay::DoTestStepPreambleL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   164
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   165
 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   166
TVerdict RTestMediaClientVideoDisplay::DoTestStepPreambleL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   167
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   168
    return RTestVclnt2AviPlayerStep::DoTestStepPreambleL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   169
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   170
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   171
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   172
 * RTestMediaClientVideoDisplay::DoTestStepPostambleL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   173
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   174
 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   175
TVerdict RTestMediaClientVideoDisplay::DoTestStepPostambleL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   176
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   177
    return RTestVclnt2AviPlayerStep::DoTestStepPostambleL();        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   178
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   179
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   180
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   181
 * RTestMediaClientVideoDisplay::FsmL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   182
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   183
void RTestMediaClientVideoDisplay::FsmL(TVclntTestPlayEvents aEventCode)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   184
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   185
    if (FsmCheck(aEventCode))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   186
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   187
        switch (aEventCode)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   188
            {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   189
            case EVPIdle:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   190
                HandleIdleL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   191
                break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   192
                
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   193
            case EVPOpenComplete:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   194
                HandleOpenCompleteL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   195
                break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   196
                
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   197
            case EVPPrepareComplete:                    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   198
                HandlePrepareCompleteL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   199
                break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   200
                
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   201
            case EVPPlayComplete:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   202
                HandlePlayCompleteL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   203
                break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   204
            }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   205
        }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   206
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   207
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   208
void RTestMediaClientVideoDisplay::HandleIdleL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   209
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   210
	// Open iVideoPlayer
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   211
    INFO_PRINTF2(_L("iVideoPlayer2->OpenFileL() %S"), &iFilename);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   212
    iVideoPlayer2->OpenFileL(iFilename, KMmfTestAviPlayControllerUid);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   213
    PrepareState(EVPOpenComplete, KErrNone);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   214
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   215
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   216
void RTestMediaClientVideoDisplay::HandleOpenCompleteL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   217
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   218
	// Prepare iVideoPlayer2
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   219
    INFO_PRINTF1(_L("iVideoPlayer2->Prepare()"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   220
    iVideoPlayer2->Prepare();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   221
    PrepareState(EVPPrepareComplete, KErrNone);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   222
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   223
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   224
void RTestMediaClientVideoDisplay::HandlePrepareCompleteL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   225
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   226
	// trigger the video to start playing  
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   227
	StartPlayback();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   228
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   229
	TInt displayId = iScreen->GetScreenNumber();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   230
	TRect clipRect = TRect(iWindow->Size());
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   231
	TRect cropRegion = clipRect;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   232
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   233
	// ==========================
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   234
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   235
    iMediaClientVideoDisplay = CMediaClientVideoDisplay::NewL(displayId);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   236
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   237
 	RSurfaceManager surfaceManager;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   238
 	User::LeaveIfError(surfaceManager.Open());
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   239
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   240
	RSurfaceManager::TSurfaceCreationAttributesBuf bf;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   241
	RSurfaceManager::TSurfaceCreationAttributes& b=bf();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   242
	b.iSize.iWidth = 320;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   243
	b.iSize.iHeight = 240;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   244
	b.iBuffers = 1;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   245
	b.iPixelFormat = EUidPixelFormatXRGB_8888;	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   246
	b.iStride = 320 * 4;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   247
	b.iOffsetToFirstBuffer = 0;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   248
	b.iAlignment=4;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   249
	b.iContiguous=ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   250
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   251
	TRect cropRect(0, 0, 320, 240);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   252
	TVideoAspectRatio par(1,2);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   253
	TSurfaceId surfaceId;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   254
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   255
	User::LeaveIfError(surfaceManager.CreateSurface(bf, surfaceId));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   256
 	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   257
    iMediaClientVideoDisplay->SurfaceCreated(surfaceId, cropRect, par, cropRegion);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   258
    INFO_PRINTF1(_L("iMediaClientVideoDisplay->SurfaceCreated()"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   259
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   260
    delete iMediaClientVideoDisplay;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   261
    iMediaClientVideoDisplay = NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   262
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   263
    // ==================
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   264
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   265
    iMediaClientVideoDisplay = CMediaClientVideoDisplay::NewL(displayId);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   266
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   267
	TRect videoExtent = clipRect;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   268
	TReal32 scaleWidth(100.0f);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   269
	TReal32 scaleHeight(100.0f);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   270
	TInt horizPos(EHorizontalAlignCenter);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   271
	TInt vertPos(EVerticalAlignCenter);	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   272
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   273
	TReal32 widthPercentage(50.0f); 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   274
	TReal32 heightPercentage(50.0f);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   275
	TReal32 widthP; 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   276
	TReal32 heightP;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   277
	RWindow newWindow;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   278
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   279
	// Check for invalid rotation when adding new window
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   280
	INFO_PRINTF1(_L("Testing invalid rotations for AddDisplayWindowL"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   281
	TInt err = KErrNone;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   282
	TVideoRotation rotation = static_cast<TVideoRotation>(-1);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   283
	TRAP(err, iMediaClientVideoDisplay->AddDisplayWindowL(iWindow, clipRect, cropRegion, videoExtent, scaleWidth, scaleHeight, rotation, EAutoScaleBestFit, horizPos, vertPos, iWindow));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   284
	if (err != KErrArgument)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   285
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   286
		ERR_PRINTF1(_L("iVideoPlayer2->AddDisplayWindowL() did not leave with KErrArgument for negative rotation"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   287
    	iTestStepResult = EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   288
    	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   289
    	return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   290
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   291
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   292
	rotation = static_cast<TVideoRotation>(4);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   293
	TRAP(err, iMediaClientVideoDisplay->AddDisplayWindowL(iWindow, clipRect, cropRegion, videoExtent, scaleWidth, scaleHeight, rotation, EAutoScaleBestFit, horizPos, vertPos, iWindow));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   294
	if (err != KErrArgument)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   295
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   296
		ERR_PRINTF1(_L("iVideoPlayer2->AddDisplayWindowL() did not leave with KErrArgument for out of range rotation"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   297
    	iTestStepResult = EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   298
    	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   299
    	return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   300
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   301
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   302
	rotation = EVideoRotationNone;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   303
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   304
	// Check for invalid autoScaleType when adding new window
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   305
	INFO_PRINTF1(_L("Testing invalid autoScaleType for AddDisplayWindowL"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   306
	TAutoScaleType autoScaleType = static_cast<TAutoScaleType>(-1);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   307
	TRAP(err, iMediaClientVideoDisplay->AddDisplayWindowL(iWindow, clipRect, cropRegion, videoExtent, scaleWidth, scaleHeight, rotation, autoScaleType, horizPos, vertPos, iWindow));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   308
	if (err != KErrArgument)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   309
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   310
		ERR_PRINTF1(_L("iVideoPlayer2->AddDisplayWindowL() did not leave with KErrArgument for negative scale"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   311
    	iTestStepResult = EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   312
    	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   313
    	return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   314
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   315
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   316
	autoScaleType = static_cast<TAutoScaleType>(4);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   317
	TRAP(err, iMediaClientVideoDisplay->AddDisplayWindowL(iWindow, clipRect, cropRegion, videoExtent, scaleWidth, scaleHeight, rotation, autoScaleType, horizPos, vertPos, iWindow));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   318
	if (err != KErrArgument)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   319
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   320
		ERR_PRINTF1(_L("iVideoPlayer2->AddDisplayWindowL() did not leave with KErrArgument for out of range scale"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   321
    	iTestStepResult = EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   322
    	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   323
    	return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   324
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   325
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   326
	iMediaClientVideoDisplay->AddDisplayWindowL(iWindow, clipRect, cropRegion, videoExtent, scaleWidth, scaleHeight, rotation, EAutoScaleBestFit, horizPos, vertPos, iWindow);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   327
	INFO_PRINTF1(_L("iMediaClientVideoDisplay->AddDisplayWindowL()"));   
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   328
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   329
	// Check for invalid rotation when setting rotation for window
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   330
	INFO_PRINTF1(_L("Testing invalid rotation for SetRotationL"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   331
	TVideoRotation videoRotation = static_cast<TVideoRotation>(-1);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   332
	TRAP(err, iMediaClientVideoDisplay->SetRotationL(*iWindow, videoRotation, cropRegion));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   333
	if (err != KErrArgument)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   334
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   335
		ERR_PRINTF1(_L("iVideoPlayer2->SetRotationL(window) did not leave with KErrArgument for negative value"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   336
    	iTestStepResult = EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   337
    	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   338
    	return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   339
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   340
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   341
	videoRotation = static_cast<TVideoRotation>(4);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   342
	TRAP(err, iMediaClientVideoDisplay->SetRotationL(*iWindow, videoRotation, cropRegion));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   343
	if (err != KErrArgument)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   344
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   345
		ERR_PRINTF1(_L("iVideoPlayer2->SetRotationL(window) did not leave with KErrArgument for out of range value"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   346
    	iTestStepResult = EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   347
    	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   348
    	return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   349
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   350
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   351
	// Check for invalid rotation when setting rotation for all windows
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   352
	videoRotation = static_cast<TVideoRotation>(-1);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   353
	TRAP(err, iMediaClientVideoDisplay->SetRotationL(videoRotation, cropRegion));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   354
	if (err != KErrArgument)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   355
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   356
		ERR_PRINTF1(_L("iVideoPlayer2->SetRotationL() did not leave with KErrArgument for negative value"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   357
    	iTestStepResult = EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   358
    	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   359
    	return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   360
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   361
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   362
	videoRotation = static_cast<TVideoRotation>(4);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   363
	TRAP(err, iMediaClientVideoDisplay->SetRotationL(videoRotation, cropRegion));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   364
	if (err != KErrArgument)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   365
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   366
		ERR_PRINTF1(_L("iVideoPlayer2->SetRotationL() did not leave with KErrArgument for out of range value"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   367
    	iTestStepResult = EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   368
    	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   369
    	return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   370
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   371
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   372
	videoRotation = EVideoRotationClockwise180;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   373
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   374
    iMediaClientVideoDisplay->SetRotationL(*iWindow, videoRotation, cropRegion);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   375
    INFO_PRINTF1(_L("iMediaClientVideoDisplay->SetRotationL()"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   376
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   377
    if (iMediaClientVideoDisplay->RotationL(*iWindow) != videoRotation)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   378
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   379
        ERR_PRINTF1(_L("iMediaClientVideoDisplay->RotationL() returns an unexpected value.  Test aborted."));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   380
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   381
		iTestStepResult = EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   382
		CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   383
        }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   384
	else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   385
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   386
		INFO_PRINTF1(_L("iMediaClientVideoDisplay->RotationL()"));	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   387
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   388
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   389
    iMediaClientVideoDisplay->SetScaleFactorL(*iWindow, widthPercentage, heightPercentage, cropRegion);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   390
    iMediaClientVideoDisplay->SetScaleFactorL(widthPercentage, heightPercentage, cropRegion);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   391
    INFO_PRINTF1(_L("iMediaClientVideoDisplay->SetScaleFactorL()"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   392
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   393
    iMediaClientVideoDisplay->SetRotationL(EVideoRotationClockwise90, cropRegion);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   394
    INFO_PRINTF1(_L("iMediaClientVideoDisplay->SetRotationL()"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   395
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   396
    iMediaClientVideoDisplay->GetScaleFactorL(*iWindow, widthP, heightP);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   397
    INFO_PRINTF3(_L("iMediaClientVideoDisplay->GetScaleFactorL() %df %df"), &widthP, &heightP);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   398
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   399
    iMediaClientVideoDisplay->SetVideoExtentL(*iWindow, videoExtent, cropRegion);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   400
    INFO_PRINTF1(_L("iMediaClientVideoDisplay->SetVideoExtentL()"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   401
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   402
    iMediaClientVideoDisplay->SetWindowClipRectL(*iWindow, clipRect, cropRegion);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   403
    INFO_PRINTF1(_L("iMediaClientVideoDisplay->SetWindowClipRectL()"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   404
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   405
	// Check for invalid autoScaleType when setting autoScaleType for window
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   406
	INFO_PRINTF1(_L("Testing invalid autoScaleType for SetAutoScaleL"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   407
	autoScaleType = static_cast<TAutoScaleType>(-1);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   408
	TRAP(err, iMediaClientVideoDisplay->SetAutoScaleL(*iWindow, autoScaleType, horizPos, vertPos, cropRegion));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   409
	if (err != KErrArgument)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   410
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   411
		ERR_PRINTF1(_L("iVideoPlayer2->SetAutoScaleL(window) did not leave with KErrArgument for negative value"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   412
    	iTestStepResult = EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   413
    	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   414
    	return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   415
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   416
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   417
	autoScaleType = static_cast<TAutoScaleType>(4);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   418
	TRAP(err, iMediaClientVideoDisplay->SetAutoScaleL(*iWindow, autoScaleType, horizPos, vertPos, cropRegion));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   419
	if (err != KErrArgument)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   420
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   421
		ERR_PRINTF1(_L("iVideoPlayer2->SetAutoScaleL(window) did not leave with KErrArgument for out of range value"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   422
    	iTestStepResult = EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   423
    	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   424
    	return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   425
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   426
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   427
	// Check for invalid autoScaleType when setting autoScaleType for all windows
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   428
	autoScaleType = static_cast<TAutoScaleType>(-1);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   429
	TRAP(err, iMediaClientVideoDisplay->SetAutoScaleL(autoScaleType, horizPos, vertPos, cropRegion));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   430
	if (err != KErrArgument)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   431
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   432
		ERR_PRINTF1(_L("iVideoPlayer2->SetAutoScaleL() did not leave with KErrArgument for negative value"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   433
    	iTestStepResult = EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   434
    	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   435
    	return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   436
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   437
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   438
	autoScaleType = static_cast<TAutoScaleType>(4);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   439
	TRAP(err, iMediaClientVideoDisplay->SetAutoScaleL(autoScaleType, horizPos, vertPos, cropRegion));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   440
	if (err != KErrArgument)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   441
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   442
		ERR_PRINTF1(_L("iVideoPlayer2->SetAutoScaleL() did not leave with KErrArgument for out of range value"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   443
    	iTestStepResult = EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   444
    	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   445
    	return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   446
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   447
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   448
    iMediaClientVideoDisplay->SetAutoScaleL(EAutoScaleBestFit, horizPos, vertPos, cropRegion);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   449
    INFO_PRINTF1(_L("iMediaClientVideoDisplay->SetAutoScaleL()"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   450
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   451
    iMediaClientVideoDisplay->RedrawWindows(cropRegion);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   452
    INFO_PRINTF1(_L("iMediaClientVideoDisplay->RedrawWindows()"));   
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   453
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   454
	iMediaClientVideoDisplay->SurfaceParametersChanged(surfaceId, cropRect, par);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   455
	INFO_PRINTF1(_L("iMediaClientVideoDisplay->SurfaceParametersChanged()"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   456
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   457
	iMediaClientVideoDisplay->RemoveSurface();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   458
    INFO_PRINTF1(_L("iMediaClientVideoDisplay->ReplaceSurface()"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   459
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   460
    iMediaClientVideoDisplay->RemoveDisplayWindow(*iWindow);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   461
    INFO_PRINTF1(_L("iMediaClientVideoDisplay->RemoveDisplayWindow()"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   462
    
4
9d4397b300d1 2010wk44_01
hgs
parents: 0
diff changeset
   463
    iMediaClientVideoDisplay->SetExternalDisplaySwitchingL(ETrue);
9d4397b300d1 2010wk44_01
hgs
parents: 0
diff changeset
   464
    iMediaClientVideoDisplay->SetExternalDisplaySwitchingL(EFalse);
9d4397b300d1 2010wk44_01
hgs
parents: 0
diff changeset
   465
    iMediaClientVideoDisplay->SetExternalDisplaySwitchingL(EFalse);
9d4397b300d1 2010wk44_01
hgs
parents: 0
diff changeset
   466
    iMediaClientVideoDisplay->SetExternalDisplaySwitchingL(ETrue);
9d4397b300d1 2010wk44_01
hgs
parents: 0
diff changeset
   467
    
9d4397b300d1 2010wk44_01
hgs
parents: 0
diff changeset
   468
    // create media class with other NewL.
9d4397b300d1 2010wk44_01
hgs
parents: 0
diff changeset
   469
    delete iMediaClientVideoDisplay;
9d4397b300d1 2010wk44_01
hgs
parents: 0
diff changeset
   470
    iMediaClientVideoDisplay = CMediaClientVideoDisplay::NewL(displayId, surfaceId, cropRect, par);          
9d4397b300d1 2010wk44_01
hgs
parents: 0
diff changeset
   471
    
0
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   472
    surfaceManager.CloseSurface(surfaceId);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   473
	surfaceId = TSurfaceId::CreateNullId();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   474
	surfaceManager.Close();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   475
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   476
    delete iMediaClientVideoDisplay;  
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   477
    iMediaClientVideoDisplay = NULL;              
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   478
   	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   479
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   480
void RTestMediaClientVideoDisplay::HandlePlayCompleteL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   481
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   482
	iTestStepResult = EPass;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   483
	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   484
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   485
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   486
void RTestMediaClientVideoDisplay::StartPlayback()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   487
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   488
    iError = KErrTimedOut;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   489
    INFO_PRINTF1(_L("iVideoPlayer2->Play()"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   490
    PrepareState(EVPPlayComplete, KErrNone);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   491
    iVideoPlayer2->Play();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   492
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   493
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   494
#endif
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   495
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   496
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   497
// RTestVclnt2PerformActionDuringVideoPlayback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   498
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   499
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   500
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   501
 * RTestVclnt2PerformActionDuringVideoPlayback::Constructor
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   502
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   503
RTestVclnt2PerformActionDuringVideoPlayback::RTestVclnt2PerformActionDuringVideoPlayback(
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   504
    const TDesC& aTestName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   505
    const TDesC& aSectName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   506
    const TDesC& aKeyName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   507
    TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   508
    : RTestVclnt2PlayFile(aTestName, aSectName, aKeyName, aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   509
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   510
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   511
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   512
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   513
 * RTestVclnt2PerformActionDuringVideoPlayback::HandlePlayCompleteL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   514
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   515
void RTestVclnt2PerformActionDuringVideoPlayback::HandlePlayCompleteL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   516
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   517
    if (iActionError != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   518
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   519
        ERR_PRINTF2(_L("Playback event left with error %d."), iActionError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   520
        iTestStepResult = EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   521
        }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   522
    else 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   523
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   524
        iTestStepResult = EPass;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   525
        }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   526
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   527
	CActiveScheduler::Stop();        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   528
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   529
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   530
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   531
 * RTestVclnt2PerformActionDuringVideoPlayback::StartPlayback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   532
 */     
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   533
void RTestVclnt2PerformActionDuringVideoPlayback::StartPlayback()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   534
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   535
	RTestVclnt2PlayFile::StartPlayback();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   536
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   537
	iActionError = KErrNone;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   538
    TRAP(iActionError, DoThisActionDuringPlaybackL(*iVideoPlayer2));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   539
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   540
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   541
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   542
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   543
// RTestVclnt2AddWin
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   544
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   545
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   546
 * RTestVclnt2AddWin::Constructor
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   547
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   548
RTestVclnt2AddWin::RTestVclnt2AddWin(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   549
    : RTestVclnt2PlayFile(aTestName, aSectName, aKeyName, aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   550
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   551
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   552
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   553
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   554
 * RTestVclnt2AddWin::NewL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   555
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   556
RTestVclnt2AddWin* RTestVclnt2AddWin::NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   557
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   558
    RTestVclnt2AddWin* self = new (ELeave) RTestVclnt2AddWin(aTestName, aSectName, aKeyName, aExpectedError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   559
    return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   560
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   561
   
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   562
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   563
 * RTestVclnt2AddWin::HandlePrepareCompleteL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   564
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   565
void RTestVclnt2AddWin::HandlePrepareCompleteL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   566
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   567
    // retrieve video size
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   568
    TSize videoSize;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   569
    iVideoPlayer2->VideoFrameSizeL(videoSize);                
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   570
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   571
    if (iTestStepName.CompareF(_L("MM-MMF-VCLNTAVI-I-0505")) == 0)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   572
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   573
        // create a clipping rect partially out of screen
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   574
        TRect windowRect(iWindow->Size());
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   575
        windowRect.SetWidth(windowRect.Width() * 2);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   576
        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   577
        // Add the display window with a partially out of screen clipping rect
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   578
        TRAPD(err, iVideoPlayer2->AddDisplayWindowL(iWs, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   579
                                                    *iScreen, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   580
                                                    *iWindow, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   581
                                                    TRect(iWindow->Size()), 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   582
                                                    windowRect));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   583
        if (err != iTestExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   584
            {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   585
            ERR_PRINTF1(_L("iVideoPlayer2->AddDisplayWindowL() leaves with an unexpected error.  Test failed."));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   586
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   587
    		iTestStepResult = EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   588
    		CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   589
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   590
    		return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   591
            }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   592
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   593
        // create a clipping rect completely out of screen
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   594
        windowRect.SetRect(TPoint(0, 0), iWindow->Size());
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   595
        windowRect.Move(windowRect.Width() + 10, 0);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   596
        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   597
        // Add the display window with a completely out of screen clipping rect
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   598
        TRAP(err, iVideoPlayer2->AddDisplayWindowL(iWs, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   599
                                                   *iScreen, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   600
                                                   *iWindow, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   601
                                                   TRect(iWindow->Size()), 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   602
                                                   windowRect));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   603
        if (err != iTestExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   604
            {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   605
            ERR_PRINTF1(_L("iVideoPlayer2->AddDisplayWindowL() leaves with an unexpected error.  Test failed."));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   606
            
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   607
    		iTestStepResult = EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   608
    		CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   609
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   610
    		return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   611
            }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   612
        else 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   613
            {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   614
            // Reset the expected error to KErrNone as all expected failure tests have been completed.  
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   615
            // Any error that appears after this should fail the test
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   616
            iTestExpectedError = KErrNone;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   617
            }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   618
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   619
        // after failing to add window display with a partially & a completely out of screen
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   620
        // clipping rect, proceed to add a valid clipping rect below            
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   621
        }    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   622
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   623
    if (iTestStepName.CompareF(_L("MM-MMF-VCLNTAVI-I-0401")) == 0 ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   624
        iTestStepName.CompareF(_L("MM-MMF-VCLNTAVI-I-0505")) == 0) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   625
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   626
        // shrink both the video & window size by half
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   627
        TRect videoRect(videoSize);     
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   628
        videoRect.SetHeight(videoSize.iHeight / 2);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   629
        videoRect.SetWidth(videoSize.iWidth / 2); 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   630
        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   631
        TRect windowRect(iWindow->Size());
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   632
        windowRect.SetHeight(iWindow->Size().iHeight / 2);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   633
        windowRect.SetWidth(iWindow->Size().iWidth / 2); 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   634
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   635
        // ensure the rect is within the boundary of the window        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   636
        TRect finalRect(windowRect);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   637
        finalRect.Intersection(videoRect);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   638
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   639
        // add display window using this valid clipping rect 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   640
        iVideoPlayer2->AddDisplayWindowL(iWs, *iScreen, *iWindow, finalRect, finalRect);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   641
        }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   642
    else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   643
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   644
        // Invalid test case
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   645
        User::Panic(_L("RTestVclnt2AddWin"), KErrArgument);        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   646
        }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   647
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   648
    // Start video playback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   649
    StartPlayback();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   650
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   651
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   652
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   653
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   654
// RTestVclnt2RemoveWin
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   655
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   656
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   657
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   658
 * RTestVclnt2RemoveWin::Constructor
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   659
 */ 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   660
RTestVclnt2RemoveWin::RTestVclnt2RemoveWin(const TDesC& aTestName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   661
                                           const TDesC& aSectName,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   662
                                           const TDesC& aKeyName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   663
                                           TInt aExpectedError,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   664
                                           TBool aAddBack)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   665
    : RTestVclnt2PerformActionDuringVideoPlayback(aTestName, aSectName, aKeyName, aExpectedError),
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   666
      iAddBack(aAddBack)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   667
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   668
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   669
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   670
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   671
 * RTestVclnt2RemoveWin::NewL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   672
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   673
RTestVclnt2RemoveWin* RTestVclnt2RemoveWin::NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, TBool aAddBack)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   674
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   675
    RTestVclnt2RemoveWin* self = new (ELeave) RTestVclnt2RemoveWin(aTestName, aSectName, aKeyName, aExpectedError, aAddBack);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   676
    return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   677
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   678
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   679
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   680
 * RTestVclnt2RemoveWin::HandlePrepareCompleteL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   681
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   682
void RTestVclnt2RemoveWin::HandlePrepareCompleteL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   683
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   684
    // retrieve video size
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   685
    TSize videoSize;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   686
    iVideoPlayer2->VideoFrameSizeL(videoSize);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   687
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   688
    // shrink both the video & window size by half
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   689
    TRect videoRect(videoSize);     
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   690
    videoRect.SetHeight(videoSize.iHeight / 2);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   691
    videoRect.SetWidth(videoSize.iWidth / 2); 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   692
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   693
    TRect windowRect(iWindow->Size());
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   694
    windowRect.SetHeight(iWindow->Size().iHeight / 2);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   695
    windowRect.SetWidth(iWindow->Size().iWidth / 2); 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   696
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   697
    // ensure the rect is within the boundary of the window        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   698
    TRect finalRect(windowRect);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   699
    finalRect.Intersection(videoRect);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   700
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   701
    // add display window using this valid clipping rect 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   702
    iVideoPlayer2->AddDisplayWindowL(iWs, *iScreen, *iWindow, finalRect, finalRect);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   703
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   704
    // trigger the video to start playing
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   705
    StartPlayback();    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   706
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   707
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   708
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   709
 * RTestVclnt2RemoveWin::DoThisActionDuringPlaybackL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   710
 */ 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   711
void RTestVclnt2RemoveWin::DoThisActionDuringPlaybackL(CVideoPlayerUtility2& aPlayer)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   712
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   713
    // Play the video clip using a specific display window & video clipping setting 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   714
    // first
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   715
    TTimeIntervalMicroSeconds duration = aPlayer.DurationL();        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   716
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   717
    // After a quarter of the clip's duration
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   718
    User::After(duration.Int64() / 4);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   719
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   720
    // remove the original display        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   721
    aPlayer.RemoveDisplayWindow(*iWindow);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   722
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   723
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   724
    if (iAddBack)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   725
    	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   726
	    // Add the window using default values to continues
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   727
	    aPlayer.AddDisplayWindowL(iWs, *iScreen, *iWindow);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   728
    	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   729
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   730
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   731
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   732
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   733
// RTestVclnt2WinPos
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   734
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   735
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   736
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   737
 * RTestVclnt2WinPos::Constructor
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   738
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   739
RTestVclnt2WinPos::RTestVclnt2WinPos(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   740
    : RTestVclnt2PerformActionDuringVideoPlayback(aTestName, aSectName, aKeyName, aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   741
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   742
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   743
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   744
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   745
 * RTestVclnt2WinPos::NewL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   746
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   747
RTestVclnt2WinPos* RTestVclnt2WinPos::NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   748
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   749
    RTestVclnt2WinPos* self = new (ELeave) RTestVclnt2WinPos(aTestName, aSectName, aKeyName, aExpectedError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   750
    return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   751
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   752
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   753
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   754
 * RTestVclnt2WinPos::DoThisActionDuringPlaybackL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   755
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   756
void RTestVclnt2WinPos::DoThisActionDuringPlaybackL(CVideoPlayerUtility2& aPlayer)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   757
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   758
    TSize windowSize(iWindow->Size().iWidth / 2, iWindow->Size().iHeight / 2);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   759
            
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   760
    // shrink the window clipping rect by half the height & width            
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   761
    aPlayer.SetWindowClipRectL(*iWindow, TRect(windowSize));    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   762
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   763
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   764
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   765
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   766
// RTestVclnt2VideoExt
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   767
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   768
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   769
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   770
 * RTestVclnt2VideoExt::Constructor
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   771
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   772
RTestVclnt2VideoExt::RTestVclnt2VideoExt(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   773
    : RTestVclnt2PerformActionDuringVideoPlayback(aTestName, aSectName, aKeyName, aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   774
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   775
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   776
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   777
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   778
 * RTestVclnt2VideoExt::NewL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   779
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   780
RTestVclnt2VideoExt* RTestVclnt2VideoExt::NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   781
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   782
    RTestVclnt2VideoExt* self = new (ELeave) RTestVclnt2VideoExt(aTestName, aSectName, aKeyName, aExpectedError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   783
    return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   784
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   785
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   786
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   787
 * RTestVclnt2VideoExt::DoThisActionDuringPlaybackL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   788
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   789
void RTestVclnt2VideoExt::DoThisActionDuringPlaybackL(CVideoPlayerUtility2& aPlayer)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   790
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   791
    TSize windowSize(iWindow->Size().iWidth / 2, iWindow->Size().iHeight / 2);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   792
            
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   793
    // shrink the video extent by half the height & width            
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   794
    aPlayer.SetVideoExtentL(*iWindow, TRect(windowSize));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   795
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   796
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   797
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   798
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   799
// RTestVclnt2ClipRect
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   800
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   801
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   802
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   803
 * RTestVclnt2ClipRect::Constructor
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   804
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   805
RTestVclnt2ClipRect::RTestVclnt2ClipRect(const TDesC& aTestName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   806
                                         const TDesC& aSectName,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   807
                                         const TDesC& aKeyName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   808
                                         TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   809
    : RTestVclnt2PerformActionDuringVideoPlayback(aTestName, aSectName, aKeyName, aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   810
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   811
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   812
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   813
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   814
 * RTestVclnt2ClipRect::NewL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   815
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   816
RTestVclnt2ClipRect* RTestVclnt2ClipRect::NewL(const TDesC& aTestName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   817
                                               const TDesC& aSectName,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   818
                                               const TDesC& aKeyName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   819
                                               TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   820
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   821
    RTestVclnt2ClipRect* self 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   822
        = new (ELeave) RTestVclnt2ClipRect(aTestName, aSectName, aKeyName, aExpectedError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   823
    return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   824
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   825
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   826
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   827
 * RTestVclnt2ClipRect::DoThisActionDuringPlaybackL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   828
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   829
void RTestVclnt2ClipRect::DoThisActionDuringPlaybackL(CVideoPlayerUtility2& aPlayer)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   830
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   831
    TRect clipRect;    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   832
    if (iTestStepName.CompareF(_L("MM-MMF-VCLNTAVI-I-0405")) == 0)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   833
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   834
        // shrink the current window clipping rect by half the height & width 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   835
        clipRect.Resize(iWindow->Size().iWidth / 2, iWindow->Size().iHeight / 2);            
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   836
        }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   837
    else if (iTestStepName.CompareF(_L("MM-MMF-VCLNTAVI-I-0503")) == 0)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   838
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   839
        // grow the current window clipping rect by double the width         
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   840
        clipRect.Resize(iWindow->Size().iWidth * 2, iWindow->Size().iHeight);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   841
        }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   842
    else if (iTestStepName.CompareF(_L("MM-MMF-VCLNTAVI-I-0504")) == 0)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   843
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   844
        // move the current window clipping rect to be out of the window
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   845
        clipRect.SetSize(iWindow->Size());
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   846
        clipRect.Move(TPoint(iWindow->Size().iWidth + 1, 0));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   847
        }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   848
    else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   849
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   850
        User::Panic(_L("RTestVclnt2ClipRect"), KErrArgument);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   851
        }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   852
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   853
    // change the window clipping of the display window
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   854
    TRAPD(err, aPlayer.SetWindowClipRectL(*iWindow, clipRect));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   855
    if (err != iTestExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   856
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   857
        if (iTestStepName.CompareF(_L("MM-MMF-VCLNTAVI-I-0503")) == 0 || 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   858
            iTestStepName.CompareF(_L("MM-MMF-VCLNTAVI-I-0504")) == 0)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   859
            {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   860
            // for negative tests, stop the test if the failure is not expected
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   861
            ERR_PRINTF1(_L("iVideoPlayer2->SetWindowClipRectL() did not failed as expected.  Test failed."));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   862
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   863
    		iTestStepResult = EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   864
    		CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   865
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   866
    		return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   867
            }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   868
        else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   869
            {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   870
            // fail only if error is returned for positive tests
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   871
            User::LeaveIfError(err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   872
            }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   873
        }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   874
    else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   875
        {        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   876
        // Reset the expected error to KErrNone as all expected failure tests have been completed.  
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   877
        // Any error that appears after this should fail the test
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   878
        iTestExpectedError = KErrNone;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   879
        }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   880
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   881
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   882
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   883
// RTestVclnt2Scale
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   884
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   885
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   886
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   887
 * RTestVclnt2Scale::Constructor
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   888
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   889
RTestVclnt2Scale::RTestVclnt2Scale(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   890
    : RTestVclnt2PerformActionDuringVideoPlayback(aTestName, aSectName, aKeyName, aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   891
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   892
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   893
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   894
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   895
 * RTestVclnt2Scale::NewL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   896
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   897
RTestVclnt2Scale* RTestVclnt2Scale::NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   898
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   899
    RTestVclnt2Scale* self = new (ELeave) RTestVclnt2Scale(aTestName, aSectName, aKeyName, aExpectedError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   900
    return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   901
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   902
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   903
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   904
 * RTestVclnt2Scale::DoThisActionDuringPlaybackL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   905
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   906
void RTestVclnt2Scale::DoThisActionDuringPlaybackL(CVideoPlayerUtility2& aPlayer)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   907
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   908
    // Change the scale factor during playback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   909
    aPlayer.SetScaleFactorL(*iWindow, 150, 150);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   910
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   911
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   912
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   913
 * RTestVclnt2Scale::HandlePrepareCompleteL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   914
 */ 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   915
void RTestVclnt2Scale::HandlePrepareCompleteL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   916
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   917
    // Continue to setup the video utility and then trigger playback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   918
    RTestVclnt2PerformActionDuringVideoPlayback::HandlePrepareCompleteL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   919
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   920
    TReal32 scaleFactor = 50.0;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   921
     
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   922
    // set scale factor to less than 100%
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   923
    iVideoPlayer2->SetScaleFactorL(*iWindow, scaleFactor, scaleFactor);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   924
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   925
    // get scale factor 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   926
    TReal32 widthScale;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   927
    TReal32 heightScale;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   928
    iVideoPlayer2->GetScaleFactorL(*iWindow, widthScale, heightScale);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   929
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   930
    if (widthScale != scaleFactor || heightScale != scaleFactor)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   931
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   932
        ERR_PRINTF1(_L("iVideoPlayer2->GetScaleFactorL() returns unexpected values.  Test aborted."));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   933
        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   934
		iTestStepResult = EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   935
		CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   936
		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   937
		return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   938
        }    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   939
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   940
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   941
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   942
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   943
// RTestVclnt2Viewport
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   944
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   945
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   946
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   947
 * RTestVclnt2Viewport::Constructor
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   948
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   949
RTestVclnt2Viewport::RTestVclnt2Viewport(const TDesC& aTestName,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   950
                                         const TDesC& aSectName,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   951
                                         const TDesC& aKeyName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   952
                                         const TSize& aViewportSize,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   953
                                         TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   954
    : RTestVclnt2PlayFile(aTestName, aSectName, aKeyName, aExpectedError),
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   955
      iViewportSize(aViewportSize)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   956
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   957
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   958
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   959
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   960
 * RTestVclnt2Viewport::NewL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   961
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   962
RTestVclnt2Viewport* RTestVclnt2Viewport::NewL(const TDesC& aTestName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   963
                                               const TDesC& aSectName,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   964
                                               const TDesC& aKeyName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   965
                                               const TSize& aViewportSize,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   966
                                               TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   967
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   968
    RTestVclnt2Viewport* self = new (ELeave) RTestVclnt2Viewport(aTestName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   969
                                                                 aSectName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   970
                                                                 aKeyName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   971
                                                                 aViewportSize,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   972
                                                                 aExpectedError); 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   973
    return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   974
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   975
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   976
void RTestVclnt2Viewport::HandlePrepareCompleteL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   977
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   978
	// retrive original video size
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   979
    TSize videoSize;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   980
    iVideoPlayer2->VideoFrameSizeL(videoSize);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   981
        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   982
    // crop the top left quarter of the video
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   983
    TRect cropRegion;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   984
    if (iTestStepName.CompareF(_L("MM-MMF-VCLNTAVI-I-0508")) == 0)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   985
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   986
        // Crop the right half of the video
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   987
        cropRegion.SetHeight(videoSize.iHeight);        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   988
        cropRegion.SetWidth(videoSize.iWidth / 2);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   989
        cropRegion.Move(cropRegion.Width(), 0);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   990
        }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   991
    else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   992
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   993
        cropRegion.SetWidth(iViewportSize.iWidth == -1 ? videoSize.iWidth : iViewportSize.iWidth);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   994
        cropRegion.SetHeight(iViewportSize.iHeight == -1 ? videoSize.iHeight : iViewportSize.iHeight);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   995
        }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   996
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   997
    TRect videoExtentRect;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   998
    TRect clipRegion;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   999
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1000
    if (iTestStepName.CompareF(_L("MM-MMF-VCLNTAVI-I-0508")) == 0)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1001
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1002
        videoExtentRect.SetRect(TPoint(0, 0), videoSize);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1003
        clipRegion.SetRect(TPoint(0, 0), videoSize); 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1004
        clipRegion.SetWidth(clipRegion.Width() / 2);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1005
        clipRegion.Move(clipRegion.Width(), 0);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1006
        }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1007
    else 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1008
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1009
        // Calculate the video extent to be exactly the same size as the cropped video picture, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1010
        // placed at the center of the window
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1011
        TInt offsetX = (iWindow->Size().iWidth - cropRegion.Width()) / 2;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1012
        TInt offsetY = (iWindow->Size().iHeight - cropRegion.Height()) / 2;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1013
        videoExtentRect.SetRect(TPoint(offsetX, offsetY), cropRegion.Size());                    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1014
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1015
        // Set the window clipping region to the top vertical half of the cropped image, originating
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1016
        // from the top left corner of the window                    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1017
        clipRegion = videoExtentRect;                    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1018
        clipRegion.SetHeight(videoExtentRect.Height() / 2);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1019
        }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1020
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1021
    HandlePrepareCompleteL(cropRegion, videoExtentRect, clipRegion);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1022
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1023
    if (iTestStepName.CompareF(_L("MM-MMF-VCLNTAVI-I-0508")) == 0)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1024
    	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1025
    	// Align the image to the left of the window
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1026
        iVideoPlayer2->SetAutoScaleL(*iWindow, EAutoScaleNone, EHorizontalAlignLeft, 0);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1027
    	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1028
    // trigger the video to start playing                
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1029
    StartPlayback();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1030
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1031
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1032
void RTestVclnt2Viewport::HandlePrepareCompleteL(const TRect& aCropRegion, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1033
                                                 const TRect& aVideoExtent, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1034
                                                 const TRect& aClipRect)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1035
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1036
    iVideoPlayer2->SetCropRegionL(aCropRegion);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1037
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1038
    // get the video crop region to ensure the crop region is set
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1039
    TRect currentCropRegion;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1040
    iVideoPlayer2->GetCropRegionL(currentCropRegion);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1041
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1042
    if (currentCropRegion != aCropRegion)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1043
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1044
        ERR_PRINTF1(_L("iVideoPlayer2->GetCropRegionL() returns an unexpected value.  Test aborted."));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1045
        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1046
		iTestStepResult = EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1047
		CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1048
        }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1049
        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1050
    iVideoPlayer2->AddDisplayWindowL(iWs, *iScreen, *iWindow, aVideoExtent, aClipRect);                    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1051
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1052
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1053
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1054
// RTestVclnt2InvalidViewport
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1055
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1056
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1057
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1058
 * RTestVclnt2InvalidViewport::Constructor
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1059
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1060
RTestVclnt2InvalidViewport::RTestVclnt2InvalidViewport(const TDesC& aTestName,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1061
                                                       const TDesC& aSectName,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1062
                                                       const TDesC& aKeyName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1063
                                                       TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1064
    : RTestVclnt2PlayFile(aTestName, aSectName, aKeyName, aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1065
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1066
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1067
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1068
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1069
 * RTestVclnt2InvalidViewport::NewL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1070
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1071
RTestVclnt2InvalidViewport* RTestVclnt2InvalidViewport::NewL(const TDesC& aTestName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1072
                                                             const TDesC& aSectName,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1073
                                                             const TDesC& aKeyName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1074
                                                             TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1075
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1076
    RTestVclnt2InvalidViewport* self = new (ELeave) RTestVclnt2InvalidViewport(aTestName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1077
                                                                               aSectName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1078
                                                                               aKeyName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1079
                                                                               aExpectedError); 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1080
    return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1081
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1082
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1083
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1084
 * RTestVclnt2InvalidViewport::HandlePrepareCompleteL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1085
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1086
void RTestVclnt2InvalidViewport::HandlePrepareCompleteL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1087
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1088
	// retrive original video size
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1089
    TSize videoSize;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1090
    iVideoPlayer2->VideoFrameSizeL(videoSize);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1091
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1092
    // set the crop region to be completely out of the video image bound 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1093
    TRect cropRegion;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1094
    cropRegion.SetRect(TPoint(videoSize.iWidth, videoSize.iHeight), TSize(100, 100));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1095
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1096
    // continue playback even if this fails
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1097
    TRAPD(err, iVideoPlayer2->SetCropRegionL(cropRegion));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1098
    if (err == iTestExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1099
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1100
        // the invalid crop area is not supposed to be set 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1101
        INFO_PRINTF1(_L("iVideoPlayer2->SetCropRegionL() returned expected.  Test continues."));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1102
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1103
        // reset the expected error.  Any error that appears after this should fail the test
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1104
        iTestExpectedError = KErrNone;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1105
        }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1106
    else 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1107
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1108
        // the invalid crop area is not supposed to be set 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1109
        ERR_PRINTF1(_L("iVideoPlayer2->SetCropRegionL() didn't leave with expected error.  Test cannot be continued."));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1110
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1111
		iTestStepResult = EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1112
		CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1113
		return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1114
        }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1115
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1116
    // get the video crop region to ensure the crop region is set
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1117
    TRect currentCropRegion;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1118
    iVideoPlayer2->GetCropRegionL(currentCropRegion);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1119
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1120
    if (currentCropRegion != cropRegion)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1121
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1122
        // the invalid crop area is not supposed to be set 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1123
        ERR_PRINTF1(_L("iVideoPlayer2->GetCropRegionL() returns an unexpected value.  Test cannot be continued."));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1124
        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1125
		iTestStepResult = EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1126
		CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1127
		return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1128
        }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1129
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1130
    // setup the display then trigger the video to start playing
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1131
    RTestVclnt2PlayFile::HandlePrepareCompleteL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1132
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1133
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1134
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1135
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1136
// RTestVclnt2Rotation
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1137
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1138
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1139
 * RTestVclnt2Rotation::Constructor
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1140
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1141
RTestVclnt2Rotation::RTestVclnt2Rotation(const TDesC& aTestName,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1142
                                         const TDesC& aSectName,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1143
                                         const TDesC& aKeyName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1144
                                         TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1145
    : RTestVclnt2PlayFile(aTestName, aSectName, aKeyName, aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1146
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1147
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1148
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1149
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1150
 * RTestVclnt2Rotation::NewL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1151
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1152
RTestVclnt2Rotation* RTestVclnt2Rotation::NewL(const TDesC& aTestName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1153
                                               const TDesC& aSectName,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1154
                                               const TDesC& aKeyName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1155
                                               TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1156
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1157
    RTestVclnt2Rotation* self = new (ELeave) RTestVclnt2Rotation(aTestName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1158
                                                                 aSectName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1159
                                                                 aKeyName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1160
                                                                 aExpectedError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1161
    return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1162
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1163
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1164
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1165
 * RTestVclnt2Rotation::HandlePrepareCompleteL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1166
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1167
void RTestVclnt2Rotation::HandlePrepareCompleteL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1168
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1169
    // call parent's HandlePrepareCompleteL to finish off all preparation
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1170
    RTestVclnt2PlayFile::HandlePrepareCompleteL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1171
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1172
    // set the video to be displayed upside-down
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1173
    TVideoRotation videoRotation(EVideoRotationClockwise180);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1174
    iVideoPlayer2->SetRotationL(*iWindow, videoRotation);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1175
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1176
    // retrieve the rotation setting, and check if it's been properly updated
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1177
    if (iVideoPlayer2->RotationL(*iWindow) != videoRotation)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1178
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1179
        ERR_PRINTF1(_L("iVideoPlayer2->RotationL() returns an unexpected value.  Test aborted."));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1180
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1181
		iTestStepResult = EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1182
		CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1183
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1184
		return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1185
        }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1186
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1187
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1188
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1189
// RTestVclnt2Settings
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1190
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1191
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1192
 * RTestVclnt2Settings::Constructor
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1193
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1194
RTestVclnt2Settings::RTestVclnt2Settings(const TDesC& aTestName,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1195
                                         const TDesC& aSectName,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1196
                                         const TDesC& aKeyName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1197
                                         TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1198
    : RTestVclnt2PlayFile(aTestName, aSectName, aKeyName, aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1199
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1200
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1201
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1202
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1203
 * RTestVclnt2Settings::NewL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1204
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1205
RTestVclnt2Settings* RTestVclnt2Settings::NewL(const TDesC& aTestName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1206
                                               const TDesC& aSectName,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1207
                                               const TDesC& aKeyName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1208
                                               TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1209
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1210
    RTestVclnt2Settings* self = new (ELeave) RTestVclnt2Settings(aTestName, aSectName, aKeyName, aExpectedError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1211
    return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1212
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1213
   
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1214
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1215
 * RTestVclnt2Settings::HandlePrepareCompleteL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1216
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1217
void RTestVclnt2Settings::HandlePrepareCompleteL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1218
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1219
    // retrieve the current frame size
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1220
    TSize frameSize;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1221
    iVideoPlayer2->VideoFrameSizeL(frameSize);    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1222
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1223
    TRect cropRegion(frameSize);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1224
    // shrink the crop region to half its original height
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1225
    cropRegion.SetHeight(cropRegion.Height() / 2);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1226
    iVideoPlayer2->SetCropRegionL(cropRegion);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1227
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1228
    TRect videoExtentRect;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1229
    videoExtentRect.SetWidth(cropRegion.Width());
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1230
    videoExtentRect.SetHeight(cropRegion.Height());
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1231
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1232
    videoExtentRect.Move((iWindow->Size().iWidth - videoExtentRect.Width()) / 2,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1233
                         (iWindow->Size().iHeight - videoExtentRect.Height()) / 2); 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1234
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1235
    TRect clippingRect(videoExtentRect);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1236
    clippingRect.SetWidth(clippingRect.Height() / 2);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1237
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1238
    // add display window using this valid clipping rect 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1239
    iVideoPlayer2->AddDisplayWindowL(iWs, *iScreen, *iWindow, videoExtentRect, clippingRect);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1240
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1241
 	// Scale the movie with best fit scaling, and vertically center the picture
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1242
    iVideoPlayer2->SetAutoScaleL(*iWindow, EAutoScaleBestFit);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1243
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1244
    // Start video playback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1245
    StartPlayback();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1246
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1247
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1248
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1249
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1250
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1251
// RTestVclnt2SettingsAndAlignments
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1252
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1253
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1254
 * RTestVclnt2SettingsAndAlignments::Constructor
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1255
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1256
RTestVclnt2SettingsAndAlignments::RTestVclnt2SettingsAndAlignments(const TDesC& aTestName,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1257
                                                                   const TDesC& aSectName,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1258
                                                                   const TDesC& aKeyName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1259
                                                                   TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1260
    : RTestVclnt2PlayFile(aTestName, aSectName, aKeyName, aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1261
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1262
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1263
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1264
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1265
 * RTestVclnt2SettingsAndAlignments::NewL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1266
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1267
RTestVclnt2SettingsAndAlignments* RTestVclnt2SettingsAndAlignments::NewL(const TDesC& aTestName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1268
                                                                         const TDesC& aSectName,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1269
                                                                         const TDesC& aKeyName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1270
                                                                         TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1271
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1272
    RTestVclnt2SettingsAndAlignments* self = new (ELeave) RTestVclnt2SettingsAndAlignments(aTestName, aSectName, aKeyName, aExpectedError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1273
    return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1274
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1275
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1276
TVerdict RTestVclnt2SettingsAndAlignments::DoTestStepPreambleL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1277
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1278
	iCount = 0;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1279
	return RTestVclnt2PlayFile::DoTestStepPreambleL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1280
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1281
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1282
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1283
 * RTestVclnt2SettingsAndAlignments::HandlePrepareCompleteL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1284
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1285
void RTestVclnt2SettingsAndAlignments::HandlePrepareCompleteL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1286
    {    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1287
    TRect cropRegion;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1288
    SetCropRegionL(cropRegion);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1289
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1290
	AddDisplayWindowL(cropRegion);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1291
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1292
    if (iTestStepName.CompareF(_L("MM-MMF-VCLNTAVI-I-0418")) == 0)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1293
        {            
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1294
        SetContentOffsetL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1295
        }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1296
    else if (iTestStepName.CompareF(_L("MM-MMF-VCLNTAVI-I-0419")) == 0)        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1297
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1298
        SetContentAlignmentL();            
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1299
        }        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1300
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1301
    SetScaleFactorL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1302
       
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1303
    // Start video playback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1304
    StartPlayback();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1305
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1306
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1307
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1308
 * RTestVclnt2SettingsAndAlignments::HandlePlayCompleteL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1309
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1310
void RTestVclnt2SettingsAndAlignments::HandlePlayCompleteL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1311
    {    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1312
    iCount++;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1313
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1314
    if (iCount == KSettingsAndAlignmentTest)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1315
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1316
    	iTestStepResult = EPass;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1317
    	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1318
        }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1319
    else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1320
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1321
        HandlePrepareCompleteL();                                
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1322
        }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1323
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1324
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1325
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1326
 * RTestVclnt2SettingsAndAlignments::SetCropRegionL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1327
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1328
void RTestVclnt2SettingsAndAlignments::SetCropRegionL(TRect& aCropRegion)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1329
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1330
    // retrieve the current frame size
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1331
    TSize frameSize;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1332
    iVideoPlayer2->VideoFrameSizeL(frameSize);    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1333
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1334
    // Framesize is used in this case as crop region is not returning default values
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1335
    aCropRegion.SetRect(TPoint(0, 0), frameSize);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1336
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1337
    // set the crop region 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1338
    switch (iCount % KSettingsAndAlignmentTest)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1339
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1340
        case 0:                
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1341
            // set the crop region to the top half of the image
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1342
            aCropRegion.SetHeight(aCropRegion.Height() / 2);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1343
            iVideoPlayer2->SetCropRegionL(aCropRegion);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1344
            break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1345
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1346
        case 1:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1347
            // set the crop region to the left half of the image
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1348
            aCropRegion.SetWidth(aCropRegion.Width() / 2);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1349
            iVideoPlayer2->SetCropRegionL(aCropRegion);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1350
            break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1351
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1352
        default:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1353
            // set the crop region to the bottom, right quarter of the image
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1354
            aCropRegion.SetHeight(aCropRegion.Height() / 2);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1355
            aCropRegion.SetWidth(aCropRegion.Width() / 2);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1356
            aCropRegion.Move(aCropRegion.Width(), aCropRegion.Height());                        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1357
            iVideoPlayer2->SetCropRegionL(aCropRegion);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1358
            break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1359
        }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1360
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1361
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1362
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1363
 * RTestVclnt2SettingsAndAlignments::SetContentOffsetL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1364
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1365
void RTestVclnt2SettingsAndAlignments::SetContentOffsetL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1366
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1367
    switch (iCount % KSettingsAndAlignmentTest)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1368
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1369
        case 0:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1370
            iVideoPlayer2->SetAutoScaleL(*iWindow, EAutoScaleNone, 0, 100);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1371
            break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1372
        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1373
        case 1:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1374
            iVideoPlayer2->SetAutoScaleL(*iWindow, EAutoScaleNone, 100, 0);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1375
            break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1376
        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1377
        default:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1378
            iVideoPlayer2->SetAutoScaleL(*iWindow, EAutoScaleNone, 100, 100);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1379
            break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1380
        }    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1381
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1382
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1383
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1384
 * RTestVclnt2SettingsAndAlignments::SetContentAlignmentL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1385
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1386
void RTestVclnt2SettingsAndAlignments::SetContentAlignmentL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1387
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1388
    switch (iCount % KSettingsAndAlignmentTest)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1389
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1390
        case 0:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1391
            iVideoPlayer2->SetAutoScaleL(*iWindow, EAutoScaleNone, 0, EVerticalAlignCenter);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1392
            break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1393
        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1394
        case 1:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1395
            iVideoPlayer2->SetAutoScaleL(*iWindow, EAutoScaleNone, EHorizontalAlignCenter, 0);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1396
            break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1397
        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1398
        default:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1399
            iVideoPlayer2->SetAutoScaleL(*iWindow, EAutoScaleNone, EHorizontalAlignCenter, EVerticalAlignCenter);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1400
            break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1401
        }    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1402
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1403
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1404
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1405
 * RTestVclnt2SettingsAndAlignments::SetScaleFactorL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1406
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1407
void RTestVclnt2SettingsAndAlignments::SetScaleFactorL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1408
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1409
    switch (iCount % KSettingsAndAlignmentTest)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1410
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1411
        case 0:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1412
            iVideoPlayer2->SetScaleFactorL(*iWindow, 1, 200);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1413
            break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1414
        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1415
        case 1:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1416
            iVideoPlayer2->SetScaleFactorL(*iWindow, 200, 1);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1417
            break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1418
        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1419
        default:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1420
            iVideoPlayer2->SetScaleFactorL(*iWindow, 200, 200);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1421
            break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1422
        }    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1423
    }    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1424
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1425
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1426
 * RTestVclnt2SettingsAndAlignments::AddDisplayWindowL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1427
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1428
void RTestVclnt2SettingsAndAlignments::AddDisplayWindowL(const TRect& aCropRegion)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1429
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1430
    TRect videoExtentRect(iWindow->Size());
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1431
    TRect clippingRect(iWindow->Size());
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1432
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1433
    switch (iCount % KSettingsAndAlignmentTest)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1434
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1435
        case 0:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1436
            videoExtentRect.SetWidth(aCropRegion.Width());
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1437
            if (iWindow->Size().iWidth > videoExtentRect.Width())
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1438
                {                    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1439
                videoExtentRect.Move((iWindow->Size().iWidth - videoExtentRect.Width()) / 2, 0);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1440
                }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1441
            clippingRect = videoExtentRect;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1442
            break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1443
            
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1444
        case 1:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1445
            videoExtentRect.SetHeight(aCropRegion.Height());
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1446
            if (iWindow->Size().iHeight > videoExtentRect.Height())
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1447
                {                    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1448
                videoExtentRect.Move(0, (iWindow->Size().iHeight - videoExtentRect.Height()) / 2);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1449
                }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1450
            clippingRect = videoExtentRect;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1451
            break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1452
            
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1453
        default:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1454
            clippingRect.SetHeight(clippingRect.Height() / 2);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1455
            clippingRect.SetWidth(clippingRect.Width() / 2);            
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1456
            clippingRect.Move(clippingRect.Width(), clippingRect.Height());            
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1457
            break;                        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1458
        }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1459
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1460
    iVideoPlayer2->RemoveDisplayWindow(*iWindow);    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1461
    iVideoPlayer2->AddDisplayWindowL(iWs, *iScreen, *iWindow, videoExtentRect, clippingRect);    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1462
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1463
       
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1464
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1465
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1466
// RTestVclnt2SecDisplay
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1467
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1468
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1469
 * RTestVclnt2SecDisplay::Constructor
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1470
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1471
RTestVclnt2SecDisplay::RTestVclnt2SecDisplay(const TDesC& aTestName,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1472
                                             const TDesC& aSectName,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1473
                                             const TDesC& aKeyName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1474
                                             TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1475
    : RTestVclnt2PlayFile(aTestName, aSectName, aKeyName, aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1476
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1477
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1478
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1479
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1480
 * RTestVclnt2SecDisplay::NewL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1481
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1482
RTestVclnt2SecDisplay* RTestVclnt2SecDisplay::NewL(const TDesC& aTestName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1483
                                                   const TDesC& aSectName,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1484
                                                   const TDesC& aKeyName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1485
                                                   TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1486
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1487
    RTestVclnt2SecDisplay* self = new (ELeave) RTestVclnt2SecDisplay(aTestName, aSectName, aKeyName, aExpectedError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1488
    return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1489
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1490
   
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1491
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1492
 * RTestVclnt2SecDisplay::DoTestStepPreambleL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1493
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1494
TVerdict RTestVclnt2SecDisplay::DoTestStepPreambleL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1495
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1496
    TVerdict verdict = RTestVclnt2PlayFile::DoTestStepPreambleL();    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1497
    if (verdict == EPass)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1498
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1499
        // make a 2nd device for this session
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1500
        iSecondScreen = new (ELeave) CWsScreenDevice(iWs); 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1501
        User::LeaveIfError(iSecondScreen->Construct()); 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1502
        }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1503
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1504
    return verdict;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1505
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1506
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1507
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1508
 * RTestVclnt2SecDisplay::DoTestStepPostambleL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1509
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1510
TVerdict RTestVclnt2SecDisplay::DoTestStepPostambleL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1511
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1512
    delete iSecondScreen;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1513
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1514
    return EPass;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1515
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1516
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1517
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1518
 * RTestVclnt2SecDisplay::HandlePrepareCompleteL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1519
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1520
void RTestVclnt2SecDisplay::HandlePrepareCompleteL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1521
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1522
	// Add display window using default values - ie. video extent & window clipping 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1523
	// defaulted to whole window
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1524
	INFO_PRINTF1(_L("iVideoPlayer2->AddDisplayWindowL()"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1525
	iVideoPlayer2->AddDisplayWindowL(iWs, *iSecondScreen, *iWindow);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1526
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1527
    // trigger the video to start playing                
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1528
    StartPlayback();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1529
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1530
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1531
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1532
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1533
// RTestVclnt2CropRectPause
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1534
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1535
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1536
 * RTestVclnt2CropRectPause::Constructor
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1537
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1538
RTestVclnt2CropRectPause::RTestVclnt2CropRectPause(const TDesC& aTestName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1539
                                                   const TDesC& aSectName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1540
                                                   const TDesC& aKeyName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1541
                                                   TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1542
    : RTestVclnt2PerformActionDuringVideoPlayback(aTestName, aSectName, aKeyName, aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1543
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1544
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1545
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1546
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1547
 * RTestVclnt2CropRectPause::NewL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1548
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1549
RTestVclnt2CropRectPause* RTestVclnt2CropRectPause::NewL(const TDesC& aTestName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1550
                                                         const TDesC& aSectName,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1551
                                                         const TDesC& aKeyName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1552
                                                         TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1553
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1554
    RTestVclnt2CropRectPause* self 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1555
        = new (ELeave) RTestVclnt2CropRectPause(aTestName, aSectName, aKeyName, aExpectedError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1556
    return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1557
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1558
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1559
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1560
 * RTestVclnt2CropRectPause::DoThisActionDuringPlaybackL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1561
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1562
void RTestVclnt2CropRectPause::DoThisActionDuringPlaybackL(CVideoPlayerUtility2& aPlayer)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1563
    {    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1564
    TRect cropRegion;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1565
	aPlayer.GetCropRegionL(cropRegion);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1566
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1567
	// change the crop region and continue to play the clip
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1568
	cropRegion.SetHeight(cropRegion.Height() / 2);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1569
    aPlayer.SetCropRegionL(cropRegion);    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1570
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1571
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1572
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1573
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1574
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1575
// RTestVclnt2Overlay
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1576
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1577
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1578
 * RTestVclnt2Overlay::Constructor
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1579
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1580
RTestVclnt2Overlay::RTestVclnt2Overlay(const TDesC& aTestName,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1581
                                       const TDesC& aSectName,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1582
                                       const TDesC& aKeyName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1583
                                       TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1584
    : RTestVclnt2PlayFile(aTestName, aSectName, aKeyName, aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1585
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1586
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1587
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1588
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1589
 * RTestVclnt2Overlay::NewL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1590
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1591
RTestVclnt2Overlay* RTestVclnt2Overlay::NewL(const TDesC& aTestName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1592
                                             const TDesC& aSectName,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1593
                                             const TDesC& aKeyName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1594
                                             TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1595
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1596
    RTestVclnt2Overlay* self = new (ELeave) RTestVclnt2Overlay(aTestName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1597
                                                               aSectName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1598
                                                               aKeyName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1599
                                                               aExpectedError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1600
    return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1601
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1602
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1603
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1604
 * RTestVclnt2Overlay::DoTestStepPreambleL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1605
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1606
TVerdict RTestVclnt2Overlay::DoTestStepPreambleL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1607
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1608
    TVerdict verdict = RTestVclnt2PlayFile::DoTestStepPreambleL();    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1609
    if (verdict == EPass)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1610
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1611
        TFontSpec fontSpec; // use default fonts
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1612
        fontSpec.iHeight = 20;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1613
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1614
        // Get a font to draw overlay text
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1615
        if (iScreen->GetNearestFontToDesignHeightInPixels(iFont, fontSpec) != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1616
            {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1617
            // if no font can be retrieved, abort the test
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1618
            ERR_PRINTF1(_L("Cannot retrieve font to perform test.  Test aborted."));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1619
            
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1620
    		return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1621
            }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1622
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1623
        iGc->Activate(*iWindow);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1624
        iGc->UseFont(iFont);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1625
        }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1626
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1627
    return verdict;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1628
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1629
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1630
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1631
 * RTestVclnt2Overlay::DoTestStepPostambleL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1632
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1633
TVerdict RTestVclnt2Overlay::DoTestStepPostambleL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1634
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1635
    iGc->DiscardFont();    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1636
    iGc->Deactivate();                    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1637
               
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1638
    return RTestVclnt2PlayFile::DoTestStepPostambleL();        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1639
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1640
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1641
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1642
 * RTestVclnt2Overlay::HandlePrepareCompleteL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1643
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1644
void RTestVclnt2Overlay::HandlePrepareCompleteL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1645
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1646
    TRect rect(iWindow->Size());
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1647
    TInt baseline = (rect.Height() + iFont->AscentInPixels()) >> 1;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1648
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1649
    // Draw the overlay text if needed
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1650
    iGc->SetBrushStyle(CGraphicsContext::ENullBrush);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1651
    iGc->SetBrushColor(KRgbRed);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1652
         
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1653
    iGc->SetPenStyle(CGraphicsContext::ESolidPen);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1654
    iGc->SetPenColor(KRgbBlue);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1655
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1656
    iGc->DrawText(_L("Overlay Testing"), rect, baseline, CGraphicsContext::ELeft);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1657
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1658
    // setup the display window and trigger the video to start playing
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1659
    RTestVclnt2PlayFile::HandlePrepareCompleteL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1660
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1661
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1662
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1663
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1664
// RTestVclnt2AddWin2
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1665
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1666
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1667
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1668
 * RTestVclnt2AddWin2::Constructor
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1669
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1670
RTestVclnt2AddWin2::RTestVclnt2AddWin2(const TDesC& aTestName,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1671
                                       const TDesC& aSectName,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1672
                                       const TDesC& aKeyName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1673
                                       TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1674
    : RTestVclnt2PlayFile(aTestName, aSectName, aKeyName, aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1675
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1676
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1677
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1678
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1679
 * RTestVclnt2AddWin2::NewL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1680
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1681
RTestVclnt2AddWin2* RTestVclnt2AddWin2::NewL(const TDesC& aTestName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1682
                                             const TDesC& aSectName,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1683
                                             const TDesC& aKeyName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1684
                                             TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1685
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1686
    RTestVclnt2AddWin2* self = new (ELeave) RTestVclnt2AddWin2(aTestName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1687
                                                               aSectName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1688
                                                               aKeyName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1689
                                                               aExpectedError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1690
    return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1691
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1692
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1693
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1694
 * RTestVclnt2AddWin2::HandlePrepareCompleteL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1695
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1696
void RTestVclnt2AddWin2::HandlePrepareCompleteL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1697
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1698
    // add the display window for the player to use for displaying the video
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1699
    iVideoPlayer2->AddDisplayWindowL(iWs, *iScreen, *iWindow);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1700
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1701
    // Add the same display window again
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1702
    TRAPD(err, iVideoPlayer2->AddDisplayWindowL(iWs, *iScreen, *iWindow));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1703
    if (err != iTestExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1704
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1705
        ERR_PRINTF1(_L("iVideoPlayer2->AddDisplayWindowL() leaves with an unexpected error.  Test failed."));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1706
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1707
		iTestStepResult = EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1708
		CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1709
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1710
		return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1711
        }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1712
    else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1713
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1714
        INFO_PRINTF1(_L("iVideoPlayer2->AddDisplayWindowL() leaves with an expected error.  Test continues."));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1715
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1716
        // reset the expected error.  Any error that appears after this should fail the test
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1717
        iTestExpectedError = KErrNone;        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1718
        }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1719
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1720
    // trigger the video to start playing
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1721
    StartPlayback();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1722
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1723
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1724
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1725
// RTestVclnt2AddWin2WithSettings
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1726
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1727
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1728
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1729
 * RTestVclnt2AddWin2WithSettings::Constructor
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1730
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1731
RTestVclnt2AddWin2WithSettings::RTestVclnt2AddWin2WithSettings(const TDesC& aTestName,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1732
                                                               const TDesC& aSectName,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1733
                                                               const TDesC& aKeyName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1734
                                                               TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1735
    : RTestVclnt2PlayFile(aTestName, aSectName, aKeyName, aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1736
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1737
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1738
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1739
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1740
 * RTestVclnt2AddWin2WithSettings::NewL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1741
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1742
RTestVclnt2AddWin2WithSettings* RTestVclnt2AddWin2WithSettings::NewL(const TDesC& aTestName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1743
                                                                     const TDesC& aSectName,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1744
                                                                     const TDesC& aKeyName,     
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1745
                                                                     TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1746
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1747
    RTestVclnt2AddWin2WithSettings* self = new (ELeave) RTestVclnt2AddWin2WithSettings(aTestName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1748
                                                                                       aSectName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1749
                                                                                       aKeyName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1750
                                                                                       aExpectedError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1751
    return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1752
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1753
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1754
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1755
 * RTestVclnt2AddWin2WithSettings::HandlePrepareCompleteL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1756
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1757
void RTestVclnt2AddWin2WithSettings::HandlePrepareCompleteL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1758
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1759
	TRect windowRect(iWindow->Size());
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1760
	windowRect.SetHeight(windowRect.Height() / 2);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1761
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1762
	iVideoPlayer2->AddDisplayWindowL(iWs, *iScreen, *iWindow, windowRect, windowRect);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1763
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1764
	// Add the same display window again with default values
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1765
	TRAPD(err, iVideoPlayer2->AddDisplayWindowL(iWs, *iScreen, *iWindow));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1766
	if (err != iTestExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1767
	    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1768
	    ERR_PRINTF1(_L("iVideoPlayer2->AddDisplayWindowL() leaves with an unexpected error.  Test failed."));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1769
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1770
		iTestStepResult = EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1771
		CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1772
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1773
		return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1774
	    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1775
    else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1776
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1777
        INFO_PRINTF1(_L("iVideoPlayer2->AddDisplayWindowL() leaves with an expected error.  Test continues."));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1778
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1779
        // reset the expected error.  Any error that appears after this should fail the test
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1780
        iTestExpectedError = KErrNone;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1781
	    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1782
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1783
	// trigger the video to start playing
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1784
    StartPlayback();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1785
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1786
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1787
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1788
// RTestVclnt2ContOffset
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1789
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1790
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1791
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1792
 * RTestVclnt2ContOffset::Constructor
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1793
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1794
RTestVclnt2ContOffset::RTestVclnt2ContOffset(const TDesC& aTestName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1795
                                             const TDesC& aSectName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1796
                                             const TDesC& aKeyName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1797
                                             TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1798
    : RTestVclnt2PlayFile(aTestName, aSectName, aKeyName, aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1799
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1800
    iHeapSize = 2000000; //~2MB
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1801
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1802
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1803
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1804
 * RTestVclnt2ContOffset::NewL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1805
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1806
RTestVclnt2ContOffset* RTestVclnt2ContOffset::NewL(const TDesC& aTestName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1807
                                                   const TDesC& aSectName,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1808
                                                   const TDesC& aKeyName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1809
                                                   TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1810
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1811
    RTestVclnt2ContOffset* self = new (ELeave) RTestVclnt2ContOffset(aTestName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1812
                                                                     aSectName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1813
                                                                     aKeyName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1814
                                                                     aExpectedError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1815
    return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1816
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1817
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1818
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1819
 * RTestVclnt2ContOffset::HandlePrepareCompleteL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1820
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1821
void RTestVclnt2ContOffset::HandlePrepareCompleteL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1822
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1823
    // call parent's HandlePrepareCompleteL to finish off all preparation    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1824
	RTestVclnt2PlayFile::HandlePrepareCompleteL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1825
    // Set the content offset before starting to play the video.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1826
    INFO_PRINTF1(_L("iVideoPlayer2->SetAutoScale()"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1827
    iVideoPlayer2->SetAutoScaleL(*iWindow, EAutoScaleNone, 100, 100);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1828
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1829
    if (iTestStepName.CompareF(_L("MM-MMF-VCLNTAVI-I-0409")) == 0)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1830
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1831
        // Set the content alignment after setting the content offset
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1832
        iVideoPlayer2->SetAutoScaleL(*iWindow, EAutoScaleNone, EHorizontalAlignLeft, EVerticalAlignTop);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1833
        }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1834
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1835
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1836
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1837
// RTestVclnt2ContOffsetAtPlay
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1838
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1839
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1840
 * RTestVclnt2ContOffsetAtPlay::Constructor
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1841
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1842
RTestVclnt2ContOffsetAtPlay::RTestVclnt2ContOffsetAtPlay(const TDesC& aTestName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1843
                                                         const TDesC& aSectName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1844
                                                         const TDesC& aKeyName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1845
                                                         TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1846
    : RTestVclnt2PerformActionDuringVideoPlayback(aTestName, aSectName, aKeyName, aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1847
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1848
    iHeapSize = 2000000; //~2MB
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1849
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1850
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1851
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1852
 * RTestVclnt2ContOffsetAtPlay::NewL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1853
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1854
RTestVclnt2ContOffsetAtPlay* RTestVclnt2ContOffsetAtPlay::NewL(const TDesC& aTestName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1855
                                                               const TDesC& aSectName,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1856
                                                               const TDesC& aKeyName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1857
                                                               TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1858
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1859
    RTestVclnt2ContOffsetAtPlay* self = new (ELeave) RTestVclnt2ContOffsetAtPlay(aTestName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1860
                                                                                 aSectName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1861
                                                                                 aKeyName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1862
                                                                                 aExpectedError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1863
    return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1864
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1865
        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1866
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1867
 * RTestVclnt2ContOffsetAtPlay::DoThisActionDuringPlaybackL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1868
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1869
void RTestVclnt2ContOffsetAtPlay::DoThisActionDuringPlaybackL(CVideoPlayerUtility2& /* aPlayer */)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1870
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1871
    // Change the scale factor during playback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1872
	INFO_PRINTF1(_L("iVideoPlayer2->SetAutoScale()"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1873
	iVideoPlayer2->SetAutoScaleL(*iWindow, EAutoScaleNone, 10, 10);    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1874
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1875
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1876
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1877
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1878
// RTestVclnt2Align
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1879
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1880
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1881
 * RTestVclnt2Align::Constructor
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1882
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1883
RTestVclnt2Align::RTestVclnt2Align(const TDesC& aTestName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1884
                                   const TDesC& aSectName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1885
                                   const TDesC& aKeyName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1886
                                   TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1887
    : RTestVclnt2PerformActionDuringVideoPlayback(aTestName, aSectName, aKeyName, aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1888
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1889
    iHeapSize = 2000000; //~2MB
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1890
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1891
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1892
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1893
 * RTestVclnt2Align::NewL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1894
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1895
RTestVclnt2Align* RTestVclnt2Align::NewL(const TDesC& aTestName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1896
                                         const TDesC& aSectName,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1897
                                         const TDesC& aKeyName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1898
                                         TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1899
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1900
    RTestVclnt2Align* self = new (ELeave) RTestVclnt2Align(aTestName, aSectName, aKeyName, aExpectedError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1901
    return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1902
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1903
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1904
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1905
 * RTestVclnt2Align::HandlePrepareCompleteL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1906
 */ 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1907
void RTestVclnt2Align::HandlePrepareCompleteL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1908
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1909
    // Continue to setup the video utility and then trigger playback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1910
    RTestVclnt2PlayFile::HandlePrepareCompleteL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1911
	// Set the content offset before starting to play the video.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1912
    INFO_PRINTF1(_L("iVideoPlayer2->SetAutoScale()"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1913
    iVideoPlayer2->SetAutoScaleL(*iWindow, EAutoScaleNone, EHorizontalAlignCenter, EVerticalAlignCenter);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1914
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1915
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1916
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1917
 * RTestVclnt2Align::DoThisActionDuringPlaybackL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1918
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1919
void RTestVclnt2Align::DoThisActionDuringPlaybackL(CVideoPlayerUtility2& /* aPlayer */)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1920
    {    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1921
    iVideoPlayer2->SetAutoScaleL(*iWindow, EAutoScaleNone, EHorizontalAlignLeft, EVerticalAlignCenter);    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1922
    iVideoPlayer2->RemoveDisplayWindow(*iWindow);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1923
    iVideoPlayer2->AddDisplayWindowL(iWs, *iScreen, *iWindow, TRect(10, 10, 100, 100), TRect(0, 3, 4, 220));        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1924
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1925
    iVideoPlayer2->SetAutoScaleL(*iWindow, EAutoScaleNone, EHorizontalAlignRight, EVerticalAlignCenter);    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1926
    iVideoPlayer2->RemoveDisplayWindow(*iWindow);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1927
    iVideoPlayer2->AddDisplayWindowL(iWs, *iScreen, *iWindow);        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1928
        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1929
    iVideoPlayer2->SetAutoScaleL(*iWindow, EAutoScaleNone, EHorizontalAlignCenter, EVerticalAlignTop);    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1930
    iVideoPlayer2->RemoveDisplayWindow(*iWindow);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1931
    iVideoPlayer2->AddDisplayWindowL(iWs, *iScreen, *iWindow, TRect(10, 10, 100, 100), TRect(0, 5, 5, 200));        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1932
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1933
    iVideoPlayer2->SetAutoScaleL(*iWindow, EAutoScaleNone, EHorizontalAlignLeft, EVerticalAlignTop);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1934
    iVideoPlayer2->RemoveDisplayWindow(*iWindow);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1935
    iVideoPlayer2->AddDisplayWindowL(iWs, *iScreen, *iWindow);        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1936
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1937
    iVideoPlayer2->SetAutoScaleL(*iWindow, EAutoScaleNone, EHorizontalAlignRight, EVerticalAlignTop);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1938
    iVideoPlayer2->RemoveDisplayWindow(*iWindow);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1939
    iVideoPlayer2->AddDisplayWindowL(iWs, *iScreen, *iWindow, TRect(0, 0, 100, 100), TRect(0, 5, 5, 200));        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1940
        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1941
    iVideoPlayer2->SetAutoScaleL(*iWindow, EAutoScaleNone, EHorizontalAlignCenter, EVerticalAlignBottom);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1942
    iVideoPlayer2->RemoveDisplayWindow(*iWindow);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1943
    iVideoPlayer2->AddDisplayWindowL(iWs, *iScreen, *iWindow);        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1944
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1945
    iVideoPlayer2->SetAutoScaleL(*iWindow, EAutoScaleNone, EHorizontalAlignLeft, EVerticalAlignBottom);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1946
    iVideoPlayer2->RemoveDisplayWindow(*iWindow);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1947
    iVideoPlayer2->AddDisplayWindowL(iWs, *iScreen, *iWindow, TRect(0, 0, 100, 100), TRect(0, 5, 300, 230));        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1948
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1949
    iVideoPlayer2->SetAutoScaleL(*iWindow, EAutoScaleNone, EHorizontalAlignRight, EVerticalAlignBottom);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1950
    iVideoPlayer2->RemoveDisplayWindow(*iWindow);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1951
    iVideoPlayer2->AddDisplayWindowL(iWs, *iScreen, *iWindow);        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1952
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1953
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1954
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1955
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1956
// RTestVclnt2AutoScale
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1957
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1958
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1959
 * RTestVclnt2AutoScale::Constructor
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1960
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1961
RTestVclnt2AutoScale::RTestVclnt2AutoScale(const TDesC& aTestName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1962
                                           const TDesC& aSectName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1963
                                           const TDesC& aKeyName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1964
                                           TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1965
    : RTestVclnt2PerformActionDuringVideoPlayback(aTestName, aSectName, aKeyName, aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1966
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1967
    iHeapSize = 2000000; //~2MB
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1968
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1969
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1970
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1971
 * RTestVclnt2AutoScale::NewL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1972
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1973
RTestVclnt2AutoScale* RTestVclnt2AutoScale::NewL(const TDesC& aTestName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1974
                                                 const TDesC& aSectName,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1975
                                                 const TDesC& aKeyName, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1976
                                                 TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1977
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1978
    RTestVclnt2AutoScale* self = new (ELeave) RTestVclnt2AutoScale(aTestName, aSectName, aKeyName, aExpectedError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1979
    return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1980
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1981
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1982
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1983
 * RTestVclnt2AutoScale::HandlePrepareCompleteL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1984
 */ 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1985
void RTestVclnt2AutoScale::HandlePrepareCompleteL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1986
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1987
    iVideoPlayer2->AddDisplayWindowL(iWs, *iScreen, *iWindow);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1988
	// Set the content offset before starting to play the video.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1989
    INFO_PRINTF1(_L("iVideoPlayer2->SetAutoScale()"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1990
    iVideoPlayer2->SetAutoScaleL(*iWindow, EAutoScaleClip);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1991
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1992
    // trigger the video to start playing                
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1993
    StartPlayback();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1994
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1995
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1996
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1997
 * RTestVclnt2AutoScale::DoThisActionDuringPlaybackL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1998
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1999
void RTestVclnt2AutoScale::DoThisActionDuringPlaybackL(CVideoPlayerUtility2& aPlayer)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2000
    {    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2001
	aPlayer.SetAutoScaleL(*iWindow, EAutoScaleBestFit);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2002
	aPlayer.SetAutoScaleL(*iWindow, EAutoScaleNone);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2003
	aPlayer.SetAutoScaleL(*iWindow, EAutoScaleStretch);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2004
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2005
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2006
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2007
// RTestVclnt2OldController
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2008
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2009
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2010
RTestVclnt2OldController::RTestVclnt2OldController(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2011
	: RTestVclnt2PlayFile(aTestName, aSectName, aKeyName, aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2012
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2013
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2014
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2015
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2016
 * RTestVclnt2OldController::NewL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2017
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2018
RTestVclnt2OldController* RTestVclnt2OldController::NewL(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2019
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2020
    RTestVclnt2OldController* self = new (ELeave) RTestVclnt2OldController(aTestName, aSectName, aKeyName, aExpectedError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2021
    return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2022
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2023
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2024
void RTestVclnt2OldController::HandleIdleL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2025
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2026
	// Open iVideoPlayer using a controller that does not support surfaces. 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2027
    INFO_PRINTF2(_L("iVideoPlayer2->OpenFileL() %S"), &iFilename);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2028
    iVideoPlayer2->OpenFileL(iFilename, KMmfTestAviNonGcePlayControllerUid);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2029
    PrepareState(EVPOpenComplete, KErrNone);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2030
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2031
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2032
void RTestVclnt2OldController::HandlePrepareCompleteL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2033
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2034
	TRAPD(err, RTestVclnt2PlayFile::HandlePrepareCompleteL());
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2035
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2036
	if (err != KErrNotSupported)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2037
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2038
		ERR_PRINTF1(_L("AddDisplay did not leave with KErrNotSupported."));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2039
		iTestStepResult = EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2040
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2041
	else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2042
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2043
		iTestStepResult = EPass;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2044
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2045
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2046
	// Stop the test.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2047
	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2048
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2049
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2050
// RTestVclnt2NoFile
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2051
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2052
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2053
RTestVclnt2NoFile::RTestVclnt2NoFile(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2054
	: RTestVclnt2PlayFile(aTestName, aSectName, aKeyName, aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2055
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2056
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2057
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2058
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2059
 * RTestVclnt2NoFile::NewL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2060
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2061
RTestVclnt2NoFile* RTestVclnt2NoFile::NewL(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2062
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2063
    RTestVclnt2NoFile* self = new (ELeave) RTestVclnt2NoFile(aTestName, aSectName, aKeyName, aExpectedError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2064
    return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2065
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2066
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2067
void RTestVclnt2NoFile::HandleIdleL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2068
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2069
	iTestStepResult = EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2070
	TRAPD(err, iVideoPlayer2->AddDisplayWindowL(iWs, *iScreen, *iWindow));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2071
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2072
	if (err != iTestExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2073
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2074
		ERR_PRINTF1(_L("AddDisplayWindowL did not leave with KErrNotReady."));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2075
		User::Leave(KErrGeneral);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2076
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2077
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2078
	TSize windowSize = iWindow->Size();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2079
	TRect videoExtent(-5, -5, windowSize.iWidth + 5, windowSize.iHeight + 5);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2080
	TRect windowClipRect(5, 5, windowSize.iWidth - 5, windowSize.iHeight - 5);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2081
	TRAP(err, iVideoPlayer2->AddDisplayWindowL(iWs, *iScreen, *iWindow, videoExtent, windowClipRect));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2082
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2083
	if (err != iTestExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2084
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2085
		ERR_PRINTF1(_L("AddDisplayWindowL did not leave with KErrNotReady."));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2086
		User::Leave(KErrGeneral);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2087
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2088
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2089
	TRAP(err, iVideoPlayer2->SetWindowClipRectL(*iWindow, windowClipRect));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2090
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2091
	if (err != iTestExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2092
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2093
		ERR_PRINTF1(_L("SetWindowClipRectL did not leave with KErrNotReady."));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2094
		User::Leave(KErrGeneral);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2095
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2096
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2097
	TRAP(err, iVideoPlayer2->SetVideoExtentL(*iWindow, videoExtent));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2098
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2099
	if (err != iTestExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2100
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2101
		ERR_PRINTF1(_L("SetVideoExtentL did not leave with KErrNotReady."));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2102
		User::Leave(KErrGeneral);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2103
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2104
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2105
	// reset the expected error to KErrNone as any error happens after this is unexpected
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2106
    iTestExpectedError = KErrNone;	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2107
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2108
	// The video should still play when we try to play the video.  Perform 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2109
	// the basic play test now.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2110
	RTestVclnt2PlayFile::HandleIdleL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2111
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2112
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2113
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2114
// RTestVclnt2PlayAfterRemoveWin
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2115
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2116
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2117
RTestVclnt2PlayAfterRemoveWin::RTestVclnt2PlayAfterRemoveWin(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2118
	: RTestVclnt2PlayFile(aTestName, aSectName, aKeyName, aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2119
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2120
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2121
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2122
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2123
 * RTestVclnt2PlayAfterRemoveWin::NewL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2124
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2125
RTestVclnt2PlayAfterRemoveWin* RTestVclnt2PlayAfterRemoveWin::NewL(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2126
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2127
    RTestVclnt2PlayAfterRemoveWin* self = new (ELeave) RTestVclnt2PlayAfterRemoveWin(aTestName, aSectName, aKeyName, aExpectedError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2128
    return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2129
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2130
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2131
void RTestVclnt2PlayAfterRemoveWin::HandlePrepareCompleteL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2132
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2133
	// Don't add a window. Just play the video.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2134
	StartPlayback();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2135
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2136
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2137
void RTestVclnt2PlayAfterRemoveWin::HandlePlayCompleteL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2138
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2139
	switch(iPlayAttempt)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2140
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2141
	case 0:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2142
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2143
		TSize windowSize = iWindow->Size();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2144
		TRect videoExtent(-5, -5, windowSize.iWidth + 5, windowSize.iHeight + 5);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2145
		TRect windowClipRect(5, 5, windowSize.iWidth - 5, windowSize.iHeight - 5);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2146
		iVideoPlayer2->AddDisplayWindowL(iWs, *iScreen, *iWindow, videoExtent, windowClipRect);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2147
		iVideoPlayer2->RemoveDisplayWindow(*iWindow);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2148
		iVideoPlayer2->Play();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2149
		PrepareState(EVPPlayComplete, KErrNone);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2150
		break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2151
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2152
	case 1:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2153
		// Removing the window again should have no effect.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2154
		iVideoPlayer2->RemoveDisplayWindow(*iWindow);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2155
		iVideoPlayer2->Play();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2156
		PrepareState(EVPPlayComplete, KErrNone);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2157
		break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2158
	case 2:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2159
		// The previous play commands should have no effect when we try to add a 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2160
		// display window and render to surfaces. Use the base class to do this.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2161
		RTestVclnt2PlayFile::HandlePrepareCompleteL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2162
		break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2163
	default:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2164
		// Use the parent handler after we have tried the above play commands.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2165
		RTestVclnt2PlayFile::HandlePlayCompleteL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2166
		break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2167
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2168
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2169
	iPlayAttempt++;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2170
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2171
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2172
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2173
// RTestVclnt2NoGce
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2174
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2175
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2176
RTestVclnt2NoGce::RTestVclnt2NoGce(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2177
	: RTestVclnt2PlayFile(aTestName, aSectName, aKeyName, aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2178
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2179
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2180
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2181
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2182
 * RTestVclnt2NoGce::NewL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2183
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2184
RTestVclnt2NoGce* RTestVclnt2NoGce::NewL(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2185
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2186
    RTestVclnt2NoGce* self = new (ELeave) RTestVclnt2NoGce(aTestName, aSectName, aKeyName, aExpectedError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2187
    return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2188
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2189
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2190
void RTestVclnt2NoGce::HandleIdleL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2191
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2192
	// Open iVideoPlayer
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2193
    INFO_PRINTF2(_L("iVideoPlayer2->OpenFileL() %S"), &iFilename);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2194
    iVideoPlayer2->OpenFileL(iFilename, KMmfTestAviPlayControllerUid);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2195
    PrepareState(EVPOpenComplete, KErrNotSupported);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2196
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2197
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2198
void RTestVclnt2NoGce::HandleOpenCompleteL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2199
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2200
	iTestStepResult = EPass;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2201
	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2202
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2203
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2204
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2205
// RTestVclnt2Alloc
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2206
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2207
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2208
RTestVclnt2Alloc::RTestVclnt2Alloc(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2209
	: RTestVclnt2PlayFile(aTestName, aSectName, aKeyName, aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2210
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2211
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2212
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2213
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2214
 * RTestVclnt2Alloc::NewL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2215
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2216
RTestVclnt2Alloc* RTestVclnt2Alloc::NewL(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2217
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2218
    RTestVclnt2Alloc* self = new (ELeave) RTestVclnt2Alloc(aTestName, aSectName, aKeyName, aExpectedError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2219
    return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2220
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2221
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2222
TVerdict RTestVclnt2Alloc::DoTestStepPreambleL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2223
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2224
    INFO_PRINTF1(_L("RTestVclnt2Alloc::DoTestStepPreambleL()"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2225
        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2226
    // Call RTestMmfVclntAviStep::DoTestStepPreambleL instead of the immediate parent's 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2227
    // DoTestStepPreambleL as there is no need for CVideoPlayerUtility setup.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2228
    // Similarly, there is no need to initialize CVideoPlayerUtility2, as it will be
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2229
    // created in each alloc iteration.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2230
    return RTestMmfVclntAviStep::DoTestStepPreambleL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2231
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2232
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2233
TVerdict RTestVclnt2Alloc::PerformTestL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2234
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2235
	iVideoPlayer2 = CVideoPlayerUtility2::NewL(*this, EMdaPriorityNormal, EMdaPriorityPreferenceTimeAndQuality);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2236
	ResetState();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2237
	iError = KErrNone;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2238
	TVerdict result = RTestVclnt2AviPlayerStep::DoTestStepL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2239
	delete iVideoPlayer2;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2240
	iVideoPlayer2 = NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2241
	return result;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2242
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2243
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2244
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2245
 * RTestVclnt2Alloc::DoTestStepL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2246
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2247
TVerdict RTestVclnt2Alloc::DoTestStepL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2248
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2249
    TVerdict allocTestStepResult = EPass;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2250
    TInt err = KErrNone;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2251
    TBool result = EFalse;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2252
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2253
    //>>>>>>>>>>>>>>>>>>>>>>>>Test Method Call<<<<<<<<<<<<<<<<<<<<<<<<<<
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2254
    if (PerformTestL() != EPass)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2255
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2256
        err = iError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2257
        }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2258
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2259
    if (err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2260
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2261
        INFO_PRINTF2(_L("Test error, returned error code =  %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2262
        User::Leave(err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2263
        }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2264
    else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2265
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2266
        //Check the iAllocTestStepResult
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2267
        if (allocTestStepResult != EPass)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2268
            {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2269
            result = ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2270
            }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2271
        }    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2272
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2273
    TInt failCount = 1;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2274
    TBool completed = EFalse;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2275
    allocTestStepResult = EPass;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2276
    TBool reachedEnd = EFalse;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2277
    for(;;)    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2278
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2279
        __UHEAP_SETFAIL(RHeap::EFailNext, failCount);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2280
        __MM_HEAP_MARK;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2281
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2282
        //>>>>>>>>>>>>>>>>>>>>>>>>Test Method Call<<<<<<<<<<<<<<<<<<<<<<<<<<
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2283
        TVerdict verdict = EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2284
        TRAP(err, verdict = PerformTestL());
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2285
        if (err == KErrNone && verdict != EPass)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2286
            {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2287
            err = iError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2288
            }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2289
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2290
        completed = EFalse;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2291
        if (err == KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2292
            {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2293
            TAny* testAlloc = User::Alloc(1); // when this fails, we passed through all allocs within test
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2294
            if (testAlloc == NULL)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2295
                {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2296
                reachedEnd = ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2297
                failCount -= 1;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2298
                }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2299
            else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2300
                {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2301
                User::Free(testAlloc);    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2302
                }            
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2303
            
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2304
            //Check the iAllocTestStepResult
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2305
            if (allocTestStepResult != EPass)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2306
                {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2307
                result = ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2308
                }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2309
            
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2310
            completed = reachedEnd || result;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2311
            }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2312
        else if (err != KErrNoMemory) // bad error code
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2313
            {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2314
            completed = ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2315
            result = EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2316
            }            
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2317
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2318
        __MM_HEAP_MARKEND;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2319
        __UHEAP_SETFAIL(RHeap::ENone, 0);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2320
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2321
        if (completed)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2322
            {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2323
            break; // exit loop
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2324
            }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2325
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2326
        failCount++;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2327
        }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2328
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2329
    failCount -= 1; // Failcount of 1 equates to 0 successful allocs, etc
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2330
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2331
    if (err != KErrNone || result)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2332
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2333
        allocTestStepResult = EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2334
        TBuf<80> format;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2335
        if (result)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2336
            {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2337
            format.Format(_L("  Bad result with %d memory allocations tested\n"), failCount);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2338
            }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2339
        else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2340
            {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2341
            format.Format(_L("  Error(%d) with %d memory allocations tested\n"), err, failCount);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2342
            }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2343
        Log(format);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2344
        }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2345
    else 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2346
        {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2347
        TBuf<80> format;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2348
        format.Format(_L("  Completed OK with %d memory allocations tested\n"), failCount);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2349
        Log(format);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2350
        }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2351
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2352
    return allocTestStepResult;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2353
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2354
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2355
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2356
// RTestVclnt2InvalidScaleFactor
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2357
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2358
RTestVclnt2InvalidScaleFactor::RTestVclnt2InvalidScaleFactor(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2359
	: RTestVclnt2PlayFile(aTestName, aSectName, aKeyName, aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2360
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2361
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2362
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2363
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2364
 * RTestVclnt2InvalidScaleFactor::NewL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2365
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2366
RTestVclnt2InvalidScaleFactor* RTestVclnt2InvalidScaleFactor::NewL(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2367
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2368
    RTestVclnt2InvalidScaleFactor* self = new (ELeave) RTestVclnt2InvalidScaleFactor(aTestName, aSectName, aKeyName, aExpectedError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2369
    return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2370
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2371
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2372
void RTestVclnt2InvalidScaleFactor::HandlePrepareCompleteL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2373
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2374
	INFO_PRINTF1(_L("iVideoPlayer2->AddDisplayWindowL()"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2375
	iVideoPlayer2->AddDisplayWindowL(iWs, *iScreen, *iWindow);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2376
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2377
	// Try to scale the video to an invalid values
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2378
	TRAPD(err, iVideoPlayer2->SetScaleFactorL(*iWindow, 0, 100));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2379
	if (err != KErrArgument)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2380
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2381
		User::Leave(err == KErrNone ? KErrGeneral : err); 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2382
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2383
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2384
	TRAP(err, iVideoPlayer2->SetScaleFactorL(*iWindow, 100, -100));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2385
	if (err != KErrArgument)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2386
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2387
		User::Leave(err == KErrNone ? KErrGeneral : err); 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2388
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2389
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2390
	// trigger the video to start playing                
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2391
    StartPlayback();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2392
	}