mmappcomponents/mmmtpdataprovider/mmmtpdpplugins/mediamtpdataprovider/inc/mediamtpdataproviderconst.h
changeset 0 a2952bb97e68
child 9 bee149131e4b
child 25 d881023c13eb
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmappcomponents/mmmtpdataprovider/mmmtpdpplugins/mediamtpdataprovider/inc/mediamtpdataproviderconst.h	Thu Dec 17 08:55:47 2009 +0200
@@ -0,0 +1,240 @@
+/*
+* Copyright (c) 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:
+*
+*/
+
+
+#ifndef MEDIAMTPDATAPROVIDERCONST_H
+#define MEDIAMTPDATAPROVIDERCONST_H
+
+#include <mtp/mtpprotocolconstants.h>
+
+#include "tobjectdescription.h"
+
+_LIT( KMTPTxtColon, ":" );
+
+/** Granularity of the drive list*/
+const TInt KMtpMaxStringLength = 255;
+
+enum TMmMtpNumberOfChannels
+    {
+    EMTPChannelMono = 0x0001,
+    EMTPChannelStereo = 0x0002
+    };
+
+enum TMmMtpSampleRateValue
+    {
+    EMTPSampleRate8K = 0x00001F40,
+    EMTPSampleRate16K = 0x00003E80,
+    EMTPSampleRate22_05K = 0x00005622,
+    EMTPSampleRate24K = 0x00005DC0,
+    EMTPSampleRate32K = 0x00007D00,
+    EMTPSampleRate44_1K = 0x0000AC44,
+    EMTPSampleRate48K = 0x0000BB80
+    };
+
+// WAVECodec value
+enum TMmMtpWAVECodecValue
+    {
+    EMTPAudioWAVECodecMP3 = 0x00000055,
+    EMTPAudioWAVECodecWMA = 0x00000161,
+    EMTPAudioWAVECodecAAC = 0x0000A106,
+    EMTPAudioWAVECodecPCM = 0x00000001
+    };
+
+// Bitrate value scope
+enum TMmMtpBitrateValue
+    {
+    EMTPMP3MinBitrate = 0x00001F40,         //8 kbps
+    EMTPMP3MaxBitrate = 0x0004E200,         //320 kbps
+    EMTPWMAMinBitrate = 0x00001388,         //5 kbps
+    EMTPWMAMaxBitrate = 0x0004E200,         //320 kbps
+    EMTPAACMinBitrate = 0x00001F40,         //8 kbps
+    EMTPAACMaxBitrate = 0x0004E200,         //320 kbps
+    EMTPPCMMinBitrate = 0x00003E80,         //16 kbps
+    EMTPPCMMaxBitrate = 0x00177000,         //1536 kbps
+    EMTPAACPlusMinBitrate = 0x00003E80,     //16 kbps
+    EMTPAACPlusMaxBitrate = 0x0008CA00,     //576 kbps
+    EMTPAudioBitrateStep = 0x00000001
+    };
+
+enum TMmMtpDuration
+    {
+    EMTPMinDuration = 0x00000000,
+    EMTPMaxDuration = 0xFFFFFFFF,
+    EMTPDurationStep = 0x00000001
+    };
+
+enum TMmMtpWidthRange
+    {
+    EMTPMinWidth  = 0x000000b0,  // 176 pixels
+    EMTPMaxWidth  = 0x00000140,  // 320 pixels
+    EMTPStepWidth = 0x00000001,
+    };
+
+enum TMmMtpHeightRange
+    {
+    EMTPMinHeight  = 0x00000090,  // 144 pixels
+    EMTPMaxHeight  = 0x000000F0,  // 240 pixels
+    EMTPStepHeight = 0x00000001,
+    };
+
+enum TMmMtpVideoBitRateRange
+    {
+    EMTPWMVMinBitrate  = 0x00000000,
+    EMTPWMVMaxBitrate  = 0x0005dc00,        // 384 kbps
+    EMTPVideoBitrateStep = 0x00000001
+    };
+
+enum TMmMtpScanType
+    {
+    EMTPScanTypeProgressive = 0x0001
+    };
+
+enum TMmMtpVideoFourCCCodec
+    {
+    EMTPVideoFourCCCodecWMV3 = 0x33564d57/*,    // this is intended, please keep it like this, comment out asf fourcc for mp2a and mp4a, not sure if this is needed
+    EMTPVideoFourCCCodecMP2A = 0x4D503241,
+    EMTPVideoFourCCCodecMP4A = 0x4D503441*/
+    };
+
+enum TMmMtpFramesPerThousandSecondsRange
+    {
+    EMTPMinFramesPerThousandSeconds  = 0x00000000,
+    EMTPMaxFramesPerThousandSeconds  = 0x00003a98,  // 15000 frame per ms
+    EMTPStepFramesPerThousandSeconds = 0x00000001
+    };
+
+enum TMmMtpKeyFrameDistanceRange
+    {
+    EMTPMinKeyFrameDistance  = 0x00000000,
+    EMTPMaxKeyFrameDistance  = 0x00003a98,          // 15000 ms
+    EMTPStepKeyFrameDistance = 0x00000001
+    };
+
+enum TMmMtpDrmPropertyValues
+    {
+    EMTPDrmNoProtection    = 0x0000,
+    EMTPDrmProtection      = 0x0001,
+    EMTPDrmReserveForMTP   = 0x4000,
+    EMTPDrmVenderExtension = 0x4001
+    };
+
+enum TMmMtpOMADrmPropertyValues
+    {
+    EMTPOMADrmNoProtection    = 0x00,
+    EMTPOMADrmProtection      = 0x01
+    };
+
+/**
+* define all the operations that are supported by the media mtp data provider
+*/
+static const TUint16 KMediaMtpDataProviderSupportedFormats[] =
+    {
+    EMTPFormatCodeMP3,
+#ifdef __WINDOWS_MEDIA
+    EMTPFormatCodeWMA,
+#endif
+    EMTPFormatCodeMP4Container,
+    EMTPFormatCode3GPContainer,
+    EMTPFormatCodeAAC,
+    EMTPFormatCodeWAV,
+#ifdef __WINDOWS_MEDIA
+    EMTPFormatCodeWMV,
+    EMTPFormatCodeASF
+#endif
+    };
+
+/**
+* define all the operations that are supported by the media mtp data provider
+*/
+static const TUint16 KMediaMtpDataProviderSupportedOperations[] =
+    {
+    // basic mode
+    EMTPOpCodeGetObjectInfo,
+    EMTPOpCodeGetObject,
+    EMTPOpCodeDeleteObject,
+    EMTPOpCodeSendObjectInfo,
+    EMTPOpCodeSendObject,
+    EMTPOpCodeMoveObject,
+    EMTPOpCodeCopyObject,
+    EMTPOpCodeGetPartialObject,
+    EMTPOpCodeGetObjectPropsSupported,
+    EMTPOpCodeGetObjectPropDesc,
+    EMTPOpCodeGetObjectPropValue,
+    EMTPOpCodeSetObjectPropValue,
+
+    // enhanced mode
+    EMTPOpCodeGetObjectPropList,
+    EMTPOpCodeSetObjectPropList,
+    EMTPOpCodeGetInterdependentPropDesc,
+    EMTPOpCodeSendObjectPropList,
+    EMTPOpCodeGetFormatCapabilities
+    };
+
+// Mandatory for audio formats
+static const TUint16 KMmMtpDpSupportedPropMandatoryAudio[] =
+    {
+    EMTPObjectPropCodeArtist,
+    EMTPObjectPropCodeTrack,
+    EMTPObjectPropCodeGenre,
+    EMTPObjectPropCodeAlbumName,
+    EMTPObjectPropCodeSampleRate,
+    EMTPObjectPropCodeNumberOfChannels,
+    EMTPObjectPropCodeAudioWAVECodec,
+    EMTPObjectPropCodeAudioBitRate,
+    };
+
+// Additional for audio formats
+static const TUint16 KMmMtpDpSupportedPropAdditionalAudio[] =
+    {
+    EMTPObjectPropCodeDuration,
+    EMTPObjectPropCodeOriginalReleaseDate,
+    EMTPObjectPropCodeDescription,
+    EMTPObjectPropCodeComposer,
+    EMTPObjectPropCodeDRMStatus,
+    EMTPExtObjectPropCodeOmaDrmStatus,
+    };
+
+// Mandatory properties for WMV/ASF
+static const TUint16 KMmMtpDpSupportedPropMandatoryWMV[] =
+    {
+    EMTPObjectPropCodeWidth,
+    EMTPObjectPropCodeHeight,
+    EMTPObjectPropCodeDuration,
+    EMTPObjectPropCodeGenre,
+    EMTPObjectPropCodeUseCount,
+    EMTPObjectPropCodeSampleRate,
+    EMTPObjectPropCodeNumberOfChannels,
+    EMTPObjectPropCodeScanType,
+    EMTPObjectPropCodeAudioWAVECodec,
+    EMTPObjectPropCodeAudioBitRate,
+    EMTPObjectPropCodeVideoFourCCCodec,
+    EMTPObjectPropCodeVideoBitRate,
+    EMTPObjectPropCodeFramesPerThousandSeconds,
+    EMTPObjectPropCodeKeyFrameDistance,
+    EMTPObjectPropCodeEncodingProfile,
+    };
+
+// Additional for WMV/ASF
+static const TUint16 KMmMtpDpSupportedPropAdditionalWMV[] =
+    {
+    EMTPObjectPropCodeParentalRating,
+    EMTPObjectPropCodeDRMStatus,
+    EMTPExtObjectPropCodeOmaDrmStatus,
+    };
+
+
+#endif // MEDIAMTPDATAPROVIDERCONST_H