--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/camcordermmfplugin/mediarecorder/Inc/CCMRConfigManager.h Thu Dec 17 08:51:24 2009 +0200
@@ -0,0 +1,174 @@
+/*
+* Copyright (c) 2007 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: Config manager for Media recorder
+*
+*/
+
+
+#ifndef CCMRCONFIGMANAGER_H
+#define CCMRCONFIGMANAGER_H
+
+#include <imagingconfigmanager.h>
+#include <mmf/common/mmffourcc.h>
+
+/**
+ * CamcorderMMFPlugin config manager.
+ * Manager for config/setup parameters used in Media Recorder.
+ * Wraps Imaging Config Manager for CamcorderMMFPlugin usage.
+ *
+ * @lib CAMCMEDIARECORDER.lib
+ * @since S60 v3.2
+ */
+class CCMRConfigManager : public CBase
+ {
+public:
+
+ /**
+ * Two-phased constructor.
+ */
+ static CCMRConfigManager* NewL();
+
+ /**
+ * Two-phased constructor.
+ */
+ static CCMRConfigManager* NewLC();
+
+ /**
+ * Destructor.
+ */
+ ~CCMRConfigManager();
+
+ /**
+ * Set video codec mime type.
+ *
+ * @since S60 v3.2
+ * @param aVideoCodec Video codec.
+ */
+ void SetVideoCodec(TDesC8& aVideoCodec);
+
+ /**
+ * Set audio codec mime type (TFourCC).
+ *
+ * @since S60 v3.2
+ * @param aAudioCodec Audio codec.
+ */
+ void SetAudioCodec(TFourCC& aAudioCodec);
+
+ /**
+ * Set video frame size.
+ *
+ * @since S60 v3.2
+ * @param aFrameSize Video frame size.
+ */
+ void SetVideoFrameSize(TSize aVideoFrameSize);
+
+ /**
+ * Set video pixel aspect ratio.
+ *
+ * @since S60 v3.2
+ * @param aNumerator Numerator.
+ * @param aDenominator Denominator.
+ */
+ void SetVideoPixelAspectRatio(TUint aNumerator, TUint aDenominator);
+
+ /**
+ * Query whether Imaging Configuration data is available
+ *
+ * @since S60 v3.2
+ * @return EFalse/ETrue whether ICM data is available.
+ */
+ TBool IsICMConfigDataAvailable() const;
+
+ /**
+ * Get CamcorderMMFPlugin specific settings.
+ *
+ * @since S60 v3.2
+ * @return CamcorderMMFPlugin specific settings.
+ */
+ const TCamcorderMMFPluginSettings PluginSettings() const;
+
+ /**
+ * Get Video Quality settings.
+ *
+ * @since S60 v3.2
+ * @return Video quality settings.
+ */
+ const TVideoQualitySet VideoQualitySettings() const;
+
+
+private:
+
+ CCMRConfigManager();
+
+ void ConstructL();
+
+ /**
+ * Resets config manager to new Video Quality (TVideoQualitySet iActiveVideoQualitySet)
+ * setting using Imaging Config Manager (ICM)
+ *
+ * @since S60 v3.2
+ */
+ void ResetVideoQualitySet();
+
+private: // data
+
+ /**
+ * Set video frame size.
+ */
+ TSize iVideoFrameSize;
+
+ /**
+ * Set video codec mime type.
+ */
+ TBuf8<256> iVideoCodec;
+
+ /**
+ * Set audio codec type (TFourCC)
+ */
+ TFourCC iAudioCodec;
+
+ /**
+ * Set video pixel aspect ration numerator.
+ */
+ TUint iVideoPixelAspectRatioNum;
+
+ /**
+ * Set video pixel aspect ration denomirator.
+ */
+ TUint iVideoPixelAspectRatioDenom;
+
+ /**
+ * Current active Video Quality settings set.
+ */
+ TBool iICMDataAvailable;
+
+ /**
+ * Current active Video Quality settings set.
+ */
+ TVideoQualitySet iActiveVideoQualitySet;
+
+ /**
+ * Current active CamcorderMMFPlugin settings set.
+ */
+ TCamcorderMMFPluginSettings iPluginSettings;
+
+ /**
+ * Imaging Config Manager
+ * Own.
+ */
+ CImagingConfigManager* iImagingConfigManager;
+ };
+
+
+#endif // CCMRCONFIGMANAGER_H