00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef MMCCINTERFACEDEF_H
00020 #define MMCCINTERFACEDEF_H
00021
00022 #include <e32def.h>
00023 #include <ecam.h>
00024 #include <mmf\common\mmfbase.h>
00025 #include <mmf\common\mmffourcc.h>
00026 #include <mmccctrlobserver.h>
00027 #include <mmccevents.h>
00028 #include <mmcccodecinformation.h>
00029
00030
00038 const TUid KMccInterfaceUid = { 0x102073F7 };
00039 const TUid KMccFileSinkUid = { 0x102747D7 };
00040 const TUid KMccFileSourceUid = { 0x102747D5 };
00041 const TUid KMccRtpSourceUid = { 0x1020740B };
00042 const TUid KMccRtpSinkUid = { 0x1020740C };
00043 const TUid KMccVideoSourceUid = { 0x102747D6 };
00044 const TUid KMccVideoSinkUid = { 0x102747D8 };
00045 const TUid KMccAnySourceUid = { 0x10283394 };
00046 const TUid KMccAnySinkUid = { 0x10283395 };
00047
00051 const TUint32 KMccAudioToPrivate = 3;
00052 const TUint32 KMccAudioToPublic = 4;
00053 class TMMFPrioritySettings;
00054
00058 const TInt KMccLinkGeneral = 100;
00059 const TInt KMccLinkLocal = 101;
00060 const TInt KMccLinkGeneralVideo = 102;
00061
00062
00066 const TInt KMccAudioUplinkStream = 200;
00067 const TInt KMccAudioDownlinkStream = 201;
00068 const TInt KMccAudioLocalStream = 202;
00069 const TInt KMccVideoUplinkStream = 203;
00070 const TInt KMccVideoDownlinkStream = 204;
00071 const TInt KMccVideoLocalStream = 205;
00072 const TInt KMccAudioDownlinkStandbyStream = 206;
00073 const TInt KMccDtmfStream = 207;
00074
00075 const TInt KMccMaxBundleSize = 40;
00076
00080 enum TMccDevice
00081 {
00082 EMccAudioPlay = 300,
00083 EMccAudioRecord
00084 };
00085
00089 enum TMccVideoRotation
00090 {
00091 EMccNone,
00092 EMccClockwise90Degree,
00093 EMccClockwise180Degree,
00094 EMccClockwise270Degree
00095 };
00096
00100 enum TMediaQualityReport
00101 {
00102 EMccJitterReport = 0,
00103 EMccPacketLossReport,
00104 EMccQualityReportAll
00105 };
00106
00110 enum TMediaReportInterval
00111 {
00112 EMccQualityTimeBased = 0,
00113 EMccQualityPacketBased
00114 };
00115
00119 class TMccVideoSinkSetting
00120 {
00121 public:
00122
00126 TPoint iLocation;
00127
00131 TSize iSize;
00132
00136 TUint iVideoPayloadType;
00137
00141 TUint iAudioPayloadType;
00142
00146 TUint iIAPId;
00147
00151 TUint iDeviceIndex;
00152
00156 TMMFPrioritySettings iPriority;
00157
00161 TInt iWindowOrdinalPosition;
00162
00166 TInt iWindowOrdinalPriority;
00167
00171 TMccVideoRotation iRotation;
00172
00176 TReal iVideoFrameRate;
00177
00178 };
00179
00180 typedef TPckgBuf<TMccVideoSinkSetting> TMccVideoSinkSettingBuf;
00181
00185 class TMccVideoSourceSetting
00186 {
00187 public:
00188
00189 TBuf8<KMaxConfigKeyLen> iConfigKey;
00190
00194 TSize iSize;
00195
00199 TUint iVideoPayloadType;
00200
00204 TUint iAudioPayloadType;
00205
00209 TUint iDeviceIndex;
00210
00214 TMMFPrioritySettings iPriority;
00215
00216 };
00217
00218 typedef TPckgBuf<TMccVideoSourceSetting> TMccVideoSourceSettingBuf;
00219
00223 class TMccVideoInfo
00224 {
00225 public:
00226
00230 TInt iNumOfCameras;
00231
00236 TCameraInfo iInfo;
00237 };
00238
00239 typedef TPckgBuf<TMccVideoInfo> TMccVideoInfoBuf;
00240
00244 class TMccFileSourceSetting
00245 {
00246 public:
00247
00251 TFileName iFileName;
00252
00256 TTimeIntervalMicroSeconds iDuration;
00257
00261 TTimeIntervalMicroSeconds iPosition;
00262
00266 TReal iVideoFrameRate;
00267
00271 TUint32 iVideoBitRate;
00272
00276 TSize iVideoFrameSize;
00277
00281 TUint32 iAudioBitRate;
00282
00286 TFourCC iAudioFourCC;
00287
00291 TFourCC iVideoFourCC;
00292
00293 };
00294
00295 typedef TPckgBuf<TMccFileSourceSetting> TMccFileSourceSettingBuf;
00296
00300 class TMccRtpSourceSetting
00301 {
00302 public:
00303
00307 TUint32 iStandByTimerValue;
00308
00309 };
00310
00311 typedef TPckgBuf<TMccRtpSourceSetting> TMccRtpSourceSettingBuf;
00312
00319 class TMccMediaQualityConfig
00320 {
00321 public:
00322
00326 inline TMccMediaQualityConfig() : iJitterLevel( 0 ), iPacketLoss( 0 ),
00327 iReportType( EMccQualityReportAll ),
00328 iReportIntervalType( EMccQualityTimeBased ), iReportInterval( 0 ),
00329 iSessionId( KNullId ), iEndpointId( 0 )
00330 { };
00331
00335 inline TMccMediaQualityConfig( const TMccMediaQualityConfig& aConfig ) :
00336 iJitterLevel( aConfig.iJitterLevel ), iPacketLoss( aConfig.iPacketLoss ),
00337 iReportType( aConfig.iReportType ),
00338 iReportIntervalType( aConfig.iReportIntervalType ),
00339 iReportInterval( aConfig.iReportInterval ),
00340 iSessionId( aConfig.iSessionId ),
00341 iEndpointId( aConfig.iEndpointId )
00342 { };
00343
00344 public:
00345
00352 inline TInt CheckConfig() const
00353 {
00354 if( ( !iJitterLevel || !iPacketLoss ) && !iReportInterval )
00355 {
00356 return KErrArgument;
00357 }
00358 else if( KNullId == iSessionId )
00359 {
00360 return KErrArgument;
00361 }
00362 else
00363 {
00364 return KErrNone;
00365 }
00366 };
00367
00368 public:
00369
00373 TInt iJitterLevel;
00374
00378 TInt iPacketLoss;
00379
00383 TMediaQualityReport iReportType;
00384
00389 TMediaReportInterval iReportIntervalType;
00390
00394 TInt iReportInterval;
00395
00399 TUint32 iSessionId;
00400
00404 TUint32 iEndpointId;
00405
00406 };
00407
00408 typedef TPckgBuf<TMccMediaQualityConfig> TMccMediaQualConfBuf;
00409
00413 class TMccStreamBundle
00414 {
00415 public:
00416
00420 TUint iType;
00421
00425 TUint32 iStreams[ KMccMaxBundleSize ];
00426
00427 };
00428
00432 const TUint32 KMccCamZoomFactor = 1;
00433 const TUint32 KMccCamDigitZoomFactor = 2;
00434 const TUint32 KMccCamContrast = 3;
00435 const TUint32 KMccCamBrightness = 4;
00436 const TUint32 KMccCamWhiteBalance = 5;
00437 const TUint32 KMccCamLocalVideo = 6;
00438 const TUint32 KMccCamInfo = 7;
00439 const TUint32 KMccCamCount = 8;
00440 const TUint32 KMccCamExposure = 9;
00441
00445 const TUint32 KMccMicGain = 10;
00446 const TUint32 KMccMicMaxGain = 11;
00447 const TUint32 KMccMicBalance = 12;
00448 const TUint32 KMccSpeakerVolume = 13;
00449 const TUint32 KMccSpeakerMaxVolume = 14;
00450 const TUint32 KMccSpeakerBalance = 15;
00451 const TUint32 KMccSpeakerRouting = 16;
00452
00453 const TUint32 KMccDisplayLocalVideo = 17;
00454
00459 const TUint32 KMccFileInfo = 18;
00460 const TUint32 KMccFileName = 19;
00461 const TUint32 KMccFileDuration = 20;
00462 const TUint32 KMccFilePosition = 21;
00463 const TUint32 KMccFileVideoFrameRate = 22;
00464 const TUint32 KMccFileVideoBitRate = 23;
00465 const TUint32 KMccFileVideoFrameSize = 24;
00466 const TUint32 KMccFileAudioBitRate = 25;
00467 const TUint32 KMccFileAudioFourCC = 26;
00468 const TUint32 KMccFileVideoFourCC = 27;
00469
00470
00471
00472
00473
00474 const TUint32 KMccFileFastForward = 28;
00475
00476 const TUint32 KMccRtpCName = 29;
00477
00478
00479 const TUint32 KMccVideoFrameRate = 30;
00480
00481
00482 const TUint32 KMccConfigKey = 31;
00483
00484 #endif // MMCCINTERFACEDEF_H