diff -r 798ee5f1972c -r 826cea16efd9 videoutils_plat/videoconnutility_api/tsrc/VCXTestCommon/src/CIptvTestVideoCreator.cpp --- a/videoutils_plat/videoconnutility_api/tsrc/VCXTestCommon/src/CIptvTestVideoCreator.cpp Thu Aug 19 10:54:18 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,363 +0,0 @@ -/* -* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of the License "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: -* -*/ - - -// INCLUDES -#include -#include - -#include "CIptvTestVideoCreator.h" -#include "VCXTestLog.h" - -// ----------------------------------------------------------------------------- -// NewL -// ----------------------------------------------------------------------------- -// -EXPORT_C CIptvTestVideoCreator* CIptvTestVideoCreator::NewL() - { - CIptvTestVideoCreator* self; - self = new (ELeave) CIptvTestVideoCreator(); - CleanupStack::PushL(self); - self->ConstructL(); - CleanupStack::Pop(self); - return self; - } - -// ----------------------------------------------------------------------------- -// CIptvTestVideoCreator -// ----------------------------------------------------------------------------- -// -EXPORT_C CIptvTestVideoCreator::~CIptvTestVideoCreator() - { - delete iFileMan; - iFileMan = NULL; - iFs.Close(); - } - -// ----------------------------------------------------------------------------- -// CIptvTestVideoCreator -// ----------------------------------------------------------------------------- -// -EXPORT_C CIptvTestVideoCreator::CIptvTestVideoCreator() - { - - } - -// ----------------------------------------------------------------------------- -// ConstructL -// ----------------------------------------------------------------------------- -// -EXPORT_C void CIptvTestVideoCreator::ConstructL() - { - User::LeaveIfError( iFs.Connect() ); - iFileMan = CFileMan::NewL( iFs ); - } - -// ----------------------------------------------------------------------------- -// CreateVideoL -// ----------------------------------------------------------------------------- -// -EXPORT_C void CIptvTestVideoCreator::CreateVideoL(CIptvTestVideoCreator::TIptvTestVideoType aVideoType, TDesC& aFileName, TInt aSize) - { - VCXLOGLO1(">>>CIptvTestVideoCreator::CreateVideoL"); - - // Resolve source filename - TBuf<256> srcFileName; - - GetVideoFile( srcFileName, aVideoType, _L("C") ); - if( !BaflUtils::FileExists(iFs, srcFileName) ) - { - VCXLOGLO2("CIptvTestVideoCreator:: %S does not exist.", &srcFileName); - GetVideoFile( srcFileName, aVideoType, _L("E") ); - if( !BaflUtils::FileExists(iFs, srcFileName) ) - { - VCXLOGLO2("CIptvTestVideoCreator:: %S does not exist.", &srcFileName); - VCXLOGLO2("CIptvTestVideoCreator:: test video file %S missing! PANIC.", &srcFileName); - User::Panic(_L("Video files missing!"), KErrNotFound); - } - } - - BaflUtils::EnsurePathExistsL( iFs, aFileName.Left( aFileName.LocateReverse('\\') ) ); - - BaflUtils::DeleteFile( iFs, aFileName ); - - VCXLOGLO2("CIptvTestVideoCreator:: aSize = %d", aSize); - - TInt64 wantedSize( 0 ); - - // Check the size - if( aSize == KVcxTestLargeFile3GB ) { - wantedSize = 3000000000; - } - else { - wantedSize = aSize; - } - - //wantedSize = wantedSize == 0 ? wantedSize -1 : wantedSize; - - VCXLOGLO2("CIptvTestVideoCreator:: Wanted file size: %Ld", wantedSize); - - // Read source file into memory, won't work on huge files. - RFile64 srcFile; - VCXLOGLO2("CIptvTestVideoCreator:: Opening %S", &srcFileName); - User::LeaveIfError( srcFile.Open( iFs, srcFileName, EFileRead ) ); - CleanupClosePushL( srcFile ); - - TInt64 srcSize(0); - VCXLOGLO2("CIptvTestVideoCreator:: Getting size of %S", &srcFileName); - User::LeaveIfError( srcFile.Size( srcSize ) ); - - HBufC8* data = HBufC8::NewL( srcSize ); - TPtr8 ptr( data->Des() ); - srcFile.Read( ptr, srcSize ); - CleanupStack::PopAndDestroy( &srcFile ); - - CleanupStack::PushL( data ); - - // Write new file. - RFile64 dstFile; - VCXLOGLO1("CIptvTestVideoCreator:: Replace"); - User::LeaveIfError( dstFile.Replace( iFs, aFileName, EFileWrite ) ); - CleanupClosePushL(dstFile); - - if( wantedSize <= srcSize ) - { - if( wantedSize == -1 ) - { - VCXLOGLO2("CIptvTestVideoCreator:: Writing %Ld", srcSize); - User::LeaveIfError( dstFile.Write( *data, srcSize ) ); - } - else - { - VCXLOGLO2("CIptvTestVideoCreator:: Writing %Ld", wantedSize); - User::LeaveIfError( dstFile.Write( *data, wantedSize ) ); - } - } - else - { - VCXLOGLO2("CIptvTestVideoCreator:: Writing %Ld", srcSize); - User::LeaveIfError( dstFile.Write( *data, srcSize ) ); - - const TInt KIptvTest200Kilos = 1024*200; - HBufC8* buff = HBufC8::NewL( KIptvTest200Kilos ); - buff->Des().SetLength( KIptvTest200Kilos ); - CleanupStack::PushL( buff ); - TInt64 bytesToWrite = wantedSize - srcSize; - while( bytesToWrite > 0 ) - { - if( bytesToWrite >= KIptvTest200Kilos ) - { - bytesToWrite -= KIptvTest200Kilos; - User::LeaveIfError( dstFile.Write( *buff ) ); - } - else - { - User::LeaveIfError( dstFile.Write( *buff, bytesToWrite ) ); - bytesToWrite = 0; - } - } - CleanupStack::PopAndDestroy( buff ); - } - - CleanupStack::PopAndDestroy( &dstFile ); - CleanupStack::PopAndDestroy( data ); - - VCXLOGLO1("<<& aFileArray ) - { - VCXLOGLO1(">>>CIptvTestVideoCreator::CreateVideosL"); - - // Resolve source filename - TBuf<256> srcFileName; - - GetVideoFile( srcFileName, aVideoType, _L("C") ); - - if( !BaflUtils::FileExists(iFs, srcFileName) ) - { - VCXLOGLO2("CIptvTestVideoCreator:: %S does not exist.", &srcFileName); - GetVideoFile( srcFileName, aVideoType, _L("E") ); - if( !BaflUtils::FileExists(iFs, srcFileName) ) - { - VCXLOGLO2("CIptvTestVideoCreator:: %S does not exist.", &srcFileName); - VCXLOGLO2("CIptvTestVideoCreator:: test video file %S missing! PANIC.", &srcFileName); - // Comment next line if you want dummy files to be created. They won't be recognized by MDS. - User::Panic(_L("Video files missing!"), KErrNotFound); - } - } - - TBool fileExists = BaflUtils::FileExists(iFs, srcFileName); - - HBufC* newFileName = HBufC::NewL( 256 ); - CleanupStack::PushL( newFileName ); - - newFileName->Des().Copy( aFileName.Left( aFileName.LocateReverse('\\') ) ); - BaflUtils::EnsurePathExistsL(iFs, *newFileName); - - TInt dotPos = aFileName.LocateReverse('.'); - - for( TInt i = 0; i < aCount; i++ ) - { - newFileName->Des().Copy( aFileName.Left( dotPos ) ); - newFileName->Des().Append( _L("_") ); - newFileName->Des().AppendNum( i ); - newFileName->Des().Append( aFileName.Right( aFileName.Length() - dotPos ) ); - - HBufC* fileForClient = newFileName->Des().AllocL(); - aFileArray.Append( fileForClient ); - - if( fileExists ) - { - User::LeaveIfError( iFileMan->Copy(srcFileName, *newFileName) ); - VCXLOGLO2("CIptvTestVideoCreator:: copy file: '%S'", newFileName); - } - else - { - VCXLOGLO2("CIptvTestVideoCreator:: new fake file: '%S'", newFileName); - RFile file; - CleanupClosePushL(file); - User::LeaveIfError( file.Replace(iFs, *newFileName, EFileWrite) ); - User::LeaveIfError( file.SetSize( 1024*10 ) ); - CleanupStack::PopAndDestroy( &file ); - } - User::After( 100000 ); // Wait tenth of a second. - } - - CleanupStack::PopAndDestroy( newFileName ); - - VCXLOGLO1("<<>>CIptvTestVideoCreator::GetVideoFile"); - aFileName.Copy( aDrive ); - - _LIT(KIptvTestVideoBasePath, ":\\testing\\data\\"); - - aFileName.Append( KIptvTestVideoBasePath ); - - VCXLOGLO2("CIptvTestVideoCreator::GetVideoFile -- using %S", &aFileName); - - switch (aVideoType) - { - case CIptvTestVideoCreator::IptvTestVideo3Gp: - { - aFileName.Append( _L("video_3gp.xxx") ); - } - break; - - case CIptvTestVideoCreator::IptvTestVideo3Gp2: - { - aFileName.Append( _L("video_3gp2.xxx") ); - } - break; - - case CIptvTestVideoCreator::IptvTestVideoMp2: - { - aFileName.Append( _L("video_mp2.xxx") ); - } - break; - - case CIptvTestVideoCreator::IptvTestVideoMpeg1: - { - aFileName.Append( _L("video_mpeg1.xxx") ); - } - break; - - case CIptvTestVideoCreator::IptvTestVideoMpeg2: - { - aFileName.Append( _L("video_mpeg2.xxx") ); - } - break; - - case CIptvTestVideoCreator::IptvTestVideoSuperVideoCd: - { - aFileName.Append( _L("video_supervideocd.xxx") ); - } - break; - - case CIptvTestVideoCreator::IptvTestVideoMp3: - { - aFileName.Append( _L("video_mp3.xxx") ); - } - break; - - case CIptvTestVideoCreator::IptvTestVideoAppleMpeg: - { - aFileName.Append( _L("video_applempeg.xxx") ); - } - break; - - case CIptvTestVideoCreator::IptvTestVideoMpeg4: - { - aFileName.Append( _L("video_mpeg4.xxx") ); - } - break; - - case CIptvTestVideoCreator::IptvTestVideoMpegAvc: - { - aFileName.Append( _L("video_mpegavc.xxx") ); - } - break; - - case CIptvTestVideoCreator::IptvTestVideoQuicktime: - { - aFileName.Append( _L("video_quicktime.xxx") ); - } - break; - - case CIptvTestVideoCreator::IptvTestVideoRealVideo: - { - aFileName.Append( _L("video_realvideo.xxx") ); - } - break; - - case CIptvTestVideoCreator::IptvTestVideoAvi: - { - aFileName.Append( _L("video_avi.xxx") ); - } - break; - - case CIptvTestVideoCreator::IptvTestVideoWmv: - { - aFileName.Append( _L("video_wmv.xxx") ); - } - break; - - case CIptvTestVideoCreator::IptvTestVideoAviAC3: - { - aFileName.Append( _L("video_aviac3.xxx") ); - } - break; - default: - User::Panic(_L("IptvMyVideosApiTest: Unknown video type!"), KErrCorrupt); - } - VCXLOGLO1("<<