@file char_mmf_videoplay.script
// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
// All rights reserved.
// This component and the accompanying materials are made available
// under the terms of "Eclipse Public License v1.0"
// which accompanies this distribution, and is available
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
//
// Initial Contributors:
// Nokia Corporation - initial contribution.
//
// Contributors:
//
// Description:
//

PRINT 
LOAD_SUITE char_mmf_videoplay.dll

# wait for ring.wav to finish playing
delay 1000

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0001
//!@SYMTestCaseDesc           Open a video file
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file  3) Check the callback MvpuoOpenComplete after opening the file
//!@SYMTestExpectedResults    MvpuoOpenComplete callback returns KErrNone.
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0001 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0002
//!@SYMTestCaseDesc           Open a file with unsupported format
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file with invalid format 3) Check the callback MvpuoOpenComplete after opening
//! the file
//!@SYMTestExpectedResults    MvpuoOpenComplete callback returns KErrNotSupported.
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0002 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE 

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0002
//!@SYMTestCaseDesc           Open a file with unsupported format
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file with invalid format 3) Check the callback MvpuoOpenComplete after opening
//! the file
//!@SYMTestExpectedResults    MvpuoOpenComplete callback returns KErrNotSupported.
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0002a \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE 

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0002
//!@SYMTestCaseDesc           Open a file with unsupported format
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file with invalid format 3) Check the callback MvpuoOpenComplete after opening
//! the file
//!@SYMTestExpectedResults    MvpuoOpenComplete callback returns KErrNotSupported.
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0002b \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE 

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0003
//!@SYMTestCaseDesc           Open a corrupted video file (header is not valid)
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a corrupted video file 3) Check the callback MvpuoOpenComplete after opening the file
//!@SYMTestExpectedResults    MvpuoOpenComplete callback returns KErrCorrupt.
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0003 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0004
//!@SYMTestCaseDesc           Open a video file passing the file name and controller id
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file pasing the file name and controller id as parameter 3) Check the callback
//! MvpuoOpenComplete after opening the file
//!@SYMTestExpectedResults    MvpuoOpenComplete callback returns KErrNone.
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0004 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0005
//!@SYMTestCaseDesc           Open a video file passing the file name and invalid controller id
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create video player 2) Open a video file 3) Check the callback MvpuoOpenComplete after opening the file
//!@SYMTestExpectedResults    MvpuoOpenComplete callback returns KErrNotFound.
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0005 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE    

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0006
//!@SYMTestCaseDesc           Play a  video file
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file. 3) Check the callback MvpuoOpenComplete after opening the file 4) Prepare
//! the video file 5) Check the callback MvpuoPrepareComplete after preparing the clip of video file 6) Play the file. 7) Check the callback MvpuoPlayComplete
//! after completion of video play
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone. MvpuoPrepareComplete returns KErrNone. MvpuoPlayComplete returns KErrNone.
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0006 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE 

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0007
//!@SYMTestCaseDesc           Play a video file while video is playing
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file. 3) Check the callback MvpuoOpenComplete after opening the file 4) Prepare
//! the video file 5) Check the callback MvpuoPrepareComplete after preparing the clip of video file 6) Play the file. 7) Play the file again in playing
//! state 8) Check the error returned by  MvpuoPlayComplete callback
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone. MvpuoPrepareComplete returns KErrNone. Mvpuoplaycomplete callback returns KErrNotRea
//!dy.
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0007 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE 

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0011
//!@SYMTestCaseDesc           Stop while playing video
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file. 3) Check the callback MvpuoOpenComplete after opening the file 4) Prepare
//! the video file 5) Check the callback MvpuoPrepareComplete after preparing the clip of video file 6) Play the file. 7) Stop the video play in playing
//! state
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone. MvpuoPrepareComplete returns KErrNone. Successfully stops the video play
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0011 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE 

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0013
//!@SYMTestCaseDesc           Stop video play after opening the file
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file. 3) Check the callback MvpuoOpenComplete after opening the file 4) Stop the
//! video play 5) Check the behaviour of stop() API
//!@SYMTestExpectedResults    The Stop() API won't perform any opeartion
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0013 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE 

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0017
//!@SYMTestCaseDesc           Pause before opening the video file
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Pause the video play 3) Check the behaviour of pause
//!@SYMTestExpectedResults    PauseL() leaves with KErrNotReady
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0017 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE                            

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0018
//!@SYMTestCaseDesc           Set and get volume after opening video file
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file. 3) Check the callback MvpuoOpenComplete after opening the file 4) Set the
//! volume . 5) check the error if SetVolumeL() leaves  6) If SetVolumeL() returns KErrNone ,get the volume. 7) Check  the volume set is equal with the volume
//!  got in step -6
//!@SYMTestExpectedResults    MVpuoOpenComplete should return KErrNone. The desired volume will be set successfully The volume, set with SetVolumeL()
//! and obtained by Volume() should be equal
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0018 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE  

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0019
//!@SYMTestCaseDesc           Set and get volume during play.
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file. 3) Check the callback MvpuoOpenComplete after opening the file 4) Prepare
//! the video file 5) Check the callback MvpuoPrepareComplete after preparing the clip of video file 6) Play the file. 7) Set the desired volume in playing
//! state 8) check the error if SetVolumeL() leaves  9) If SetVolumeL() returns KErrNone ,get the volume. 10) Check  the volume set is equal with the volume
//!  got in step -9
//!@SYMTestExpectedResults    MVpuoOpenComplete should return KErrNone. MVpuoPrepareComplete returns KErrNone The desired volume will be set successfully
//! The volume, set with SetVolumeL() and obtained by Volume() should be equal
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0019 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE  

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0021
//!@SYMTestCaseDesc           Set and get volume in stopped state
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file. 3) Check the callback MvpuoOpenComplete after opening the file 4) Prepare
//! the video file 5) Check the callback MvpuoPrepareComplete after preparing the clip of video file 6) Play the file. 7) Stop the video play 8)Set the desired
//! volume in stopped state 9) check the error if SetVolumeL() leaves  10)  If SetVolumeL() returns KErrNone ,get the volume. 11) Check  the volume set is
//! equal with the volume  got in step -10
//!@SYMTestExpectedResults    The SetVolumeL() leaves with KErrNotSupported
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0021 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE
                                                                                                                                                                                            
//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0022
//!@SYMTestCaseDesc           Set and get volume in a video only file
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video only (without audio intent) file. 3) Query the file has audio content or not 4)
//! Check the callback MvpuoOpenComplete after opening the file 5) Set the desired volume  6) check the error if SetVolumeL() leaves  7)  If SetVolumeL()
//! returns KErrNone ,get the volume. 8) Check  the volume set is equal with the volume  got in step -6
//!@SYMTestExpectedResults    SetVolumeL() leaves with KErrNotSupported
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0022 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE 

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0023
//!@SYMTestCaseDesc           Set and get volume with an invalid parameter (the volume to be set is greater than the allowed maximum volume and less than
//! allowed minimum volume)
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file. 3) Check the callback MvpuoOpenComplete after opening the file 4) Set the
//! desired volume (less than zero) 5) check the error if SetVolumeL() leaves  6) Get the volume 7) Again set the volume to a greater value than the maximum
//! volume allowed 8) check the error if SetVolumeL() leaves 9) Get the volume
//!@SYMTestExpectedResults    If the volume being set is below zero, it is reset to zero(mute) and if the volume being set is above the maximum volume
//! it is reset to Maximum volume
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0023 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE 

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0024
//!@SYMTestCaseDesc           Get the maximum volume supported by sound device before opening the file ,in playing and paused states without setting any
//! volume
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Get the maximum volume before opening the file 3) Open a video file. 4) Check the callback MvpuoOpenComplete
//! after opening the file 5) Get the maximum volume 6) Prepare the video file 7) Check the callback MvpuoPrepareComplete after preparing the clip of video
//! file 8) Play the file. 9) Get the maximum volume in playing state 10) Pause the video play 11) Get the maximum volume in paused state
//!@SYMTestExpectedResults    MVpuoOpenComplete and MVpuoPrepareComplete returns KErrNone. The MaxVolume() API won't perform any operation when called
//! before opening the file.MaxVolume() will return the Maximum Volume supported by the sound device in playing state and after opening the file. PauseL()
//! leaves with KErrNotSupported.so MaxVolume() won't be called in paused state.
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0024 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE 

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0025
//!@SYMTestCaseDesc           Query Audio enabled after opening the file, in playing and stop state.
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file. 3) Check the callback MvpuoOpenComplete after opening the file 4) Check the
//! current clip has an audio stream or not. 5) Check the error if AudioEnabledL() leaves 6) Prepare the video file 7) Check the callback MvpuoPrepareComplete
//! after preparing the clip of video file 8) Play the file. 9) Check the current clip has an audio stream or not in playing state. 10) Check the error if
//! AudioEnabledL() leaves in playing state 11) Stop the video play 12) Check the current clip has an audio stream or not in stopped state. 13) Check the
//! error if AudioEnabledL() leaves in stopped state
//!@SYMTestExpectedResults    MVpuoOpenComplete returns KErrNone. AudioEnabledL() returns Etrue for opened ,playing and stopped states.
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0025 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE 

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0025
//!@SYMTestCaseDesc           Query Audio enabled after opening the file, in playing and stop state.
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file. 3) Check the callback MvpuoOpenComplete after opening the file 4) Check the
//! current clip has an audio stream or not. 5) Check the error if AudioEnabledL() leaves 6) Prepare the video file 7) Check the callback MvpuoPrepareComplete
//! after preparing the clip of video file 8) Play the file. 9) Check the current clip has an audio stream or not in playing state. 10) Check the error if
//! AudioEnabledL() leaves in playing state 11) Stop the video play 12) Check the current clip has an audio stream or not in stopped state. 13) Check the
//! error if AudioEnabledL() leaves in stopped state
//!@SYMTestExpectedResults    MVpuoOpenComplete returns KErrNone. AudioEnabledL() returns Etrue for opened ,playing and stopped states.
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0025a \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE 

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0026
//!@SYMTestCaseDesc           Query Audio enabled before opening the clip
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Check the current clip has an audio stream or not . 3) Check the error if AudioEnabledL() le
//!aves
//!@SYMTestExpectedResults    AudioEnabledL() leaves with KErrNotReady
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0026 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE 

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0027
//!@SYMTestCaseDesc           Get the current volume of the audio without setting any volume  after opening the file
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file. 3) Check the callback MvpuoOpenComplete after opening the file 4) Get the
//! volume set for the audio track of the video clip
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone and the default (Zero) volume set for the audio track will be returned.
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0027 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE 

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0028
//!@SYMTestCaseDesc           Set and Get Volume of video file before opening the clip
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Set the volume  3) Get the volume of playback before opening the video clip
//!@SYMTestExpectedResults    SetVolumeL() leaves with KErrNotReady. Volume() returns 0(zero)
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0028 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE 

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0029
//!@SYMTestCaseDesc           Get the the duration of video clip
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file 3) Check the callback MvpuoOpenComplete after opening the file 4) Get the
//! duration of video clip 5) Check the error if DurationL()  leaves
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone  The DurationL()  API  returns the duration of the video clip
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0029 \char\mmf\char_mmf_videoplay.ini
TEST_COMPLETE

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0030
//!@SYMTestCaseDesc           Get the the duration of video clip in playing state
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file 3) Check the callback MvpuoOpenComplete after opening the file 4) Prepare
//! the video clips to be accessed 5) Check the callback MvpuoPrepareComplete after preparing the clip 6) Play a video file 7) Get the duration of playback
//! in playing state 8) Check the error if the DurationL() API leaves
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone  MvpuoPrepareComplete returns KErrNone  The DurationL()  API  returns the duration of
//! the video clip
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0030 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0032
//!@SYMTestCaseDesc           Get the the duration of video clip in stopped state
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file 3) Check the callback MvpuoOpenComplete after opening the file 4) Prepare
//! the video clips to be accessed 5) Check the callback MvpuoPrepareComplete after preparing the clip 6) Play a video file 7) Stop the video file 8) Get
//! the duration of playback in stopped state 9) Check the error if the DurationL() API leaves
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone  MvpuoPrepareComplete returns KErrNone  The DurationL()  API  returns the duration of
//! the video clip
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0032 \char\mmf\char_mmf_videoplay.ini
TEST_COMPLETE

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0033
//!@SYMTestCaseDesc           Get the the duration of video clip before opening the clip
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Get the duration of playback before opening the file 3) Check the error if the DurationL() API
//! leaves
//!@SYMTestExpectedResults    DurationL() leaves with KErrNotReady
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0033 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0034
//!@SYMTestCaseDesc           Set and get the  position of video play
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file 3) Check the callback MvpuoOpenComplete after opening the file 4) Set the
//!  position 5) Check the error if SetPositionL() leaves 6) Get the position and check the position set in step-4 is equal to the position got.
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone  The SetPositionL() leaves with KErrNotSupported and PositionL() with KErrNotReady
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0034 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0038
//!@SYMTestCaseDesc           Set and get the the position of video clip before opening the file
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Set the position of playback before opening the file 3) Check the error if the SetPositionL()
//! API leaves 4) Get the position 5) Check the position set and get are equal or not
//!@SYMTestExpectedResults    Both SetPositionL()  and PositionL() leave with KErrNotReady
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0038 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0040
//!@SYMTestCaseDesc           Query the audio type of video file
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file 3) Check the callback MvpuoOpenComplete after opening the file 4) Query the
//! audio type 5) Check the error if AudioTypeL() leaves
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone  The AudioTypeL() API should return P16
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0040 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE 

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0044
//!@SYMTestCaseDesc           Query the audio type of video file before opening the file
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2)  Query the audio type before opening the file 3) Check the error if AudioTypeL() leaves
//!@SYMTestExpectedResults    AudioTypeL() leaves with KErrNotReady
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0044 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE   

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0045
//!@SYMTestCaseDesc           Query the audio type with a  video only clip
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open the video only file 3) Check the callback MvpuoOpenComplete after opening the file 4) 
//! Query the audio type  5) Check the error if AudioTypeL() leaves
//!@SYMTestExpectedResults    AudioTypeL() leaves with KErrNotSupported
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0045 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE   

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0046
//!@SYMTestCaseDesc           Query the audio bitrate of video file
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file 3) Check the callback MvpuoOpenComplete after opening the file 4) Query the
//! audio bitrate 5) Check the error if AudioBitrateL() leaves
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone  The AudioBitrateL() API returns the audio bitrate.
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0046 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE 

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0050
//!@SYMTestCaseDesc           Query the audio bitrate of video file before opening the file
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2)  Query the audio bitrate before opening the file 3) Check the error if AudioBitrateL() leave
//!s
//!@SYMTestExpectedResults    AudioBitrateL() leaves with KErrNotReady
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0050 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0051
//!@SYMTestCaseDesc           Query the audio bitrate with a  video only clip
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open the video only file 3) Check the callback MvpuoOpenComplete after opening the file 4) 
//! Query the audio bitrate  5) Check the error if AudioBitrateL() leaves
//!@SYMTestExpectedResults    AudioBitrateL() leaves with KErrNotSupported
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0051 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE  

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0056
//!@SYMTestCaseDesc           Query the video bitrate of video file before opening the file
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2)  Query the video bitrate before opening the file 3) Check the error if VideoBitrateL() leave
//!s
//!@SYMTestExpectedResults    VideoBitrateL() leaves with KErrNotReady
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0056 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE 

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0057
//!@SYMTestCaseDesc           Get the video format MIME type
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file 3) Check the callback MvpuoOpenComplete after opening the file 4) Get the
//! video format MIME type
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone  The VideoFormatMimeType() API should return "xvid"
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0057 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE 

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0060
//!@SYMTestCaseDesc           Get the video frame size
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file 3) Check the callback MvpuoOpenComplete after opening the file 4) Get the
//! video frame size 5) check the error if VideoFrameSizeL() leaves
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone  The VideoFrameSizeL() API returns the video frame size .
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0060 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE 

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0063
//!@SYMTestCaseDesc           Get the video frame size of video file before opening the file
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2)  Get the video frame size 5) check the error if VideoFrameSizeL() leaves
//!@SYMTestExpectedResults    VideoFrameSizeL()  leaves with KErrNotReady
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0063 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0064
//!@SYMTestCaseDesc           Set the video frame rate
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file 3) Check the callback MvpuoOpenComplete after opening the file 4) Set the
//! video frame rate 5) check the error if SetVideoFrameRateL() leaves
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone  The SetVideoFrameRateL() API returns KErrNotSupported
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0064 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE  

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0065
//!@SYMTestCaseDesc           Get the current video frame rate
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file 3) Check the callback MvpuoOpenComplete after opening the file 4) Set the
//! video frame rate 5) check if setVideoframerateL() leaves or not 6) Get the current video frame rate 7) Check the error if  VideoFrameRateL()  leaves
//! 8) compare the set and get frame rate
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone  SetframerateL() leaves with KErrnotSupported The VideoFrameRateL() API returns the video
//! frame rate.
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0065 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0069
//!@SYMTestCaseDesc           Get the current video frame rate before opening the file
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2)  Query the video frame rate before opening the file 3) Check the error if VideoFrameRateL()
//! leaves
//!@SYMTestExpectedResults    VideoFramerateL() leaves with KErrNotReady
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0069 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE 

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0070
//!@SYMTestCaseDesc           Redraw the current frame in playing state
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file 3) Check the callback MvpuoOpenComplete after opening the file 4) Prepare
//! the video clips to be accessed 5) Check the callback MvpuoPrepareComplete after preparing the clip 6) Play a video file 7) Redraw the current frame in
//! playing state 8) Check the error if  RefreshFrameL() leaves
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone  MvpuoPrepareComplete returns KErrNone  RefreshFrameL() redraws the current frame
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0070 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE 

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0072
//!@SYMTestCaseDesc           Redraw the current frame before opening the clip
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Redraw the current frame before opening the file 3) Check the error if  RefreshFrameL() leav
//!es
//!@SYMTestExpectedResults    RefreshFrameL() leaves with KErrNotReady
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0072 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE 

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0073
//!@SYMTestCaseDesc           Get the current frame in playing state
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file 3) Check the callback MvpuoOpenComplete after opening the file 4) Prepare
//! the video clips to be accessed 5) Check the callback MvpuoPrepareComplete after preparing the clip 6) Play a video file 7) Get the current frame in playing
//! state 8) Check the error if  GetFrameL()  leaves
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone  MvpuoPrepareComplete returns KErrNone  GetFrameL() returns the current frame
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0073 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE 

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0075
//!@SYMTestCaseDesc           Get the current frame before opening the clip
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Get  the current frame before opening the file 3) Check the error if  GetFrameL() leaves
//!@SYMTestExpectedResults    GetFrameL() leaves with ?
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0075 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE 

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0076
//!@SYMTestCaseDesc           Set and get  the playback priority
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file 3) Check the callback MvpuoOpenComplete after opening the file 4) Set the
//! playback priority to EMdaPriorityPreferenceQuality 5) Check the error if  SetPriorityL()  leaves 6) get the priority 7) Check the error if  PriorityL()
//!  leaves 8) Check the priority is same for set and got in step -6
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone  The SetPriorityL() API sets the playback priority. PriorityL() returns EMdaPriorityP
//!referenceQuality.
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0076 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE 

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0078
//!@SYMTestCaseDesc           Set and get the playback priority before opening the clip
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Set the play back priority before opening the file 3) Check the error if  SetPriorityL() leaves
//! 4) Get the priority 5) Check the error if PriorityL() leaves 6) Check the priority set and got in step 2 are equal or not
//!@SYMTestExpectedResults    SetPriorityL() leaves with KErrNotReady and priorityL() doesn't perform any operation.
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0078 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE 

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0081
//!@SYMTestCaseDesc           Set playback balance
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file 3) Check the callback MvpuoOpenComplete after opening the file 4) Set the
//! playback balance  5) Check the error if  SetBalanceL()  leaves 6) Get the playback balance 7) Check the balance set is equal to the value got in step
//! - 6
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone  The SetBalanceL()  API leaves with KErrNotSupported and Balance() returns KErrNotSupported
//! .
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0081 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE 

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0085
//!@SYMTestCaseDesc           Set the playback balance before opening the file
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Set the current playback balance before opening the file 3) Check the error if  SetBalanceL()
//!  leaves 4) Get the playback balance 5) Check the balance set is equal to the value got in step - 4
//!@SYMTestExpectedResults    SetBalanceL()  leaves with KErrNotReady and Balance() returns 0
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0085 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE 

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0086
//!@SYMTestCaseDesc           Set the playback balance with a  video only clip
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open the video only file 3) Check the callback MvpuoOpenComplete after opening the file 4) 
//! Set the current playback balance 5) Check the error if SetBalanceL() leaves 6) Get the playback balance 7) Check the balance set is equal to the value
//! got in step - 6
//!@SYMTestExpectedResults    SetBalanceL() leaves with KErrNotSupported and Balance() returns 0
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0086 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE 

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0087
//!@SYMTestCaseDesc           Get the playback balance without setting any value to playback balance
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file 3) Check the callback MvpuoOpenComplete after opening the file 4) Get the
//! playback balance
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone  Balance() API returns 0.
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0087 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE 
              
//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0091
//!@SYMTestCaseDesc           Get the playback balance before opening the file without setting any playback balance
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Get the current playback balance before opening the file
//!@SYMTestExpectedResults    Balance()  returns KErrNotSupported
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0091 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE 

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0092
//!@SYMTestCaseDesc           Get the playback balance with a  video only clip without setting the playback balance
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open the video only file 3) Check the callback MvpuoOpenComplete after opening the file 4) 
//! Get the current playback balance
//!@SYMTestExpectedResults    Balance() returns  zero
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0092 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE 

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0096
//!@SYMTestCaseDesc           Set and get the current rotation before opening the file
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Get the current rotation without setting any value. 3) Set the rotation to rotate the video
//! image 4)Check error if SetRotationL() leaves 5) Get the current rotation
//!@SYMTestExpectedResults    No Operation.
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0096 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0102
//!@SYMTestCaseDesc           Set and get the Scaling factor applied to the video image before opening the file
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Scale the video image 3) check error if SetScaleFactorL() leaves 4) Get the factor applied to
//! the video image 5) check error if GetScaleFactorL() leaves
//!@SYMTestExpectedResults    SetScaleFactorL() leaves with KErrNotReady GetScaleFactorL() leaves with KErrNotSupported
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0102 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0104
//!@SYMTestCaseDesc           Set the region to be cropped before opening the file
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Set the region to be cropped 3) check error if SetCropRegionL() leaves 4) Get the copped region
//! 5) Check if GetCropregionL() leaves or not
//!@SYMTestExpectedResults    GetCropRegionL() leaves with KErrNotSupported
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0104 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0105
//!@SYMTestCaseDesc           Get the crop region without setting any crop region
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file 3) Check the callback MvpuoOpenComplete after opening the file 4) Get the
//! default region to be cropped 5)check error if GetCropRegionL() leaves
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone  GetCropRegionL() API returns the the dimensions of the crop region, relative to the
//! video image. If no crop region has been applied, the full dimensions of the video image will be returned
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0105 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE 

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0106
//!@SYMTestCaseDesc           Get the region to be cropped without setting any crop region before opening the file
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Get the region to be cropped 3) check error if GetCropRegionL() leaves
//!@SYMTestExpectedResults    GetCropRegionL() leaves with KErrNotReady
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0106 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0111
//!@SYMTestCaseDesc           Get the number of metadata entries before opening the file
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Get the number of metadata entries 3) Check the error if NumberOfMetaDataEntriesL() leaves
//!@SYMTestExpectedResults    NumberOfMetaDataEntriesL()  returns KErrNotReady
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0111 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0116
//!@SYMTestCaseDesc           Get the specified metadata entry before opening the file
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Get the number of metadata entries 3) Check the error if MetaDataEntryL() leaves
//!@SYMTestExpectedResults    MetaDataEntryL()  returns KErrNotSupported
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0116 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0117
//!@SYMTestCaseDesc           Get the current controller implementation information
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file 3) Check the callback MvpuoOpenComplete after opening the file 4) Get the
//! current controller implementation information 5) Check the error if ControllerImplementationInformationL() leaves
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone  ControllerImplementationInformationL() API returns the controller information
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0117 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0121
//!@SYMTestCaseDesc           Get the current controller implementation information before opening the file
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Get the current controller implementation information 3) Check the error if ControllerImplementationInformationL()
//! leaves
//!@SYMTestExpectedResults    ControllerImplementationInformationL()  returns KErrNotSupported
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0121 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0122
//!@SYMTestCaseDesc           Stop and start direct screen access
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file 3) Check the callback MvpuoOpenComplete after opening the file 4) Stop video
//! player using direct screen access. 5) Check the error if  StopDirectScreenAccessL() leaves 6) Start video player using direct screen access. 7) Check
//! the error if  StartDirectScreenAccessL() leaves
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone  StopDirectScreenAccessL() API stops the video player using direct screen access StartDirectScreenAccessL()
//! API starts the video player using direct screen access
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0122 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0123
//!@SYMTestCaseDesc           Stop and start direct screen access before opening the file
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Stop video player using direct screen access. 3) Check the error if  StopDirectScreenAccessL()
//! leaves 4) Start video player using direct screen access. 5) Check the error if  StartDirectScreenAccessL() leaves
//!@SYMTestExpectedResults    StopDirectScreenAccessL() API stops the video player using direct screen access StartDirectScreenAccessL() API starts the
//! video player using direct screen access
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0123 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0124
//!@SYMTestCaseDesc           Set display window
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file 3) Check the callback MvpuoOpenComplete after opening the file 4) Set display
//! window 5) Check the error if  SetDisplayWindowL() leaves
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone  SetDisplayWindowL() API sets the display window
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0124 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0136
//!@SYMTestCaseDesc           Set display window with invalid parameter( some invalid dimension of display window)
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file 3) Check the callback MvpuoOpenComplete after opening the file 4) Set display
//! window with invalid dimension of display window. 5) Check the error if  SetDisplayWindowL() leaves
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone  SetDisplayWindowL() sets the display window with invalid parameters
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0136 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE
                                                                                                                                                                                                                   
                                                                                  
//Incongruence test cases

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0150
//!@SYMTestCaseDesc           Create the video player multiple times
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Again create another instance of video player .
//!@SYMTestExpectedResults    Two instances of video player will be created
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0150 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE 

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0151
//!@SYMTestCaseDesc           Open a video file multiple times
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file  3) Open the file again 4) Check the callback MvpuoOpenComplete after opening
//! the file
//!@SYMTestExpectedResults    MvpuoOpenComplete callback returns KErrNone.
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0151 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE 

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0152
//!@SYMTestCaseDesc           Close  a video file without opening it
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) close a file
//!@SYMTestExpectedResults    No operation
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0152 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0153
//!@SYMTestCaseDesc           Prepare the video clip multiple times
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file  3) Check the callback MvpuoOpenComplete after opening the file 4)Prepare
//! the clip 5)Prepare the clip again 6) Check if the prepare complete callback returns any error or not
//!@SYMTestExpectedResults    MvpuoOpenComplete callback returns KErrNone. MvpuoPrepareComplete callback returns KErrNone.
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0153 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE 

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0154
//!@SYMTestCaseDesc           Play a  corrupted video file
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file. 3) Check the callback MvpuoOpenComplete after opening the file 4) Prepare
//! the video file 5) Check the callback MvpuoPrepareComplete after preparing the clip of video file 6) Play the file. 7) Check the callback MvpuoPlayComplete
//! after completion of video play
//!@SYMTestExpectedResults    MvpuoOpenComplete callback returns KErrCorrupt
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0154 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE   

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0155
//!@SYMTestCaseDesc           Open a video file with invalid filename
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file with invalid filename 3) Check the callback MvpuoOpenComplete after opening
//! the file
//!@SYMTestExpectedResults    MvpuoOpenComplete callback returns KErrNone
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0155 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0156
//!@SYMTestCaseDesc           Play a video file with invalid start and End points.
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file. 3) Check the callback MvpuoOpenComplete after opening the file 4) Prepare
//! the video file 5) Check the callback MvpuoPrepareComplete after preparing the clip of video file 6) Play the file with start point as end point and end
//! point as start point 7) Check the callback MvpuoPlayComplete after completion of video play
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone. MvpuoPrepareComplete returns KErrNone. Mvpuoplaycomplete callback returns KErrNotSup
//!ported.
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0156 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0157
//!@SYMTestCaseDesc           Call stop() after file completely playing.
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file. 3) Check the callback MvpuoOpenComplete after opening the file 4) Prepare
//! the video file 5) Check the callback MvpuoPrepareComplete after preparing the clip of video file 6) Play the file. 7) Check the callback MvpuoPlayComplete
//! received or not  7)stop  the video play 8) Check if it returns any error or not.
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone. MvpuoPrepareComplete returns KErrNone. MvpuoPlayComplete returns KErrNone. Stop has
//! no effect.It's a no operation.
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0157 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0158
//!@SYMTestCaseDesc           Set the video frame rate with invalid frame rate
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file 3) Check the callback MvpuoOpenComplete after opening the file 4) Set the
//! video frame rate( invalid value = -1) 5) check the error if SetVideoFrameRateL() leaves
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone  The SetVideoFrameRateL() API returns KErrNotSupported
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0158 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0159
//!@SYMTestCaseDesc           Set and get  the playback priority with some invalid value
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file 3) Check the callback MvpuoOpenComplete after opening the file 4) Set the
//! playback priority to -1000 5) Check the error if  SetPriorityL()  leaves 6) get the priority 7) Check the error if  PriorityL()  leaves 8) Check the
//! priority is same for set and got in step -6
//!@SYMTestExpectedResults    The priority will be set successfully
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0159 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE

//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0160
//!@SYMTestCaseDesc           Set playback balance with some invalid value and get it
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file 3) Check the callback MvpuoOpenComplete after opening the file 4) Set the
//! playback balance ( more than max right balance) 5) Check the error if  SetBalanceL()  leaves 6) Get the playback balance 7) Check the balance set is
//! equal to the value got in step - 6
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone  The SetBalanceL()  API leaves with KErrNotSupported (as iaudioenabled flag is not set.if
//! the flag is set ,the playback balance to be set is the max right value.
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0160 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE
               
//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0161
//!@SYMTestCaseDesc           Play an  audio file
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open an audio file. 3) Check the callback MvpuoOpenComplete after opening the file 4) Prepare
//! the audio file 5) Check the callback MvpuoPrepareComplete  6) Play the file. 7) Check the callback MvpuoPlayComplete after completion of play
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNotSupported MvpuoPreapreComplete returns KErrNotReady MvpuoPlayComplete returns KErrNotRe
//!ady
RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0161 \char\mmf\char_mmf_videoplay.ini 
TEST_COMPLETE

//Known Failures

// AVI Controller doesn't support seeking
//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0010
//!@SYMTestCaseDesc           Play a video file with valid start and End points.
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file. 3) Check the callback MvpuoOpenComplete after opening the file 4) Prepare
//! the video file 5) Check the callback MvpuoPrepareComplete after preparing the clip of video file 6) Play the file with start point and end point  7)
//! Check the callback MvpuoPlayComplete after completion of video play
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone. MvpuoPrepareComplete returns KErrNone. Mvpuoplaycomplete callback returns KErrNotSup
//!ported.
//RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0010 \char\mmf\char_mmf_videoplay.ini 
//TEST_COMPLETE

// Pause functionality is not supported by AVI controller
//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0012
//!@SYMTestCaseDesc           Stop the video playback in  paused state.
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file. 3) Check the callback MvpuoOpenComplete after opening the file 4) Prepare
//! the video file 5) Check the callback MvpuoPrepareComplete after preparing the clip of video file 6) Play the file. 7) Pause the video play 8) Check the
//! error if Pause API leaves 9) Stop the video play in paused state if pause is successful.
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone. MvpuoPrepareComplete returns KErrNone. PauseL() leaves with KErrNotSupported Stop()
//! is not called at all.
//RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0012 \char\mmf\char_mmf_videoplay.ini 
//TEST_COMPLETE

// Pause functionality is not supported by AVI controller
//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0014
//!@SYMTestCaseDesc           Pause the video play while playing the video
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file. 3) Check the callback MvpuoOpenComplete after opening the file 4) Prepare
//! the video file 5) Check the callback MvpuoPrepareComplete after preparing the clip of video file 6) Play the file. 7) Pause the video playback 8) Check
//! the behaviour of pauseL() API
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone. MvpuoPrepareComplete returns KErrNone. PauseL() leaves with KErrNotSupported
//RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0014 \char\mmf\char_mmf_videoplay.ini 
//TEST_COMPLETE

// Pause functionality is not supported by AVI controller
//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0015
//!@SYMTestCaseDesc           Pause after opening  the video file
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file. 3) Check the callback MvpuoOpenComplete after opening the file 4) Pause the
//! video playback 5) Check the behaviour of pauseL() API
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone. PauseL() leaves with KErrNotSupported
//RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0015 \char\mmf\char_mmf_videoplay.ini 
//TEST_COMPLETE    

// Pause functionality is not supported by AVI controller
//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0016
//!@SYMTestCaseDesc           Pause after stopping the video play
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file. 3) Check the callback MvpuoOpenComplete after opening the file 4) Prepare
//! the video file 5) Check the callback MvpuoPrepareComplete after preparing the clip of video file 6) Play the file. 7) Stop the video play 8) Pause the
//! video play 9) Check the behaviour of pause in stopped state.
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone. MvpuoPrepareComplete returns KErrNone. PauseL() leaves with KErrNotSupported
//RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0016 \char\mmf\char_mmf_videoplay.ini 
//TEST_COMPLETE

// Pause functionality is not supported by AVI controller
//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0020
//!@SYMTestCaseDesc           Set and get  volume in paused state
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file. 3) Check the callback MvpuoOpenComplete after opening the file 4) Prepare
//! the video file 5) Check the callback MvpuoPrepareComplete after preparing the clip of video file 6) Play the file. 7) Pause the video play 8) Check if
//! pause leaves with some error 8) If pause successful,set the desired volume in paused state 9) check the error if SetVolumeL() leaves  10) If SetVolumeL()
//! returns KErrNone ,get the volume. 11) Check  the volume set is equal with the volume  got in step -10
//!@SYMTestExpectedResults    MVpuoOpenComplete should return KErrNone. MVpuoPrepareComplete returns KErrNone PauseL() leaves with KErrNotSupported
//RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0020 \char\mmf\char_mmf_videoplay.ini 
//TEST_COMPLETE

// Pause functionality is not supported by AVI controller
//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0031
//!@SYMTestCaseDesc           Get the the duration of video clip in paused state
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file 3) Check the callback MvpuoOpenComplete after opening the file 4) Prepare
//! the video clips to be accessed 5) Check the callback MvpuoPrepareComplete after preparing the clip 6) Play a video file 7) Pause the video file 8) Get
//! the duration of playback in paused state 9) Check the error if the DurationL() API leaves
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone  MvpuoPrepareComplete returns KErrNone  The PauseL() API leaves with KErrNotSupported
//RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0031 \char\mmf\char_mmf_videoplay.ini 
//TEST_COMPLETE

//SetPosition is not supported by AVI controller ,(DEF088334 raised)
//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0035
//!@SYMTestCaseDesc           Set and get the  position of video play in playing state
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file 3) Check the callback MvpuoOpenComplete after opening the file 4) Prepare
//! the video clips to be accessed 5) Check the callback MvpuoPrepareComplete after preparing the clip 6) Play a video file 7) Set the position of playback
//! in playing state 8) Check the error if the SetPositionL() API leaves 9) Get the position in playing state 10) check the position got and set are equal
//! or not
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone  MvpuoPrepareComplete returns KErrNone  The SetPositionL() API leaves with KErrNotSupported
//! and positionL() returns the current playback position.
//RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0035 \char\mmf\char_mmf_videoplay.ini 
//TEST_COMPLETE  

//SetPosition is not supported by AVI controller ,(DEF088334 raised)
//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0036
//!@SYMTestCaseDesc           Set and get the  position of video play in paused state
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file 3) Check the callback MvpuoOpenComplete after opening the file 4) Prepare
//! the video clips to be accessed 5) Check the callback MvpuoPrepareComplete after preparing the clip 6) Play a video file 7) Pause the video file 8) Set
//! the position of playback in paused state 9) Check the error if the SetPositionL() API leaves 10) Get the position 11) Check the position set and get
//! are equal or not
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone  MvpuoPrepareComplete returns KErrNone  The PauseL() API leaves with KErrNotSupported
//RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0036 \char\mmf\char_mmf_videoplay.ini 
//TEST_COMPLETE  

//SetPosition is not supported by AVI controller ,(DEF088334 raised)
//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0037
//!@SYMTestCaseDesc           Set and get the position of video play in stopped state
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file 3) Check the callback MvpuoOpenComplete after opening the file 4) Prepare
//! the video clips to be accessed 5) Check the callback MvpuoPrepareComplete after preparing the clip 6) Play a video file 7) Stop the video play 8) Set
//! the position of playback in stopped state 9) Check the error if the SetPositionL() API leaves 10) Get the position 11) Check the position set and get
//! are equal or not
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone  MvpuoPrepareComplete returns KErrNone  The SetPositionL() API sets the desired position.PositionL()
//! leaves with KErrNotReady
//RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0037 \char\mmf\char_mmf_videoplay.ini 
//TEST_COMPLETE

//SetPosition is not supported by AVI controller ,(DEF088334 raised)
//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0039
//!@SYMTestCaseDesc           Set the position with an invalid parameter (the position to be set is greater than the allowed maximum length and less than
//! allowed minimum length)
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file. 3) Check the callback MvpuoOpenComplete after opening the file 4) Set the
//! desired position (less than zero) 5) check the error if SetPositionL() leaves  6) Get the position 7) Again set the position to a greater value than
//! the maximum length allowed 8) check the error if SetPositionL() leaves 9) Get the position
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone  The SetPositionL() leaves with KErrNotSupported and PositionL() with KErrNotReady
//RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0039 \char\mmf\char_mmf_videoplay.ini 
//TEST_COMPLETE

// Video BitRate evaluation is not supported by AVI controller 
//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0052
//!@SYMTestCaseDesc           Query the video bitrate of video file
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file 3) Check the callback MvpuoOpenComplete after opening the file 4) Query the
//! video bitrate 5) Check the error if  VideoBitRateL()  leaves
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone  VideoBitrateL() API leaves with KErrNotSupported.
//RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0052 \char\mmf\char_mmf_videoplay.ini 
//TEST_COMPLETE

// Set/Get rotation is not supported by AVI controller
//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0093
//!@SYMTestCaseDesc           Set and get the current rotation
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file 3) Check the callback MvpuoOpenComplete after opening the file 4) Get the
//! current rotation without setting any value 5) Set the rotation to rotate the current video image by an absolute rotation in 90 degree increments 6) Check
//! error if SetRotationL() leaves 7) Get the current rotation
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone   RotationL() returns the currently applied rotation.   SetRotationL()  sets to rotate
//! the image by an absolute rotation in 90 degree increments. RotationL() returns the currently applied rotation.
//RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0093 \char\mmf\char_mmf_videoplay.ini 
//TEST_COMPLETE

// Set/Get rotation is not supported by AVI controller
//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0096
//!@SYMTestCaseDesc           Set and get the current rotation before opening the file
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Get the current rotation without setting any value. 3) Set the rotation to rotate the video
//! image 4)Check error if SetRotationL() leaves 5) Get the current rotation
//!@SYMTestExpectedResults    No Operation.
//RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0096a \char\mmf\char_mmf_videoplay.ini 
//TEST_COMPLETE

// Set and get scale factor is not supported by AVI controller
//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0097
//!@SYMTestCaseDesc           Scale the video image and get the scale factor
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file 3) Check the callback MvpuoOpenComplete after opening the file 4) Scale the
//! video image 5) check error if SetScaleFactorL() leaves 6) Get the factor currently applied to the image 7) Check error if GetScaleFactorL() leaves
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone   SetScaleFactorL() API scales the current video image to the specified percentage of
//! the original image
//RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0097 \char\mmf\char_mmf_videoplay.ini 
//TEST_COMPLETE

// Set and get scale factor is not supported by AVI controller
//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0100
//!@SYMTestCaseDesc           Scale the video image in stopped state and get the factor
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file 3) Check the callback MvpuoOpenComplete after opening the file 4) Prepare
//! the video clips to be accessed 5) Check the callback MvpuoPrepareComplete after preparing the clip 6) Play a video file 7) Stop the video file 8) Scale
//! the video image 9) check error if SetScaleFactorL() leaves 10) Get the factor currently applied to the image 11) Check error if GetScaleFactorL() lea
//!ves
//!@SYMTestExpectedResults    Both SetScaleFactorL() and GetScaleFactorL() leaves with KErrNotSupported
//RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0100 \char\mmf\char_mmf_videoplay.ini 
//TEST_COMPLETE

//Getting scale factor is not supported by AVI controller
//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0101
//!@SYMTestCaseDesc           Get the current Scaling factor after opening a file without setting the scale factor
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file 3) Check the callback MvpuoOpenComplete after opening the file 4) Get the
//! factor currently applied to  the video image 5) Check error if GetScaleFactorL() leaves
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone  GetScaleFactorL() API leaves with KErrNotsupported
//RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0101 \char\mmf\char_mmf_videoplay.ini 
//TEST_COMPLETE

// Set and get Crop region is not supported by controller
//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0103
//!@SYMTestCaseDesc           Set the crop region
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file 3) Check the callback MvpuoOpenComplete after opening the file 4) Set the
//! region to be cropped 5) check error if SetCropRegionL() leaves 6) Get the copped region 7) Check if GetCropregionL() leaves or not
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone  SetCropRegionL() API sets the region to be cropped.
//RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0103 \char\mmf\char_mmf_videoplay.ini 
//TEST_COMPLETE

// Getting the number of metadata entries is not supported by AVI controller 
//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0107
//!@SYMTestCaseDesc           Get the number of metadata entries
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file 3) Check the callback MvpuoOpenComplete after opening the file 4) Get the
//! number of metadata entries 5) Check the error if NumberOfMetaDataEntriesL() leaves
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone  NumberOfMetaDataEntriesL() API leaves with KErrNotSupported
//RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0107 \char\mmf\char_mmf_videoplay.ini 
//TEST_COMPLETE

// There is no support for metadata entry currently in AVI controller
//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0112
//!@SYMTestCaseDesc           Get the specified metadata entry
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file 3) Check the callback MvpuoOpenComplete after opening the file 4) Get the
//! specified metadata entries 5) Check the error if MetaDataEntryL() leaves
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone  MetaDataEntryL() API returns the specified metadata.
//RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0112 \char\mmf\char_mmf_videoplay.ini 
//TEST_COMPLETE

// Set and get the rotation is not supported by AVI controller
//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0162
//!@SYMTestCaseDesc           Set some invalid rotation value and get the rotation
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file 3) Check the callback MvpuoOpenComplete after opening the file 4) Set the
//! rotation to rotate the current video image by an absolute rotation in 92 degree increments 6) Check error if SetRotationL() leaves 7) Get the current
//! rotation
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone  Set and get rotation leaves with not supported
//RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0162 \char\mmf\char_mmf_videoplay.ini 
//TEST_COMPLETE

// Setting scale factor is not supported by AVI controller 
//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0163
//!@SYMTestCaseDesc           Scale the video image with some invalid value and get the scale factor
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file 3) Check the callback MvpuoOpenComplete after opening the file 4) Scale the
//! video image with scale width and height as -1 5) check error if SetScaleFactorL() leaves 6) Get the factor currently applied to the image 7) Check error
//! if GetScaleFactorL() leaves
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone  Set and get scale factor leaves with not supported
//RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0163 \char\mmf\char_mmf_videoplay.ini 
//TEST_COMPLETE

// Setting the crop region is not supported by AVI controller 
//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0164
//!@SYMTestCaseDesc           Set the crop region with invalid value and get the crop region
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open a video file 3) Check the callback MvpuoOpenComplete after opening the file 4) Set the
//! region(all top.bottom,left and right take as zero) to be cropped 5) check error if SetCropRegionL() leaves 6) Get the copped region 7) Check if GetCropregionL()
//! leaves or not
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone  Set and get crop region leaves with not supported
//RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0164 \char\mmf\char_mmf_videoplay.ini 
//TEST_COMPLETE
                                                                                                                                                                                        
// Video APR tests fails on Hw due to DEF093928 (Lack of A/V sync)
//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0125
//!@SYMTestCaseDesc           Register the Event (after Open and before Play of video) , receive notification of a resource available event (when video
//! resource is currently unavailable and then available)
//!@SYMTestPriority           4
//!@SYMTestActions            iVideoPlayer - Low Priority iAudioPlayer - High Priority 1. Create one video client and one audio client. 2. Open iVideoPlayer
//! 3. Register iVideoPlayer for notification 4. Check if registration is successful 5. Play iVideoPlayer. 6. Open and play iAudioPlayer 7. iVideoPlayer
//! gets PlayError. 8. iAudioPlayer completes playing. 9. Check if iVideoPlayer is notified
//!@SYMTestExpectedResults    1.Registration of video player should be successful. 2.video player should receive error(KErrInUse) when Audio Player starts
//! playing. 3.Video player should receive notification when Audio player completes playing.
//RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0125 \char\mmf\char_mmf_videoplay.ini 
//TEST_COMPLETE

// Video APR tests fails on Hw due to DEF093928 (Lack of A/V sync)
//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0127
//!@SYMTestCaseDesc           Register before opening Video player and receive notification of a resource available event (when resource is currently
//! unavailable and then available).
//!@SYMTestPriority           4
//!@SYMTestActions            iVideoPlayer - Low Priority iAudioPlayer - High Priority 1. Create One video client and one audio Client 2.Register iVideoPlayer
//! for notification 3.Check if registration is successful. 4.Open iVideoPlayer   5. Open and play iAudioPlayer 6. Play iVideoPlayer (get Play Error as iAudioPlayer
//! is still playing) 7. iAudioPlayer completes playing 8. Check if iVideoPlayer is notified.
//!@SYMTestExpectedResults    1.Registration of video player should be successful. 2.video player should receive error(KErrInUse) when Audio Player starts
//! playing. 3.Video player should receive notification when Audio player completes playing.
//RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0127 \char\mmf\char_mmf_videoplay.ini 
//TEST_COMPLETE

// Video APR tests fails on Hw due to DEF093928 (Lack of A/V sync)
//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0129
//!@SYMTestCaseDesc           Register Multiple times.
//!@SYMTestPriority           4
//!@SYMTestActions            iVideoPlayer - Low Priority iAudioPlayer - High Priority 1. Create One video client and one audio Client 2. Open and play
//! iVideoPlayer 3. Register iVideoPlayer for notification 4. Check if registration is successful, and notification is not received immediately. 5. Open
//! and play iAudioPlayer 6. Register iVideoPlayer for notification again. 7. Check if registration returns KErrAlreadyExists.
//!@SYMTestExpectedResults    Registration of video player should be successful first time, for the second time however, KErrAlreadyExists should be r
//!eturned.
//RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0129 \char\mmf\char_mmf_videoplay.ini 
//TEST_COMPLETE

// Video APR tests fails on Hw due to DEF093928 (Lack of A/V sync)
//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0130
//!@SYMTestCaseDesc           Cancellation of the notification request after registering videoplayer for notification
//!@SYMTestPriority           4
//!@SYMTestActions            iVideoPlayer - Low Priority  iAudioPlayer - High Priority 1. Create one video client and one audio Client 2. Open  iVideoPlayer
//! 3. Register  iVideoPlayer for notification. 4. Check if registration is successful. 5.Cancel the notification request for   iVideoPlayer. 6. Play the
//! video file 7. Open and play  iAudioPlayer 8. iVideoplayer gets play error 9. iAudioPlayer completes play 10. Check if  iVideoPlayer is NOT notified.
//!@SYMTestExpectedResults    1.video player should receive error(KErrInUse) when Audio Player is still playing. 2.Registration of video player and cancellation
//! of registration should be successful. 3.Video player should not receive notification when Audio player completes playing.
//RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0130 \char\mmf\char_mmf_videoplay.ini 
//TEST_COMPLETE

// Video APR tests fails on Hw due to DEF093928 (Lack of A/V sync)
//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0133
//!@SYMTestCaseDesc           Test for WillResumePlay() using 3 clients.
//!@SYMTestPriority           4
//!@SYMTestActions            iAudioPlayer[0] -  Low Priority  iAudioPlayer[1] - High Priority  iVideoPlayer -Medium Priority 1. Create one video client
//! and two audio clients. 2. Open and play iAudioPlayer[0]. 3. Open and play iVideoPlayer 4. Register iAudioPlayer[0] for notification 5. Open and play
//! iAudioPlayer[1] 6. Register  iVideoPlayer for notification 7. iAudioPlayer[1] completes playing 8.  iVideoPlayer is notified. 9.  iVideoPlayer calls
//! WillResumePlay() 10. Check after 5 seconds,  iAudioPlayer[0] does not get the notification. 11.  iVideoPlayer starts playing. 12.  iVideoPlayer completes
//! playing. 13. Check if  iAudioPlayer[0] gets the notification now.
//!@SYMTestExpectedResults    The low priority Client should NOT receive notification if the medium priority client calls WillResumePlay() .
//RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0133 \char\mmf\char_mmf_videoplay.ini 
//TEST_COMPLETE

// DEF100143: PrepareComplete callback received synchronously 
//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0008
//!@SYMTestCaseDesc           Play  a file without opening  the clip
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Don't open the video file. 3)  Prepare the video clips. 4) Check the callback MvpuoPrepareComplete
//! after preparing the clip of video file 5) Play the file. 6) Check the error returned by  MvpuoPlayComplete callback
//!@SYMTestExpectedResults    MvpuoPrepareComplete returns KErrNotReady. MvpuoPlayComplete returns KErrNotReady.
//RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0008 \char\mmf\char_mmf_videoplay.ini 
//TEST_COMPLETE

//DEF100145:Video file plays successfully without preparing the video clip 
//!@SYMTestCaseID             MM-MMF-VCLNT-CHRTZ-I-0009
//!@SYMTestCaseDesc           Play a  video file without preparing the video clip
//!@SYMTestPriority           4
//!@SYMTestActions            1) Create a video player 2) Open the video file. 3) Check the callback MvpuoOpenComplete after opening video file 4)  Don't
//! prepare the video clips. 5) Play the file. 6) Check the callback MvpuoPlayComplete after completion of video play
//!@SYMTestExpectedResults    MvpuoOpenComplete returns KErrNone. MvpuoPlayComplete returns KErrNone.
//RUN_TEST_STEP 300000 char_mmf_videoplay MM-MMF-VCLNT-CHRTZ-I-0009 \char\mmf\char_mmf_videoplay.ini 
//TEST_COMPLETE