videoeditorengine/vedengine/src/vedqualitysettingsapi.cpp
branchRCL_3
changeset 3 e0b5df5c0969
parent 0 951a5db380a0
child 7 4c409de21d23
--- a/videoeditorengine/vedengine/src/vedqualitysettingsapi.cpp	Fri Jan 29 14:08:33 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,307 +0,0 @@
-/*
-* Copyright (c) 2010 Ixonos Plc.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the "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:
-* Ixonos Plc
-*
-* Description:  
-*
-*/
-
-
-#include "vedqualitysettingsapi.h"
-
-const TUint KCameraDisplayID = 2;
-
-// ---------------------------------------------------------------------------
-// Constructor of CVideoQualitySelector
-// ---------------------------------------------------------------------------
-//
-CVideoQualitySelector::CVideoQualitySelector()
-    {
-    }
-    
-// ---------------------------------------------------------------------------
-// Destructor of CVideoQualitySelector
-// ---------------------------------------------------------------------------
-//
-CVideoQualitySelector::~CVideoQualitySelector()
-    {
-    if( iConfigManager )
-        {
-        delete iConfigManager;
-        iConfigManager = 0;
-        }
-        
-    if( iQualityLevels )
-        {
-        delete iQualityLevels;
-        iQualityLevels = 0;
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// ConstructL() of CVideoQualitySelector
-// ---------------------------------------------------------------------------
-//
-void CVideoQualitySelector::ConstructL()
-    {
-    iConfigManager = CImagingConfigManager::NewL();
-    
-    iQualityLevels = new (ELeave) CArrayFixFlat<TUint>(16);
-    
-    iConfigManager->GetVideoQualityLevelsL( *iQualityLevels, KCameraDisplayID );
-    }
-    
-// ---------------------------------------------------------------------------
-// NewL() of CVideoQualitySelector
-// ---------------------------------------------------------------------------
-//
-CVideoQualitySelector* CVideoQualitySelector::NewL()
-    {
-    CVideoQualitySelector* self = CVideoQualitySelector::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// NewLC() of CVideoQualitySelector
-// ---------------------------------------------------------------------------
-//
-CVideoQualitySelector* CVideoQualitySelector::NewLC()
-    {
-    CVideoQualitySelector* self = new( ELeave ) CVideoQualitySelector;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Get number of defined quality levels.
-// ---------------------------------------------------------------------------
-//
-TInt CVideoQualitySelector::NumberOfQualityLevels()
-    {
-    return iQualityLevels->Count();
-    }
-
-// ---------------------------------------------------------------------------
-// Get quality set associated with the given level.
-// ---------------------------------------------------------------------------
-//
-void CVideoQualitySelector::GetVideoQualitySetL( SVideoQualitySet& aSet, TInt aLevel, TBool aAspectRatioWide )
-    {
-    if ( !aAspectRatioWide )
-        {
-        GetVideoQualitySetL( aSet, aLevel );
-        }
-    else
-        {
-        // NOT READY
-        User::Leave( KErrNotSupported );     
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Get quality set associated with the given level.
-// ---------------------------------------------------------------------------
-//
-void CVideoQualitySelector::GetVideoQualitySetL( SVideoQualitySet& aSet, TInt aLevel )
-    {
-    TVideoQualitySet currentSet;
-    
-    switch ( aLevel )
-        {
-        case EVideoQualityMMS :
-            {
-            iConfigManager->GetVideoQualitySet( currentSet, CImagingConfigManager::EQualityLow, KCameraDisplayID );
-            MapQualitySet( aSet, currentSet );
-            }
-            break;
-            
-        case EVideoQualityNormal :
-            {
-            iConfigManager->GetVideoQualitySet( currentSet, CImagingConfigManager::EQualityNormal, KCameraDisplayID );
-            MapQualitySet( aSet, currentSet );
-            }
-            break;
-            
-        case EVideoQualityHigh :
-            {
-            iConfigManager->GetVideoQualitySet( currentSet, CImagingConfigManager::EQualityHigh, KCameraDisplayID );
-            MapQualitySet( aSet, currentSet );
-            }
-            break;
-            
-        default:
-            {
-            if ( aLevel < EVideoQualityMin )
-                {
-                User::Leave( KErrArgument );
-                }
-            
-            // Map our quality level to config manager's quality level   
-            TInt configManagerLevel = aLevel * (CImagingConfigManager::EQualityHigh - CImagingConfigManager::EQualityMin);
-            configManagerLevel /= (EVideoQualityHigh - EVideoQualityMin);
-            
-            iConfigManager->GetVideoQualitySet( currentSet, configManagerLevel, KCameraDisplayID );
-            MapQualitySet( aSet, currentSet );
-            }
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Get quality set associated with the given video resolution.
-// ---------------------------------------------------------------------------
-//
-void CVideoQualitySelector::GetVideoQualitySetL( SVideoQualitySet& aSet, const TSize& aVideoResolution )
-    {
-    TVideoQualitySet currentSet;
-    TInt candidate = -1;
-    TInt i;
-    
-    // Go through the qualities until a match is found. If several matches, pick the 1st one
-    for ( i = iQualityLevels->Count() - 1; i >= 0; i-- ) // Searches from up to down to find higher quality first
-        {
-        iConfigManager->GetVideoQualitySet( currentSet, iQualityLevels->At( i ), KCameraDisplayID );
-        
-        if ( (currentSet.iVideoWidth == aVideoResolution.iWidth) && (currentSet.iVideoHeight == aVideoResolution.iHeight) )
-            {
-            // We've found a set which matches with the requested size
-            
-            if ( candidate == -1 )  // Don't set to worse if already found
-                {
-                candidate = i;
-                }
-            
-            if ( (currentSet.iVideoQualitySetLevel == CImagingConfigManager::EQualityLow) ||
-                 (currentSet.iVideoQualitySetLevel == CImagingConfigManager::EQualityNormal) ||
-                 (currentSet.iVideoQualitySetLevel == CImagingConfigManager::EQualityHigh) )
-                {
-                // We've found a set which matches also with preferred qualities
-                MapQualitySet( aSet, currentSet );
-                return;
-                }
-            }
-        }
-    
-    if ( candidate >= 0 ) 
-        {
-        iConfigManager->GetVideoQualitySet( currentSet, iQualityLevels->At( candidate ), KCameraDisplayID );
-        MapQualitySet( aSet, currentSet );
-        }
-    else
-        {
-        User::Leave( KErrNotSupported );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Get quality set associated with the given video codec MIME-type.
-// ---------------------------------------------------------------------------
-//
-void CVideoQualitySelector::GetVideoQualitySetL( SVideoQualitySet& aSet, const TPtrC8& aVideoCodecMimeType )
-    {
-    TVideoQualitySet currentSet;
-    TPtrC8 settingsMimeType;
-    TInt i;
-    
-    for ( i = iQualityLevels->Count() - 1; i >= 0; i-- ) // searches from up to down to find higher quality first
-        {
-        iConfigManager->GetVideoQualitySet( currentSet, iQualityLevels->At( i ), KCameraDisplayID );
-        
-        settingsMimeType.Set(TPtrC8(currentSet.iVideoCodecMimeType));
-        if ( settingsMimeType.MatchF( (const TDesC8& )aVideoCodecMimeType ) != KErrNotFound ) 
-            {
-            // Found a match
-            MapQualitySet( aSet, currentSet );
-            return;
-            }
-        }
-        
-    User::Leave( KErrNotSupported );
-    }
-    
-// ---------------------------------------------------------------------------
-// Copies the values from the source set to the target set.
-// ---------------------------------------------------------------------------
-//
-void CVideoQualitySelector::MapQualitySet( SVideoQualitySet& aTargetSet, TVideoQualitySet& aSourceSet )
-    {
-    TInt i = 0;
-    
-    // Video aspect ratio
-    // We don't have wide screen quality sets yet so this is always true
-    aTargetSet.iVideoAspectRatioNormal = ETrue;
-    
-    // Video file format mime type    
-    for ( i = 0; (i < KQSMaxShortStringLength - 1) && (i < KMaxStringLength); i++ )
-        {
-        aTargetSet.iVideoFileMimeType[i] = aSourceSet.iVideoFileMimeType[i];
-        }
-    aTargetSet.iVideoFileMimeType[i] = '\0';    // Add null termination
-    
-    // Video codec mime type    
-    for ( i = 0; (i < KQSMaxLongStringLength - 1) && (i < KMaxStringLength); i++ )
-        {
-        aTargetSet.iVideoCodecMimeType[i] = aSourceSet.iVideoCodecMimeType[i];
-        }
-    aTargetSet.iVideoCodecMimeType[i] = '\0';   // Add null termination
-    
-    // Video picture width in pixels (luminance)
-    aTargetSet.iVideoWidth = aSourceSet.iVideoWidth;
-    
-    // Video picture height in pixels (luminance)
-    aTargetSet.iVideoHeight = aSourceSet.iVideoHeight;
-    
-    // Video framerate in fps
-    aTargetSet.iVideoFrameRate = aSourceSet.iVideoFrameRate;
-    
-    // Video bitrate in bps
-    aTargetSet.iVideoBitRate = aSourceSet.iVideoBitRate;
-    
-    // Random access point rate, in pictures per second
-    aTargetSet.iRandomAccessRate = aSourceSet.iRandomAccessRate;
-    
-    // Audio codec FourCC
-    if ( aSourceSet.iAudioFourCCType == TFourCC(' ', 'A', 'M', 'R') )
-    {
-        // AMR
-        aTargetSet.iAudioFourCCType[0] = ' ';
-        aTargetSet.iAudioFourCCType[1] = 'A';
-        aTargetSet.iAudioFourCCType[2] = 'M';
-        aTargetSet.iAudioFourCCType[3] = 'R';
-        aTargetSet.iAudioFourCCType[4] = '\0';
-    } 
-    
-    else if (aSourceSet.iAudioFourCCType == TFourCC(' ', 'A', 'A', 'C') )
-    {
-        // AAC
-        aTargetSet.iAudioFourCCType[0] = ' ';
-        aTargetSet.iAudioFourCCType[1] = 'A';
-        aTargetSet.iAudioFourCCType[2] = 'A';
-        aTargetSet.iAudioFourCCType[3] = 'C';
-        aTargetSet.iAudioFourCCType[4] = '\0';
-    } 
-    else 
-        aTargetSet.iAudioFourCCType[0] = '\0';
-
-    // Audio bitrate in bps
-    aTargetSet.iAudioBitRate = aSourceSet.iAudioBitRate;
-    
-    // Audio sampling rate in Hz
-    aTargetSet.iAudioSamplingRate = aSourceSet.iAudioSamplingRate;
-    
-    // Number of audio channels
-    aTargetSet.iAudioChannels = aSourceSet.iAudioChannels;
-    }
-