epoc32/include/mmf/common/mmfstandardcustomcommands.h
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
     1.1 --- a/epoc32/include/mmf/common/mmfstandardcustomcommands.h	Wed Mar 31 12:27:01 2010 +0100
     1.2 +++ b/epoc32/include/mmf/common/mmfstandardcustomcommands.h	Wed Mar 31 12:33:34 2010 +0100
     1.3 @@ -1,9 +1,9 @@
     1.4  // Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
     1.5  // All rights reserved.
     1.6  // This component and the accompanying materials are made available
     1.7 -// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
     1.8 +// under the terms of "Eclipse Public License v1.0"
     1.9  // which accompanies this distribution, and is available
    1.10 -// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
    1.11 +// at the URL "http://www.eclipse.org/legal/epl-v10.html".
    1.12  //
    1.13  // Initial Contributors:
    1.14  // Nokia Corporation - initial contribution.
    1.15 @@ -18,7 +18,7 @@
    1.16  
    1.17  #include <mmf/common/mmfcontroller.h>
    1.18  #include <mmf/common/mmfvideo.h>
    1.19 -#include <mmf/common/mmcaf.h>
    1.20 +#include "mmf/common/mmcaf.h"
    1.21  
    1.22  class CMMFVideoFrameMessage;
    1.23  class CFbsBitmap;
    1.24 @@ -78,16 +78,6 @@
    1.25  */
    1.26  const TUid KMMFEventCategoryAudioResourceAvailable = {0x101FD9F2};
    1.27  
    1.28 -/**
    1.29 -@internalComponent
    1.30 -*/
    1.31 -enum TMMFAudioResourceNotificationMessages
    1.32 -	{
    1.33 -	EMMFAudioResourceRegisterNotification,
    1.34 -	EMMFAudioResourceCancelRegisterNotification,
    1.35 -	EMMFAudioResourceGetNotificationData,
    1.36 -	EMMFAudioResourceWillResumePlay
    1.37 -	};
    1.38  
    1.39  /**
    1.40  @publishedAll
    1.41 @@ -98,273 +88,83 @@
    1.42  const TUid KUidInterfaceMMFAudioPlayDevice = {0x101F76D6};
    1.43  
    1.44  /**
    1.45 -@internalComponent
    1.46 +@publishedAll
    1.47 +@released
    1.48 +
    1.49 +Interface UID and messages for the Audio Record Device API.
    1.50  */
    1.51 -enum TMMFAudioPlayDeviceMessages
    1.52 -	{
    1.53 -	EMMFAudioPlayDeviceSetVolume,
    1.54 -	EMMFAudioPlayDeviceGetMaxVolume,
    1.55 -	EMMFAudioPlayDeviceGetVolume,
    1.56 -	EMMFAudioPlayDeviceSetVolumeRamp,
    1.57 -	EMMFAudioPlayDeviceSetBalance,
    1.58 -	EMMFAudioPlayDeviceGetBalance
    1.59 -	};
    1.60 +const TUid KUidInterfaceMMFAudioRecordDevice = {0x101F76D7};
    1.61  
    1.62  /**
    1.63  @publishedAll
    1.64  @released
    1.65  
    1.66 -Interface UID and messages for the Audio Record Device API.
    1.67 +Interface UID and messages for the Audio Play Controller API.
    1.68  */
    1.69 -const TUid KUidInterfaceMMFAudioRecordDevice = {0x101F76D7};
    1.70 -
    1.71 -/**
    1.72 -@internalComponent
    1.73 -*/
    1.74 -enum TMMFAudioRecordDeviceMessage
    1.75 -	{
    1.76 -	EMMFAudioRecordDeviceSetGain,
    1.77 -	EMMFAudioRecordDeviceGetMaxGain,
    1.78 -	EMMFAudioRecordDeviceGetGain,
    1.79 -	EMMFAudioRecordDeviceSetBalance,
    1.80 -	EMMFAudioRecordDeviceGetBalance
    1.81 -	};
    1.82 +const TUid KUidInterfaceMMFAudioPlayController = {0x101F76D8};
    1.83  
    1.84  /**
    1.85  @publishedAll
    1.86  @released
    1.87  
    1.88 -Interface UID and messages for the Audio Play Controller API.
    1.89 +Interface UID and messages for the Audio Record Controller API.
    1.90  */
    1.91 -const TUid KUidInterfaceMMFAudioPlayController = {0x101F76D8};
    1.92 -
    1.93 -/**
    1.94 -@internalComponent
    1.95 -*/
    1.96 -enum TMMFAudioPlayControllerMessages
    1.97 -	{
    1.98 -	EMMFAudioPlayControllerSetPlaybackWindow,
    1.99 -	EMMFAudioPlayControllerDeletePlaybackWindow,
   1.100 -	EMMFAudioPlayControllerGetLoadingProgress
   1.101 -	};
   1.102 +const TUid KUidInterfaceMMFAudioRecordController = {0x101F76D9};
   1.103  
   1.104  /**
   1.105  @publishedAll
   1.106  @released
   1.107  
   1.108 -Interface UID and messages for the Audio Record Controller API.
   1.109 -*/
   1.110 -const TUid KUidInterfaceMMFAudioRecordController = {0x101F76D9};
   1.111 -
   1.112 -/**
   1.113 -@internalComponent
   1.114 -*/
   1.115 -enum TMMFAudioRecordControllerMessages
   1.116 -	{
   1.117 -	EMMFAudioRecordControllerGetRecordTimeAvailable,
   1.118 -	EMMFAudioRecordControllerSetMaxDuration,
   1.119 -	EMMFAudioRecordControllerSetMaxFileSize,
   1.120 -	EMMFAudioRecordControllerCrop,
   1.121 -	EMMFAudioRecordControllerAddMetaDataEntry,
   1.122 -	EMMFAudioRecordControllerRemoveMetaDataEntry,
   1.123 -	EMMFAudioRecordControllerReplaceMetaDataEntry
   1.124 -	};
   1.125 -
   1.126 -/**
   1.127 -@publishedAll
   1.128 -@released
   1.129 -
   1.130  Interface UID and messages for the Audio Controller API.
   1.131  */
   1.132  const TUid KUidInterfaceMMFAudioController = {0x101F76DA};
   1.133  
   1.134  /**
   1.135 -@internalComponent
   1.136 -*/
   1.137 -enum TMMFAudioControllerMessages
   1.138 -	{
   1.139 -	EMMFAudioControllerSetSourceSampleRate,
   1.140 -	EMMFAudioControllerSetSourceNumChannels,
   1.141 -	EMMFAudioControllerSetSourceFormat,
   1.142 -	EMMFAudioControllerSetSourceBitRate,
   1.143 -	EMMFAudioControllerSetSourceDataType,
   1.144 -	EMMFAudioControllerSetSinkSampleRate,
   1.145 -	EMMFAudioControllerSetSinkNumChannels,
   1.146 -	EMMFAudioControllerSetSinkFormat,
   1.147 -	EMMFAudioControllerSetSinkBitRate,
   1.148 -	EMMFAudioControllerSetSinkDataType,
   1.149 -	EMMFAudioControllerGetSourceSampleRate,
   1.150 -	EMMFAudioControllerGetSourceBitRate,
   1.151 -	EMMFAudioControllerGetSourceNumChannels,
   1.152 -	EMMFAudioControllerGetSourceFormat,
   1.153 -	EMMFAudioControllerGetSourceDataType,
   1.154 -	EMMFAudioControllerGetSinkSampleRate,
   1.155 -	EMMFAudioControllerGetSinkBitRate,
   1.156 -	EMMFAudioControllerGetSinkNumChannels,
   1.157 -	EMMFAudioControllerGetSinkFormat,
   1.158 -	EMMFAudioControllerGetSinkDataType,
   1.159 -	EMMFAudioControllerGetSupportedSourceSampleRates,
   1.160 -	EMMFAudioControllerGetSupportedSourceBitRates,
   1.161 -	EMMFAudioControllerGetSupportedSourceNumChannels,
   1.162 -	EMMFAudioControllerGetSupportedSourceDataTypes,
   1.163 -	EMMFAudioControllerGetSupportedSinkSampleRates,
   1.164 -	EMMFAudioControllerGetSupportedSinkBitRates,
   1.165 -	EMMFAudioControllerGetSupportedSinkNumChannels,
   1.166 -	EMMFAudioControllerGetSupportedSinkDataTypes,
   1.167 -	EMMFAudioControllerCopyArrayData,
   1.168 -	EMMFAudioControllerSetCodec
   1.169 -	};
   1.170 -
   1.171 -
   1.172 -/**
   1.173  @publishedAll
   1.174  @released
   1.175  */
   1.176  const TUid KUidInterfaceMMFVideoController = {0x101F76DB};
   1.177  
   1.178  /**
   1.179 -@internalComponent
   1.180 -*/
   1.181 -enum TMMFVideoControllerMessages
   1.182 -	{
   1.183 -	EMMFVideoControllerGetAudioCodec,
   1.184 -	EMMFVideoControllerGetVideoBitRate,
   1.185 -	EMMFVideoControllerGetAudioBitRate,
   1.186 -	EMMFVideoControllerGetVideoFrameSize,
   1.187 -	EMMFVideoControllerSetFrameRate,
   1.188 -	EMMFVideoControllerGetFrameRate,
   1.189 -	EMMFVideoControllerGetVideoMimeType
   1.190 -	};
   1.191 -
   1.192 -/**
   1.193  @publishedAll
   1.194  @released
   1.195  */
   1.196  const TUid KUidInterfaceMMFVideoPlayController = {0x101F7B73};
   1.197  
   1.198  /**
   1.199 -@internalComponent
   1.200 -*/
   1.201 -enum TMMFVideoPlayControllerMessages
   1.202 -	{
   1.203 -	EMMFVideoPlayControllerPrepare,
   1.204 -	EMMFVideoPlayControllerGetFrame,
   1.205 -	EMMFVideoPlayControllerSetDisplayWindow,
   1.206 -	EMMFVideoPlayControllerGetAudioEnabled,
   1.207 -	EMMFVideoPlayControllerUpdateDisplayRegion,
   1.208 -	EMMFVideoPlayControllerDSAEvent,
   1.209 -	EMMFVideoPlayControllerPlay,
   1.210 -	EMMFVideoPlayControllerRefreshFrame,
   1.211 -	EMMFVideoPlayControllerGetLoadingProgress,
   1.212 -	EMMFVideoPlayControllerSetRotation,
   1.213 -	EMMFVideoPlayControllerGetRotation,
   1.214 -	EMMFVideoPlayControllerSetScaleFactor,
   1.215 -	EMMFVideoPlayControllerGetScaleFactor,
   1.216 -	EMMFVideoPlayControllerSetCropRegion,
   1.217 -	EMMFVideoPlayControllerGetCropRegion
   1.218 -	};
   1.219 -
   1.220 -/**
   1.221  @publishedAll
   1.222  @released
   1.223  */
   1.224  const TUid KUidInterfaceMMFVideoRecordController = {0x101F7B74};
   1.225  
   1.226  /**
   1.227 -@internalComponent
   1.228 +@publishedAll
   1.229 +@released
   1.230  */
   1.231 -enum TMMFVideoRecordControllerMessages
   1.232 -	{
   1.233 -	EMMFVideoRecordControllerSetVideoFormat,
   1.234 -	EMMFVideoRecordControllerSetVideoCodec,
   1.235 -	EMMFVideoRecordControllerSetAudioCodec,
   1.236 -	EMMFVideoRecordControllerSetVideoBitRate,
   1.237 -	EMMFVideoRecordControllerSetAudioBitRate,
   1.238 -	EMMFVideoRecordControllerSetVideoFrameSize,
   1.239 -	EMMFVideoRecordControllerSetMaxFileSize,
   1.240 -	EMMFVideoRecordControllerAddMetaDataEntry,
   1.241 -	EMMFVideoRecordControllerRemoveMetaDataEntry,
   1.242 -	EMMFVideoRecordControllerReplaceMetaDataEntry,
   1.243 -	EMMFVideoRecordControllerSetAudioEnabled,
   1.244 -	EMMFVideoRecordControllerPrepare,
   1.245 -	EMMFVideoRecordControllerSetCameraHandle,
   1.246 -	EMMFVideoRecordControllerGetRecordTimeAvailable,
   1.247 -	EMMFVideoRecordControllerGetSupportedSinkAudioTypes,
   1.248 -	EMMFVideoRecordControllerGetSupportedSinkVideoTypes,
   1.249 -	EMMFVideoRecordControllerCopyDescriptorArrayData,
   1.250 -	EMMFVideoRecordControllerCopyFourCCArrayData,
   1.251 -	EMMFVideoRecordControllerGetAudioEnabled // INC23777
   1.252 -	};
   1.253 +const TUid KUidInterfaceMMFVideoDRMExt = {0x101F7C23};
   1.254 +
   1.255 +/**
   1.256 +@publishedAll
   1.257 +@released
   1.258 +
   1.259 +Interface UID for the custom command that supports setting the initial screen for video on the controller.
   1.260 +*/
   1.261 +const TUid KUidInterfaceMMFVideoSetInitScreen = {0x102825F7};
   1.262  
   1.263  /**
   1.264  @publishedAll
   1.265  @released
   1.266  */
   1.267 -const TUid KUidInterfaceMMFVideoDRMExt = {0x101F7C23};
   1.268 -
   1.269 -/**
   1.270 -@internalComponent
   1.271 -*/
   1.272 -enum TMMFDRMIntentMessages
   1.273 -	{
   1.274 -	EMMFVideoDRMExtGetFrame
   1.275 -	};
   1.276 +const TUid KUidInterfaceMMFVideoPixelAspectRatio = {0x102831EF};
   1.277 +
   1.278  
   1.279  /**
   1.280  @publishedAll
   1.281  @released
   1.282 -
   1.283 -Interface UID for the custom command that supports setting the initial screen for video on the controller.
   1.284 -*/
   1.285 -const TUid KUidInterfaceMMFVideoSetInitScreen = {0x102825F7};
   1.286 -
   1.287 -/**
   1.288 -@internalComponent
   1.289 -*/
   1.290 -enum TMMFVideoScreenDeviceMessages
   1.291 -	{
   1.292 -	EMMFVideoSetInitScreenNumber
   1.293 -	};
   1.294 -
   1.295 -
   1.296 -/**
   1.297 -@publishedAll
   1.298 -@prototype
   1.299 -*/
   1.300 -const TUid KUidInterfaceMMFVideoPixelAspectRatio = {0x102831EF};
   1.301 -
   1.302 -/**
   1.303 -@internalComponent
   1.304 -*/
   1.305 -enum TMMFVideoPixelAspectRatioMessages
   1.306 -	{
   1.307 -	EMMFVideoGetPixelAspectRatio,
   1.308 -	EMMFVideoSetPixelAspectRatio,
   1.309 -	EMMFVideoGetSupportedPixelAspectRatios,
   1.310 -	EMMFVideoPixelAspectRatioCopyArrayData
   1.311 -	};
   1.312 -
   1.313 -/**
   1.314 -@publishedAll
   1.315 -@prototype
   1.316  */
   1.317  const TUid KUidInterfaceMMFVideoAudioSamplingRateAndChannelConfig = {0x102831F0};
   1.318  
   1.319  /**
   1.320 -@internalComponent
   1.321 -*/
   1.322 -enum TMMFVideoAudioSamplingRateAndChannelConfigMessages
   1.323 -	{
   1.324 -	EMMFVideoGetAudioChannels,
   1.325 -	EMMFVideoSetAudioChannels,
   1.326 -	EMMFVideoGetSupportedAudioChannels,
   1.327 -	EMMFVideoGetAudioSampleRate,
   1.328 -	EMMFVideoSetAudioSampleRate,
   1.329 -	EMMFVideoGetSupportedAudioSampleRates,
   1.330 -	EMMFVideoAudioSamplingRateAndChannelConfigCopyArrayData
   1.331 -	};
   1.332 -
   1.333 -/**
   1.334  @publishedAll
   1.335  @released
   1.336  
   1.337 @@ -1414,6 +1214,50 @@
   1.338  	MMMFAudioRecordControllerCustomCommandImplementor& iImplementor;
   1.339  	};
   1.340  
   1.341 +#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
   1.342 +#include <mmf/common/mmfstandardcustomcommandsenums.h>
   1.343 +#include <mmf/common/mmfstandardcustomcommandsimpl.h>
   1.344 +#endif
   1.345 +
   1.346 +/**
   1.347 +@publishedAll
   1.348 +@released
   1.349 +*/
   1.350 +
   1.351 +	enum TMMFAudioControllerMessages
   1.352 +		{
   1.353 +		EMMFAudioControllerSetSourceSampleRate,
   1.354 +		EMMFAudioControllerSetSourceNumChannels,
   1.355 +		EMMFAudioControllerSetSourceFormat,
   1.356 +		EMMFAudioControllerSetSourceBitRate,
   1.357 +		EMMFAudioControllerSetSourceDataType,
   1.358 +		EMMFAudioControllerSetSinkSampleRate,
   1.359 +		EMMFAudioControllerSetSinkNumChannels,
   1.360 +		EMMFAudioControllerSetSinkFormat,
   1.361 +		EMMFAudioControllerSetSinkBitRate,
   1.362 +		EMMFAudioControllerSetSinkDataType,
   1.363 +		EMMFAudioControllerGetSourceSampleRate,
   1.364 +		EMMFAudioControllerGetSourceBitRate,
   1.365 +		EMMFAudioControllerGetSourceNumChannels,
   1.366 +		EMMFAudioControllerGetSourceFormat,
   1.367 +		EMMFAudioControllerGetSourceDataType,
   1.368 +		EMMFAudioControllerGetSinkSampleRate,
   1.369 +		EMMFAudioControllerGetSinkBitRate,
   1.370 +		EMMFAudioControllerGetSinkNumChannels,
   1.371 +		EMMFAudioControllerGetSinkFormat,
   1.372 +		EMMFAudioControllerGetSinkDataType,
   1.373 +		EMMFAudioControllerGetSupportedSourceSampleRates,
   1.374 +		EMMFAudioControllerGetSupportedSourceBitRates,
   1.375 +		EMMFAudioControllerGetSupportedSourceNumChannels,
   1.376 +		EMMFAudioControllerGetSupportedSourceDataTypes,
   1.377 +		EMMFAudioControllerGetSupportedSinkSampleRates,
   1.378 +		EMMFAudioControllerGetSupportedSinkBitRates,
   1.379 +		EMMFAudioControllerGetSupportedSinkNumChannels,
   1.380 +		EMMFAudioControllerGetSupportedSinkDataTypes,
   1.381 +		EMMFAudioControllerCopyArrayData,
   1.382 +		EMMFAudioControllerSetCodec
   1.383 +		};
   1.384 +
   1.385  
   1.386  /**
   1.387  @publishedAll
   1.388 @@ -2616,6 +2460,35 @@
   1.389  /**
   1.390  @publishedAll
   1.391  @released
   1.392 +*/
   1.393 +
   1.394 +	enum TMMFVideoRecordControllerMessages
   1.395 +		{
   1.396 +		EMMFVideoRecordControllerSetVideoFormat,
   1.397 +		EMMFVideoRecordControllerSetVideoCodec,
   1.398 +		EMMFVideoRecordControllerSetAudioCodec,
   1.399 +		EMMFVideoRecordControllerSetVideoBitRate,
   1.400 +		EMMFVideoRecordControllerSetAudioBitRate,
   1.401 +		EMMFVideoRecordControllerSetVideoFrameSize,
   1.402 +		EMMFVideoRecordControllerSetMaxFileSize,
   1.403 +		EMMFVideoRecordControllerAddMetaDataEntry,
   1.404 +		EMMFVideoRecordControllerRemoveMetaDataEntry,
   1.405 +		EMMFVideoRecordControllerReplaceMetaDataEntry,
   1.406 +		EMMFVideoRecordControllerSetAudioEnabled,
   1.407 +		EMMFVideoRecordControllerPrepare,
   1.408 +		EMMFVideoRecordControllerSetCameraHandle,
   1.409 +		EMMFVideoRecordControllerGetRecordTimeAvailable,
   1.410 +		EMMFVideoRecordControllerGetSupportedSinkAudioTypes,
   1.411 +		EMMFVideoRecordControllerGetSupportedSinkVideoTypes,
   1.412 +		EMMFVideoRecordControllerCopyDescriptorArrayData,
   1.413 +		EMMFVideoRecordControllerCopyFourCCArrayData,
   1.414 +		EMMFVideoRecordControllerGetAudioEnabled // INC23777
   1.415 +		};
   1.416 +
   1.417 +
   1.418 +/**
   1.419 +@publishedAll
   1.420 +@released
   1.421  
   1.422  Client class to access functionality specific to a video recorder controller.
   1.423  
   1.424 @@ -3894,1108 +3767,6 @@
   1.425      MMMFResourceNotificationCustomCommandImplementor& iImplementor;
   1.426  	};
   1.427  
   1.428 -/**
   1.429 -@publishedPartner
   1.430 -@prototype
   1.431 -
   1.432 -Client class to allow setting the initial screen for video display.
   1.433 -
   1.434 -*/
   1.435 -class RMMFVideoSetInitScreenCustomCommands : public RMMFCustomCommandsBase
   1.436 -	{
   1.437 -public:
   1.438 -
   1.439 -	/**
   1.440 -	Constructor.
   1.441 -
   1.442 -	@param  aController
   1.443 -	        The client side controller object to be used by this custom command interface.
   1.444 -
   1.445 -	*/
   1.446 -	IMPORT_C RMMFVideoSetInitScreenCustomCommands(RMMFController& aController);
   1.447 -
   1.448 -	/**
   1.449 -	Sets the initial screen number for the video display on the controller.
   1.450 -
   1.451 -	@param  aScreenNumber
   1.452 -	        The screen number
   1.453 -	
   1.454 -	*/
   1.455 -	IMPORT_C TInt SetInitScreenNumber(TInt aScreenNumber);
   1.456 -	};
   1.457 -
   1.458 -
   1.459 -
   1.460 -/**
   1.461 -@publishedPartner
   1.462 -@prototype
   1.463 -
   1.464 -Mixin class to be derived from controller plugins that could support setting the initial screen for displaying video.
   1.465 -*/
   1.466 -class MMMFVideoSetInitScreenCustomCommandImplementor
   1.467 -	{
   1.468 -public:
   1.469 -
   1.470 -	/**
   1.471 -	Sets the initial screen number.
   1.472 -
   1.473 -	@param  aScreenNumber
   1.474 -	        The screen number
   1.475 -	*/
   1.476 -	virtual void MvsdSetInitScreenNumber(TInt aScreenNumber)=0;
   1.477 -	};
   1.478 -
   1.479 -
   1.480 -/**
   1.481 -@publishedPartner
   1.482 -@prototype
   1.483 -
   1.484 -Custom command parser class to be used by controller plugins wishing to support setting the initial screen
   1.485 -number for the video display.
   1.486 -
   1.487 -The controller plugin should create an object of this type and add it to the list of custom command parsers 
   1.488 -in the controller framework. The controller plugin must be derived from MMMFVideoSetInitScreenCustomCommandImplementor 
   1.489 -to use this class. 
   1.490 -*/
   1.491 -class CMMFVideoSetInitScreenCustomCommandParser : public CMMFCustomCommandParserBase
   1.492 -	{
   1.493 -public:
   1.494 -
   1.495 -	/**
   1.496 -	Creates a new custom command parser that supports setting screen device for video dusplay.
   1.497 -
   1.498 -	@param  aImplementor
   1.499 -	        A reference to the controller plugin that owns this new object.
   1.500 -
   1.501 -	@return A pointer to the object created.
   1.502 -
   1.503 -	*/
   1.504 -	IMPORT_C static CMMFVideoSetInitScreenCustomCommandParser* NewL(MMMFVideoSetInitScreenCustomCommandImplementor& aImplementor);
   1.505 -
   1.506 -	/**
   1.507 -	Destructor.
   1.508 -
   1.509 -	*/
   1.510 -	IMPORT_C ~CMMFVideoSetInitScreenCustomCommandParser();
   1.511 -
   1.512 -	/**
   1.513 -	Handles a request from the client. Called by the controller framework.
   1.514 -
   1.515 -	@param  aMessage
   1.516 -	        The message to be handled.
   1.517 -
   1.518 -	*/
   1.519 -	void HandleRequest(TMMFMessage& aMessage);
   1.520 -
   1.521 -private:
   1.522 -	/**
   1.523 -	Constructor.
   1.524 -
   1.525 -	@param  aImplementor
   1.526 -	        A reference to the controller plugin that owns this new object.
   1.527 -	*/
   1.528 -	CMMFVideoSetInitScreenCustomCommandParser(MMMFVideoSetInitScreenCustomCommandImplementor& aImplementor);
   1.529 -	void DoHandleRequestL(TMMFMessage& aMessage);
   1.530 -	TBool DoSetInitScreenNumberL(TMMFMessage& aMessage);
   1.531 -
   1.532 -private:
   1.533 -	MMMFVideoSetInitScreenCustomCommandImplementor& iImplementor;
   1.534 -	};
   1.535 -
   1.536 -
   1.537 -/**
   1.538 -@publishedPartner
   1.539 -@prototype
   1.540 -
   1.541 -Client class to allow setting and getting the pixel aspect ratio for video recording.
   1.542 -
   1.543 -*/
   1.544 -class RMMFVideoPixelAspectRatioCustomCommands : public RMMFCustomCommandsBase
   1.545 -	{
   1.546 -public:
   1.547 -
   1.548 -	/**
   1.549 -	Constructor.
   1.550 -
   1.551 -	@param  aController
   1.552 -	        The client side controller object to be used by this custom command interface.
   1.553 -
   1.554 -	*/
   1.555 -	IMPORT_C RMMFVideoPixelAspectRatioCustomCommands(RMMFController& aController);
   1.556 -
   1.557 -	/**
   1.558 -	Sets the pixel aspect ratio for the video recording on the controller.
   1.559 -
   1.560 -	@param  aAspectRatio
   1.561 -	        The new pixel aspect ratio. The default pixel aspect ratio is 1:1.
   1.562 -	
   1.563 -	@return One of the system-wide error codes.
   1.564 -	
   1.565 -	*/
   1.566 -	IMPORT_C TInt SetPixelAspectRatio(const TVideoAspectRatio& aAspectRatio);
   1.567 -	
   1.568 -	/**
   1.569 -	Gets the current pixel aspect ratio for the video recording on the controller.
   1.570 -
   1.571 -	@param  aAspectRatio
   1.572 -	        The current video pixel aspect ratio.
   1.573 -
   1.574 -	@return One of the system-wide error codes.	
   1.575 -	*/
   1.576 -	IMPORT_C TInt GetPixelAspectRatio(TVideoAspectRatio& aAspectRatio) const;
   1.577 -	
   1.578 -	/**
   1.579 -	Gets the list of supported pixel aspect ratios for the video recording on the controller.
   1.580 -
   1.581 -	@param  aAspectRatios
   1.582 -	        The supported pixel aspect ratios.
   1.583 -	
   1.584 -	@leave	This method may leave with one of the system-wide error codes.
   1.585 -	*/
   1.586 -	IMPORT_C void GetSupportedPixelAspectRatiosL(RArray<TVideoAspectRatio>& aAspectRatios) const;
   1.587 -
   1.588 -private:
   1.589 -	void DoGetVideoPixelAspectRatioArrayL(RArray<TVideoAspectRatio>& aArray, TMMFVideoPixelAspectRatioMessages aIpc) const;
   1.590 -	};
   1.591 -
   1.592 -
   1.593 -/**
   1.594 -@publishedPartner
   1.595 -@prototype
   1.596 -
   1.597 -Mixin class to be derived from controller plug-ins that could support setting and getting the pixel aspect ratio for video recording. 
   1.598 -*/
   1.599 -class MMMFVideoPixelAspectRatioCustomCommandImplementor
   1.600 -	{
   1.601 -public:
   1.602 -
   1.603 -	/**
   1.604 -	Sets the pixel aspect ratio.
   1.605 -
   1.606 -	@param  aAspectRatio
   1.607 -	        The pixel aspect ratio to use.
   1.608 -	*/
   1.609 -	virtual void MvparSetPixelAspectRatioL(const TVideoAspectRatio& aAspectRatio) = 0;
   1.610 -
   1.611 -	/**
   1.612 -	Gets the current pixel aspect ratio.
   1.613 -
   1.614 -	@param  aAspectRatio
   1.615 -	        The current pixel aspect ratio.
   1.616 -	*/
   1.617 -	virtual void MvparGetPixelAspectRatioL(TVideoAspectRatio& aAspectRatio) = 0;
   1.618 -	
   1.619 -	/**
   1.620 -	Gets the list of supported pixel aspect ratios.
   1.621 -
   1.622 -	@param  aAspectRatios
   1.623 -	        The list of supported pixel aspect ratios.
   1.624 -	*/
   1.625 -	virtual void MvparGetSupportedPixelAspectRatiosL(RArray<TVideoAspectRatio>& aAspectRatios) = 0;
   1.626 -	};
   1.627 -
   1.628 -
   1.629 -/**
   1.630 -@publishedPartner
   1.631 -@prototype
   1.632 -
   1.633 -Custom command parser class to be used by controller plug-ins wishing to support setting and getting the pixel aspect 
   1.634 -ratio for the video recording.
   1.635 -
   1.636 -The controller plug-in should create an object of this type and add it to the list of custom command parsers 
   1.637 -in the controller framework. The controller plug-in must be derived from MMMFVideoPixelAspectRatioCustomCommandImplementor 
   1.638 -to use this class. 
   1.639 -*/
   1.640 -class CMMFVideoPixelAspectRatioCustomCommandParser : public CMMFCustomCommandParserBase
   1.641 -	{
   1.642 -public:
   1.643 -
   1.644 -	/**
   1.645 -	Creates a new custom command parser that supports setting and getting pixel aspect ratio for video recording.
   1.646 -
   1.647 -	@param  aImplementor
   1.648 -	        A reference to the controller plug-in that owns this new object.
   1.649 -
   1.650 -	@return A pointer to the object created.
   1.651 -
   1.652 -	*/
   1.653 -	IMPORT_C static CMMFVideoPixelAspectRatioCustomCommandParser* NewL(MMMFVideoPixelAspectRatioCustomCommandImplementor& aImplementor);
   1.654 -
   1.655 -	/**
   1.656 -	Destructor.
   1.657 -
   1.658 -	*/
   1.659 -	IMPORT_C ~CMMFVideoPixelAspectRatioCustomCommandParser();
   1.660 -
   1.661 -	/**
   1.662 -	Handles a request from the client. Called by the controller framework.
   1.663 -
   1.664 -	@param  aMessage
   1.665 -	        The message to be handled.
   1.666 -
   1.667 -	*/
   1.668 -	void HandleRequest(TMMFMessage& aMessage);
   1.669 -
   1.670 -private:
   1.671 -	CMMFVideoPixelAspectRatioCustomCommandParser(MMMFVideoPixelAspectRatioCustomCommandImplementor& aImplementor);
   1.672 -	void DoHandleRequestL(TMMFMessage& aMessage);
   1.673 -	TBool DoSetPixelAspectRatioL(TMMFMessage& aMessage);
   1.674 -	TBool DoGetPixelAspectRatioL(TMMFMessage& aMessage);
   1.675 -	TBool DoGetSupportedPixelAspectRatiosL(TMMFMessage& aMessage);
   1.676 -	TBool DoCopyArrayDataL(TMMFMessage& aMessage);
   1.677 -	void DoCreateBufFromVideoAspectRatioArrayL(RArray<TVideoAspectRatio>& aArray);
   1.678 -
   1.679 -private:
   1.680 -	MMMFVideoPixelAspectRatioCustomCommandImplementor& iImplementor;
   1.681 -	
   1.682 -	CBufFlat* iDataCopyBuffer;
   1.683 -	};
   1.684 -
   1.685 -
   1.686 -/**
   1.687 -@publishedPartner
   1.688 -@prototype
   1.689 -
   1.690 -Client class to allow the audio sampling rate and channels configuration for video recording.
   1.691 -
   1.692 -*/
   1.693 -class RMMFVideoAudioSamplingRateAndChannelConfigCustomCommands : public RMMFCustomCommandsBase
   1.694 -	{
   1.695 -public:
   1.696 -
   1.697 -	/**
   1.698 -	Constructor.
   1.699 -
   1.700 -	@param  aController
   1.701 -	        The client side controller object to be used by this custom command interface.
   1.702 -
   1.703 -	*/
   1.704 -	IMPORT_C RMMFVideoAudioSamplingRateAndChannelConfigCustomCommands(RMMFController& aController);
   1.705 -
   1.706 -	/**
   1.707 -	Sets the number of audio channels to record (1 for mono, 2 for stereo).
   1.708 -
   1.709 -	@param  aChannels
   1.710 -	        The number of audio channels to record.
   1.711 -
   1.712 -	@return One of the system-wide error codes.
   1.713 -	
   1.714 -	*/
   1.715 -	IMPORT_C TInt SetAudioChannels(const TUint aChannels);
   1.716 -
   1.717 -	/**
   1.718 -	Gets the current number of audio channels to record (1 for mono, 2 for stereo).
   1.719 -
   1.720 -	@param  aChannels
   1.721 -	        The current number of audio channels to record.
   1.722 -
   1.723 -	@return One of the system-wide error codes.
   1.724 -	
   1.725 -	*/
   1.726 -	IMPORT_C TInt GetAudioChannels(TUint& aChannels) const;
   1.727 -
   1.728 -	/**
   1.729 -	Gets the list of supported number of audio channels for video recording.
   1.730 -
   1.731 -	@param  aChannels
   1.732 -	        The supported numbers of audio channels.
   1.733 -	
   1.734 -	@leave	This method may leave with one of the system-wide error codes.
   1.735 -	*/
   1.736 -	IMPORT_C void GetSupportedAudioChannelsL(RArray<TUint>& aChannels) const;
   1.737 -	
   1.738 -	/**
   1.739 -	Sets the audio sample rate for video recording.
   1.740 -
   1.741 -	@param  aSampleRate
   1.742 -	        The sample rate for audio recording.
   1.743 -
   1.744 -	@return One of the system-wide error codes.
   1.745 -	
   1.746 -	*/
   1.747 -	IMPORT_C TInt SetAudioSampleRate(const TUint aSampleRate);
   1.748 -
   1.749 -	/**
   1.750 -	Gets the current audio sample rate for recording.
   1.751 -
   1.752 -	@param  aSampleRate
   1.753 -	        The current audio sample rate for recording.
   1.754 -
   1.755 -	@return One of the system-wide error codes.
   1.756 -	
   1.757 -	*/
   1.758 -	IMPORT_C TInt GetAudioSampleRate(TUint& aSampleRate) const;
   1.759 -
   1.760 -	/**
   1.761 -	Gets the list of supported audio sample rates for video recording.
   1.762 -
   1.763 -	@param  aSampleRates
   1.764 -	        The supported audio sample rates.
   1.765 -	
   1.766 -	@leave	This method may leave with one of the system-wide error codes.
   1.767 -	*/
   1.768 -	IMPORT_C void GetSupportedAudioSampleRatesL(RArray<TUint>& aSampleRates) const;
   1.769 -	
   1.770 -private:
   1.771 -	void DoGetUintArrayL(RArray<TUint>& aArray, TMMFVideoAudioSamplingRateAndChannelConfigMessages aIpc) const;
   1.772 -	};
   1.773 -
   1.774 -
   1.775 -/**
   1.776 -@publishedPartner
   1.777 -@prototype
   1.778 -
   1.779 -Mixin class to be derived from controller plug-ins that could support the audio sampling rate and channels configuration. 
   1.780 -*/
   1.781 -class MMMFVideoAudioSamplingRateAndChannelConfigCustomCommandImplementor
   1.782 -	{
   1.783 -public:
   1.784 -
   1.785 -	/**
   1.786 -	Sets the number of audio channels.
   1.787 -
   1.788 -	@param  aChannels
   1.789 -	        The number of audio channels to use.
   1.790 -	*/
   1.791 -	virtual void MvasrccSetAudioChannelsL(const TUint aChannels) = 0;
   1.792 -
   1.793 -	/**
   1.794 -	Gets the current number of audio channels.
   1.795 -
   1.796 -	@param  aChannels
   1.797 -	        The current number of audio channels.
   1.798 -	*/
   1.799 -	virtual void MvasrccGetAudioChannelsL(TUint& aChannels) = 0;
   1.800 -
   1.801 -	/**
   1.802 -	Gets the list of supported number of audio channels.
   1.803 -
   1.804 -	@param  aChannels
   1.805 -	        The list of supported number of audio channels.
   1.806 -	*/
   1.807 -	virtual void MvasrccGetSupportedAudioChannelsL(RArray<TUint>& aChannels) = 0;
   1.808 -	
   1.809 -	/**
   1.810 -	Sets the audio sample rate.
   1.811 -
   1.812 -	@param  aSampleRate
   1.813 -	        The audio sample rate to use.
   1.814 -	*/
   1.815 -	virtual void MvasrccSetAudioSampleRateL(const TUint aSampleRate) = 0;
   1.816 -
   1.817 -	/**
   1.818 -	Gets the current audio sample rate.
   1.819 -
   1.820 -	@param  aSampleRate
   1.821 -	        The current audio sample rate.
   1.822 -	*/
   1.823 -	virtual void MvasrccGetAudioSampleRateL(TUint& aSampleRate) = 0;
   1.824 -
   1.825 -	/**
   1.826 -	Gets the list of supported audio sample rates.
   1.827 -
   1.828 -	@param  aSampleRates
   1.829 -	        The list of supported audio sample rates.
   1.830 -	*/
   1.831 -	virtual void MvasrccGetSupportedAudioSampleRatesL(RArray<TUint>& aSampleRates) = 0;
   1.832 -	};
   1.833 -
   1.834 -/**
   1.835 -@publishedPartner
   1.836 -@prototype
   1.837 -
   1.838 -Custom command parser class to be used by controller plug-ins wishing to support the audio sampling rate and channels
   1.839 -configuration for the video recording.
   1.840 -
   1.841 -The controller plug-in should create an object of this type and add it to the list of custom command parsers 
   1.842 -in the controller framework. The controller plug-in must be derived from MMMFVideoAudioSamplingRateAndChannelConfigCustomCommandImplementor 
   1.843 -to use this class. 
   1.844 -*/
   1.845 -class CMMFVideoAudioSamplingRateAndChannelConfigCustomCommandParser : public CMMFCustomCommandParserBase
   1.846 -	{
   1.847 -public:
   1.848 -
   1.849 -	/**
   1.850 -	Creates a new custom command parser that supports the audio sampling rate and channels configuration for video recording.
   1.851 -
   1.852 -	@param  aImplementor
   1.853 -	        A reference to the controller plug-in that owns this new object.
   1.854 -
   1.855 -	@return A pointer to the object created.
   1.856 -
   1.857 -	*/
   1.858 -	IMPORT_C static CMMFVideoAudioSamplingRateAndChannelConfigCustomCommandParser* NewL(MMMFVideoAudioSamplingRateAndChannelConfigCustomCommandImplementor& aImplementor);
   1.859 -
   1.860 -	/**
   1.861 -	Destructor.
   1.862 -
   1.863 -	*/
   1.864 -	IMPORT_C ~CMMFVideoAudioSamplingRateAndChannelConfigCustomCommandParser();
   1.865 -
   1.866 -	/**
   1.867 -	Handles a request from the client. Called by the controller framework.
   1.868 -
   1.869 -	@param  aMessage
   1.870 -	        The message to be handled.
   1.871 -
   1.872 -	*/
   1.873 -	void HandleRequest(TMMFMessage& aMessage);
   1.874 -
   1.875 -private:
   1.876 -	CMMFVideoAudioSamplingRateAndChannelConfigCustomCommandParser(MMMFVideoAudioSamplingRateAndChannelConfigCustomCommandImplementor& aImplementor);
   1.877 -	void DoHandleRequestL(TMMFMessage& aMessage);
   1.878 -	TBool DoSetAudioChannelsL(TMMFMessage& aMessage);
   1.879 -	TBool DoGetAudioChannelsL(TMMFMessage& aMessage);
   1.880 -	TBool DoGetSupportedAudioChannelsL(TMMFMessage& aMessage);
   1.881 -	
   1.882 -	TBool DoSetAudioSampleRateL(TMMFMessage& aMessage);
   1.883 -	TBool DoGetAudioSampleRateL(TMMFMessage& aMessage);
   1.884 -	TBool DoGetSupportedAudioSampleRatesL(TMMFMessage& aMessage);
   1.885 -	
   1.886 -	TBool DoCopyArrayDataL(TMMFMessage& aMessage);
   1.887 -	
   1.888 -	void DoCreateBufFromUintArrayL(RArray<TUint>& aArray);
   1.889 -
   1.890 -private:
   1.891 -	MMMFVideoAudioSamplingRateAndChannelConfigCustomCommandImplementor& iImplementor;
   1.892 -	
   1.893 -	CBufFlat* iDataCopyBuffer;
   1.894 -	};
   1.895 -
   1.896 -/**
   1.897 -@publishedPartner
   1.898 -@prototype
   1.899 -*/
   1.900 -const TUid KUidInterfaceMMFVideoPlayExt = {0x10283437};	
   1.901 -
   1.902 -/**
   1.903 -Mixin class to be derived from controller plug-ins that could support
   1.904 -play velocity, enabling/disabling audio/video, and auto scaling.
   1.905 -
   1.906 -@publishedPartner
   1.907 -@prototype
   1.908 -*/	
   1.909 -class MMMFVideoPlayControllerExtCustomCommandImplementor
   1.910 -	{
   1.911 -public:
   1.912 -
   1.913 -	/**
   1.914 -	Sets play velocity. 
   1.915 -	Behaviour is same as CVideoPlayerUtility::SetPlayVelocityL
   1.916 -	
   1.917 -	@see CVideoPlayerUtility::SetPlayVelocityL
   1.918 -	*/
   1.919 -	virtual void MvpecSetPlayVelocityL(TInt aVelocity)=0;
   1.920 -	
   1.921 -	/**
   1.922 -	Gets play velocity.
   1.923 -	Behaviour is same as CVideoPlayerUtility::PlayVelocityL	
   1.924 -	
   1.925 -	@see CVideoPlayerUtility::PlayVelocityL
   1.926 -	*/
   1.927 -	virtual TInt MvpecPlayVelocityL()=0;
   1.928 -	
   1.929 -	/**
   1.930 -	Steps through frames in pause mode.
   1.931 -	Behaviour is same as CVideoPlayerUtility::StepFrameL	
   1.932 -		
   1.933 -	@see CVideoPlayerUtility::StepFrameL
   1.934 -	*/
   1.935 -	virtual void MvpecStepFrameL(TInt aStep)=0;
   1.936 -	
   1.937 -	/**
   1.938 -	Gets play rate capabilities.
   1.939 -	Behaviour is same as CVideoPlayerUtility::GetPlayRateCapabilitiesL	
   1.940 -		
   1.941 -	@see CVideoPlayerUtility::GetPlayRateCapabilitiesL
   1.942 -	*/
   1.943 -	virtual void MvpecGetPlayRateCapabilitiesL(TVideoPlayRateCapabilities& aCapabilities)=0;
   1.944 -	
   1.945 -	/**
   1.946 -	Enables/Disables video playback.
   1.947 -	Behaviour is same as CVideoPlayerUtility::SetVideoEnabledL	
   1.948 -	
   1.949 -	@see CVideoPlayerUtility::SetVideoEnabledL
   1.950 -	*/
   1.951 -	virtual void MvpecSetVideoEnabledL(TBool aVideoEnabled)=0;
   1.952 -	
   1.953 -	/**
   1.954 -    Queries whether video playback is currently enabled or not.
   1.955 -	Behaviour is same as CVideoPlayerUtility::VideoEnabledL	
   1.956 -	
   1.957 -	@see CVideoPlayerUtility::VideoEnabledL
   1.958 -	*/
   1.959 -	virtual TBool MvpecVideoEnabledL()=0;
   1.960 -	
   1.961 -	/**
   1.962 -	Enables or disables audio playback.
   1.963 -	Behaviour is same as CVideoPlayerUtility::SetAudioEnabled	
   1.964 -	
   1.965 -	@see CVideoPlayerUtility::SetAudioEnabled
   1.966 -	*/
   1.967 -	virtual void MvpecSetAudioEnabledL(TBool aAudioEnabled)=0;
   1.968 -	
   1.969 -	/**
   1.970 -	Sets Auto scale mode.
   1.971 -	Behaviour is same as CVideoPlayerUtility::SetAutoScaleL	
   1.972 -	
   1.973 -	@see CVideoPlayerUtility::SetAutoScaleL
   1.974 -	*/
   1.975 -	virtual void MvpecSetAutoScaleL(TAutoScaleType aScaleType, TInt aHorizPos, TInt aVertPos)=0;
   1.976 -	};
   1.977 -
   1.978 -/**
   1.979 -Used for commands between RMMFVideoPlayControllerExtCustomCommands and 
   1.980 -CMMFVideoPlayControllerExtCustomCommandParser classes.
   1.981 -
   1.982 -@internalComponent
   1.983 -*/
   1.984 -enum TMMFVideoPlayControllerExtCustomCommandConfigMessages
   1.985 -	{
   1.986 -	EMMFVideoPlayControllerSetPlayVelocity = 0,
   1.987 -	EMMFVideoPlayControllerPlayVelocity,
   1.988 -	EMMFVideoPlayControllerStepFrame,
   1.989 -	EMMFVideoPlayControllerGetPlayRateCapabilities,
   1.990 -	EMMFVideoPlayControllerSetVideoEnabled,
   1.991 -	EMMFVideoPlayControllerVideoEnabled,
   1.992 -	EMMFVideoPlayControllerSetAudioEnabled,
   1.993 -	EMMFVideoPlayControllerSetAutoScale
   1.994 -	};
   1.995 -/**
   1.996 -@internalComponent
   1.997 -*/
   1.998 -class TMMFVideoPlayAutoScaleParams
   1.999 -	{
  1.1000 -public:
  1.1001 -	TAutoScaleType iScaleType;
  1.1002 -	TInt iHorizPos;
  1.1003 -	TInt iVertPos;
  1.1004 -	};
  1.1005 -	
  1.1006 -/**
  1.1007 -Custom command parser class to be used by controller plug-ins wishing to support play velocity, 
  1.1008 -enabling/disabling audio/video, and auto scaling.
  1.1009 -
  1.1010 -The controller plug-in should create an object of this type and add it to the list of custom command parsers 
  1.1011 -in the controller framework. The controller plug-in must be derived from MMMFVideoPlayControllerExtCustomCommandImplementor 
  1.1012 -to use this class. 
  1.1013 -
  1.1014 -@publishedPartner
  1.1015 -@prototype
  1.1016 -*/
  1.1017 -class CMMFVideoPlayControllerExtCustomCommandParser : public CMMFCustomCommandParserBase
  1.1018 -	{
  1.1019 -public:
  1.1020 -
  1.1021 -	/**
  1.1022 -	Creates a new custom command parser that supports the video rate control and auto scaling.
  1.1023 -
  1.1024 -	@param  aImplementor
  1.1025 -	        A reference to the controller plug-in that owns this new object.
  1.1026 -
  1.1027 -	@return A pointer to the object created.
  1.1028 -
  1.1029 -	*/
  1.1030 -	IMPORT_C static CMMFVideoPlayControllerExtCustomCommandParser* NewL(MMMFVideoPlayControllerExtCustomCommandImplementor& aImplementor);
  1.1031 -
  1.1032 -	/**
  1.1033 -	Destructor.
  1.1034 -
  1.1035 -	*/
  1.1036 -	IMPORT_C ~CMMFVideoPlayControllerExtCustomCommandParser();
  1.1037 -
  1.1038 -	/**
  1.1039 -	Handles a request from the client. Called by the controller framework.
  1.1040 -
  1.1041 -	@param  aMessage
  1.1042 -	        The message to be handled.
  1.1043 -
  1.1044 -	*/
  1.1045 -	void HandleRequest(TMMFMessage& aMessage);
  1.1046 -
  1.1047 -private:
  1.1048 -	CMMFVideoPlayControllerExtCustomCommandParser(MMMFVideoPlayControllerExtCustomCommandImplementor& aImplementor);
  1.1049 -	void DoHandleRequestL(TMMFMessage& aMessage);
  1.1050 -	TBool DoSetPlayVelocityL(TMMFMessage& aMessage);
  1.1051 -	TBool DoPlayVelocityL(TMMFMessage& aMessage);
  1.1052 -	TBool DoStepFrameL(TMMFMessage& aMessage);
  1.1053 -	TBool DoGetPlayRateCapabilitiesL(TMMFMessage& aMessage);
  1.1054 -	TBool DoSetVideoEnabledL(TMMFMessage& aMessage);
  1.1055 -	TBool DoVideoEnabledL(TMMFMessage& aMessage);
  1.1056 -	TBool DoSetAudioEnabledL(TMMFMessage& aMessage);
  1.1057 -	TBool DoSetAutoScaleL(TMMFMessage& aMessage);
  1.1058 -private:
  1.1059 -	MMMFVideoPlayControllerExtCustomCommandImplementor& iImplementor;
  1.1060 -	};
  1.1061 -
  1.1062 -/**
  1.1063 -Resource class to be used by player utility for sending custom commands.
  1.1064 -
  1.1065 -@publishedPartner
  1.1066 -@prototype
  1.1067 -*/	
  1.1068 -class RMMFVideoPlayControllerExtCustomCommands: public RMMFCustomCommandsBase
  1.1069 -	{
  1.1070 -public:
  1.1071 -	/**
  1.1072 -	Constructor.
  1.1073 -
  1.1074 -	@param  aController
  1.1075 -	        The client side controller object to be used by this custom command interface.
  1.1076 -	*/
  1.1077 -	IMPORT_C RMMFVideoPlayControllerExtCustomCommands(RMMFController& aController);
  1.1078 -	
  1.1079 -	/**
  1.1080 -	Sets play velocity.
  1.1081 -	Behaviour is same as CVideoPlayerUtility::SetPlayVelocityL
  1.1082 -		
  1.1083 -	@param  aVelocity 
  1.1084 -			Velocity of the playback.
  1.1085 -
  1.1086 -	@return One of the system-wide error codes.	
  1.1087 -
  1.1088 -	@see CVideoPlayerUtility::SetPlayVelocityL	
  1.1089 -	*/
  1.1090 -	IMPORT_C TInt SetPlayVelocity(TInt aVelocity);
  1.1091 -
  1.1092 -	/**
  1.1093 -	Gets play velocity.
  1.1094 -	Behaviour is same as CVideoPlayerUtility::PlayVelocityL	
  1.1095 -
  1.1096 -	@param  aVelocity 
  1.1097 -			Velocity of the playback.
  1.1098 -
  1.1099 -	@return One of the system-wide error codes.	
  1.1100 -		
  1.1101 -	@see CVideoPlayerUtility::PlayVelocityL
  1.1102 -	*/
  1.1103 -	IMPORT_C TInt PlayVelocity(TInt &aVelocity)const;
  1.1104 -
  1.1105 -	/**
  1.1106 -	Steps through frames in pause mode.
  1.1107 -	Behaviour is same as CVideoPlayerUtility::StepFrameL	
  1.1108 -
  1.1109 -	@param  aStep 
  1.1110 -			Count indicating number of frames to step playback position.
  1.1111 -
  1.1112 -	@return One of the system-wide error codes.
  1.1113 -
  1.1114 -	@see CVideoPlayerUtility::StepFrameL
  1.1115 -	*/
  1.1116 -	IMPORT_C TInt StepFrame(TInt aStep);
  1.1117 -	
  1.1118 -	/**
  1.1119 -	Gets play rate capabilities.
  1.1120 -	Behaviour is same as CVideoPlayerUtility::GetPlayRateCapabilitiesL	
  1.1121 -
  1.1122 -    @param aCapabilities Playback rate capabilities
  1.1123 -
  1.1124 -	@return One of the system-wide error codes.
  1.1125 -		
  1.1126 -	@see CVideoPlayerUtility::GetPlayRateCapabilitiesL
  1.1127 -	*/
  1.1128 -	IMPORT_C TInt GetPlayRateCapabilities(TVideoPlayRateCapabilities& aCapabilities)const;
  1.1129 -
  1.1130 -	/**
  1.1131 -	Enables/Disables video playback.
  1.1132 -	Behaviour is same as CVideoPlayerUtility::SetVideoEnabledL	
  1.1133 -    
  1.1134 -    @param aVideoEnabled ETrue to enable video playback, EFalse to disable
  1.1135 -
  1.1136 -	@return One of the system-wide error codes.    	
  1.1137 -
  1.1138 -	@see CVideoPlayerUtility::SetVideoEnabledL
  1.1139 -	*/
  1.1140 -	IMPORT_C TInt SetVideoEnabled(TBool aVideoEnabled);
  1.1141 -	
  1.1142 -	/**
  1.1143 -    Queries whether video playback is currently enabled or not.
  1.1144 -	Behaviour is same as CVideoPlayerUtility::VideoEnabledL
  1.1145 -
  1.1146 -    @param aVideoEnabled 
  1.1147 -    	   Out parameter returns ETrue if video playback is enabled, EFalse if not.
  1.1148 -
  1.1149 -	@return One of the system-wide error codes.
  1.1150 -	
  1.1151 -	@see CVideoPlayerUtility::VideoEnabledL
  1.1152 -	*/
  1.1153 -	IMPORT_C TInt VideoEnabled(TBool &aVideoEnabled)const;
  1.1154 -	
  1.1155 -	/**
  1.1156 -	Enables or disables audio playback.
  1.1157 -	Behaviour is same as CVideoPlayerUtility::SetAudioEnabledL
  1.1158 -
  1.1159 -    @param aVideoEnabled ETrue to enable audio playback, EFalse to disable		
  1.1160 -
  1.1161 -	@return One of the system-wide error codes.
  1.1162 -
  1.1163 -	@see CVideoPlayerUtility::SetAudioEnabledL
  1.1164 -	*/
  1.1165 -	IMPORT_C TInt SetAudioEnabled(TBool aAudioEnabled);
  1.1166 -
  1.1167 -	/**
  1.1168 -	Sets Auto scale mode.
  1.1169 - 	Behaviour is same as CVideoPlayerUtility::SetAutoScaleL
  1.1170 -	
  1.1171 -    @param aScaleType Automatic scaling type
  1.1172 -    @param aHorizPos Video picture horizontal position, relative to the
  1.1173 -                     video window.
  1.1174 -    @param aVertPos Video picture vertical position, relative to the
  1.1175 -                     video window.
  1.1176 -	@return One of the system-wide error codes.
  1.1177 -		
  1.1178 -	@see CVideoPlayerUtility::SetAutoScaleL
  1.1179 -	*/
  1.1180 -	IMPORT_C TInt SetAutoScale(TAutoScaleType aScaleType, TInt aHorizPos, TInt aVertPos);
  1.1181 -	};
  1.1182 -
  1.1183 -/**
  1.1184 -@publishedPartner
  1.1185 -@prototype
  1.1186 -*/
  1.1187 -const TUid KUidInterfaceMMFVideoRecorderExt = {0x10283438};
  1.1188 -
  1.1189 -/**
  1.1190 -Mixin class to be derived from controller plug-ins that could support quality and enabling video. 
  1.1191 -
  1.1192 -@publishedPartner
  1.1193 -@prototype
  1.1194 -*/	
  1.1195 -class MMMFVideoRecordControllerExtCustomCommandImplementor
  1.1196 -	{
  1.1197 -public:
  1.1198 -
  1.1199 -	/**
  1.1200 -	Enabled or disables video in recorder.
  1.1201 -	Behaviour is same as CVideoRecorderUtility::SetVideoEnabledL	
  1.1202 -
  1.1203 -	@see CVideoRecorderUtility::SetVideoEnabledL
  1.1204 -	*/
  1.1205 -    virtual void MvrecSetVideoEnabledL(TBool aEnabled)=0;
  1.1206 -	/**
  1.1207 -	Gets the flag that indicates video enabled or not.
  1.1208 -	Behaviour is same as CVideoRecorderUtility::VideoEnabledL	
  1.1209 -
  1.1210 -	@see CVideoRecorderUtility::VideoEnabledL
  1.1211 -	*/
  1.1212 -    virtual TBool MvrecVideoEnabledL() const=0;
  1.1213 -	/**
  1.1214 -	Sets the quality of video being recorded.
  1.1215 -	Behaviour is same as CVideoRecorderUtility::SetVideoQualityL	
  1.1216 -
  1.1217 -	@see CVideoRecorderUtility::SetVideoQualityL
  1.1218 -	*/
  1.1219 -    virtual void MvrecSetVideoQualityL(TInt aQuality)=0;
  1.1220 -	/**
  1.1221 -	Gets video quality level set using SetVideoQualityL.
  1.1222 -	Behaviour is same as CVideoRecorderUtility::VideoQualityL	
  1.1223 -
  1.1224 -	@see CVideoRecorderUtility::VideoQualityL
  1.1225 -	*/
  1.1226 -    virtual TInt MvrecVideoQualityL() const=0;
  1.1227 -	/**
  1.1228 -	Sets the video framerate to fixed.
  1.1229 -	Behaviour is same as CVideoRecorderUtility::SetVideoFrameRateFixedL	
  1.1230 -
  1.1231 -	@see CVideoRecorderUtility::SetVideoFrameRateFixedL
  1.1232 -	*/
  1.1233 -    virtual void MvrecSetVideoFrameRateFixedL(TBool aFixedFrameRate)=0;
  1.1234 -	/**
  1.1235 -	Gets FrameRateFixed flag set using SetVideoFrameRateFixedL.
  1.1236 -	Behaviour is same as CVideoRecorderUtility::VideoFrameRateFixedL	
  1.1237 -
  1.1238 -	@see CVideoRecorderUtility::VideoFrameRateFixedL
  1.1239 -	*/
  1.1240 -    virtual TBool MvrecVideoFrameRateFixedL() const=0;
  1.1241 -	};
  1.1242 -
  1.1243 -/**
  1.1244 -@internalComponent
  1.1245 -*/
  1.1246 -enum TMMFVideoRecorderExtCustomCommandConfigMessages
  1.1247 -	{
  1.1248 -	EMMFVideoRecordControllerSetVideoEnabled = 0,
  1.1249 -	EMMFVideoRecordControllerVideoEnabled,
  1.1250 -	EMMFVideoRecordControllerSetVideoQuality,	
  1.1251 -	EMMFVideoRecordControllerVideoQuality,
  1.1252 -	EMMFVideoRecordControllerSetVideoFrameRateFixed,
  1.1253 -	EMMFVideoRecordControllerVideoFrameRateFixed
  1.1254 -	};
  1.1255 -
  1.1256 -/**
  1.1257 -Custom command parser class to be used by controller plug-ins wishing to implement VideoRecorderExt custom commands.
  1.1258 -
  1.1259 -The controller plug-in should create an object of this type and add it to the list of custom command parsers 
  1.1260 -in the controller framework. The controller plug-in must be derived from MMMFVideoRecordControllerExtCustomCommandImplementor
  1.1261 -to use this class.
  1.1262 -
  1.1263 -@publishedPartner
  1.1264 -@prototype
  1.1265 -*/
  1.1266 -class CMMFVideoRecordControllerExtCustomCommandParser : public CMMFCustomCommandParserBase
  1.1267 -	{
  1.1268 -public:
  1.1269 -
  1.1270 -	/**
  1.1271 -	Creates a new custom command parser that supports the video rate control and auto scaling.
  1.1272 -
  1.1273 -	@param  aImplementor A reference to the controller plug-in that owns this new object.
  1.1274 -	@return A pointer to the object created.
  1.1275 -	*/
  1.1276 -	IMPORT_C static CMMFVideoRecordControllerExtCustomCommandParser* NewL(MMMFVideoRecordControllerExtCustomCommandImplementor& aImplementor);
  1.1277 -
  1.1278 -	/**
  1.1279 -	Destructor.
  1.1280 -	*/
  1.1281 -	IMPORT_C ~CMMFVideoRecordControllerExtCustomCommandParser();
  1.1282 -
  1.1283 -	/**
  1.1284 -	Handles a request from the client. Called by the controller framework.
  1.1285 -
  1.1286 -	@param  aMessage The message to be handled.
  1.1287 -	*/
  1.1288 -	void HandleRequest(TMMFMessage& aMessage);
  1.1289 -
  1.1290 -private:
  1.1291 -	CMMFVideoRecordControllerExtCustomCommandParser(MMMFVideoRecordControllerExtCustomCommandImplementor& aImplementor);
  1.1292 -	void DoHandleRequestL(TMMFMessage& aMessage);
  1.1293 -	TBool DoSetVideoEnabledL(TMMFMessage& aMessage);
  1.1294 -	TBool DoVideoEnabledL(TMMFMessage& aMessage);
  1.1295 -	TBool DoSetVideoQualityL(TMMFMessage& aMessage);
  1.1296 -	TBool DoVideoQualityL(TMMFMessage& aMessage);
  1.1297 -	TBool DoSetVideoFrameRateFixedL(TMMFMessage& aMessage);
  1.1298 -	TBool DoVideoFrameRateFixedL(TMMFMessage& aMessage);
  1.1299 -private:
  1.1300 -	MMMFVideoRecordControllerExtCustomCommandImplementor& iImplementor;
  1.1301 -	};
  1.1302 -
  1.1303 -/**
  1.1304 -Resource class to be used by Recorder utility for sending custom commands.
  1.1305 -
  1.1306 -@publishedPartner
  1.1307 -@prototype
  1.1308 -*/	
  1.1309 -class RMMFVideoRecordControllerExtCustomCommands: public RMMFCustomCommandsBase
  1.1310 -	{
  1.1311 -public:
  1.1312 -	/**
  1.1313 -	Constructor.
  1.1314 -
  1.1315 -	@param  aController
  1.1316 -	        The client side controller object to be used by this custom command interface.
  1.1317 -	@return One of the system-wide error codes.
  1.1318 -	*/
  1.1319 -	IMPORT_C RMMFVideoRecordControllerExtCustomCommands(RMMFController& aController);
  1.1320 -	
  1.1321 -	/**
  1.1322 -	Enabled or disables video in recorder.
  1.1323 -	Behaviour is same as CVideoRecorderUtility::SetVideoEnabledL	
  1.1324 -
  1.1325 -    @param aEnabled ETrue to enable video recording, EFalse to enable it
  1.1326 -
  1.1327 -	@return One of the system-wide error codes.	
  1.1328 -	@see CVideoRecorderUtility::SetVideoEnabledL
  1.1329 -	*/
  1.1330 -    IMPORT_C TInt SetVideoEnabled(TBool aEnabled);
  1.1331 -    
  1.1332 -	/**
  1.1333 -	Gets the flag that indicates video enabled or not.
  1.1334 -	Behaviour is same as CVideoRecorderUtility::VideoEnabledL	
  1.1335 -
  1.1336 -    @param aEnabled 
  1.1337 -    	   Out parameter returns ETrue if video recording is enabled , EFalse otherwise.
  1.1338 -
  1.1339 -	@return One of the system-wide error codes.	
  1.1340 -	@see CVideoRecorderUtility::VideoEnabledL
  1.1341 -	*/
  1.1342 -    IMPORT_C TInt VideoEnabled(TBool &aEnabled) const;
  1.1343 -    
  1.1344 -	/**
  1.1345 -	Sets the quality of video being recorded.
  1.1346 -	Behaviour is same as CVideoRecorderUtility::SetVideoQualityL	
  1.1347 -
  1.1348 -    @param aQuality Video quality, in the range of 0 to 100, inclusive.
  1.1349 -
  1.1350 -	@return One of the system-wide error codes.	
  1.1351 -	@see CVideoRecorderUtility::SetVideoQualityL
  1.1352 -	*/
  1.1353 -    IMPORT_C TInt SetVideoQuality(TInt aQuality);
  1.1354 -    
  1.1355 -	/**
  1.1356 -	Gets video quality level set using SetVideoQualityL.
  1.1357 -	Behaviour is same as CVideoRecorderUtility::VideoQualityL	
  1.1358 -    
  1.1359 -    @param aQuality Out parameter returning Video quality in the range 0-100.
  1.1360 -    
  1.1361 -    @return One of the system-wide error codes.	
  1.1362 -	@see CVideoRecorderUtility::VideoQualityL
  1.1363 -	*/
  1.1364 -    IMPORT_C TInt VideoQuality(TInt &aQuality) const;
  1.1365 -    
  1.1366 -	/**
  1.1367 -	Sets the video framerate to fixed.
  1.1368 -	Behaviour is same as CVideoRecorderUtility::SetVideoFrameRateFixedL	
  1.1369 -	
  1.1370 -    @param aFixedFrameRate ETrue to request a fixed framerate, EFalse to
  1.1371 -                          request a variable framerate.
  1.1372 -
  1.1373 -	@return One of the system-wide error codes.	
  1.1374 -	@see CVideoRecorderUtility::SetVideoFrameRateFixedL
  1.1375 -	*/
  1.1376 -    IMPORT_C TInt SetVideoFrameRateFixed(TBool aFixedFrameRate);
  1.1377 -    
  1.1378 -	/**
  1.1379 -	Gets FrameRateFixed flag set using SetVideoFrameRateFixedL.
  1.1380 -	Behaviour is same as CVideoRecorderUtility::VideoFrameRateFixedL	
  1.1381 -
  1.1382 -    @param aFixedFrameRate Out parameter returns ETrue if fixed framerate
  1.1383 -     						is enabled, EFalse otherwise.
  1.1384 -    
  1.1385 -	@return One of the system-wide error codes.	
  1.1386 -	@see CVideoRecorderUtility::VideoFrameRateFixedL
  1.1387 -	*/
  1.1388 -    IMPORT_C TInt VideoFrameRateFixed(TBool &aFixedFrameRate) const;
  1.1389 -    };
  1.1390 -
  1.1391 -/**
  1.1392 -@publishedPartner
  1.1393 -@released
  1.1394 -
  1.1395 -Interface UID and messages for the Audio Play Controller Set Repeats API.
  1.1396 -*/
  1.1397 -const TUid KUidInterfaceMMFAudioPlaySetRepeatsController = {0x102834D5};
  1.1398 -
  1.1399 -/**
  1.1400 -@internalComponent
  1.1401 -*/
  1.1402 -enum TMMFAudioPlayControllerSetRepeatsMessages
  1.1403 -	{
  1.1404 -	EMMFAudioPlayControllerSetRepeats
  1.1405 -	};
  1.1406 -
  1.1407 -/**
  1.1408 -@publishedPartner
  1.1409 -@released
  1.1410 -
  1.1411 -Client class to access loop play functionality of audio play controller.
  1.1412 -
  1.1413 -The class uses the custom command function of the controller plugin, and removes the necessity
  1.1414 -for the client to formulate the custom commands.
  1.1415 -*/
  1.1416 -class RMMFAudioPlayControllerSetRepeatsCustomCommands : public RMMFCustomCommandsBase
  1.1417 -	{
  1.1418 -public:
  1.1419 -	
  1.1420 -	/**
  1.1421 -	Constructor.
  1.1422 -
  1.1423 -	@param  aController
  1.1424 -	        The client side controller object to be used by this custom command interface.
  1.1425 -	*/
  1.1426 -	IMPORT_C RMMFAudioPlayControllerSetRepeatsCustomCommands(RMMFController& aController);
  1.1427 -
  1.1428 -	/**
  1.1429 -	Sets the number of times the audio sample to be repeated and the trailing silence period
  1.1430 -	
  1.1431 -	@param  aRepeatNumberOfTimes
  1.1432 -			The number of times the audio sample needs to be repeated
  1.1433 -	
  1.1434 -	@param  aTrailingSilence
  1.1435 -	        The time interval of the trailing silence in microseconds.
  1.1436 -	        
  1.1437 -	@return KErrNotSupported if the controller plugin does not support the loop play functionality.
  1.1438 -	*/
  1.1439 -	IMPORT_C TInt SetRepeats(TInt aRepeatNumberOfTimes, const TTimeIntervalMicroSeconds& aTrailingSilence);
  1.1440 -	};
  1.1441 -
  1.1442 -/**
  1.1443 -@publishedPartner
  1.1444 -@released
  1.1445 -
  1.1446 -Mixin class to be derived from by controller plugins that could support the set repeats custom command.
  1.1447 -*/
  1.1448 -class MMMFAudioPlayControllerSetRepeatsCustomCommandImplementor
  1.1449 -	{
  1.1450 -public:
  1.1451 -
  1.1452 -	/**
  1.1453 -	Sets the number of times the audio sample is to be repeated during the playback operation.	
  1.1454 -	A period of silence can follow each playing of the sample. The audio sample can be repeated indefinitely.
  1.1455 -	
  1.1456 -	@param	aRepeatNumberOfTimes
  1.1457 -    		The number of times the audio sample, together with the trailing silence, is to be repeated. 
  1.1458 -    		If this is set to KMdaRepeatForever, then the audio sample, together with the trailing silence, 
  1.1459 -    		is repeated indefinitely or until Stop() is called. 
  1.1460 -    		If this is set to zero, then the audio sample is not repeated.
  1.1461 -	
  1.1462 -	@param  aTrailingSilence
  1.1463 -         	The time interval of the trailing silence in microseconds.
  1.1464 -	
  1.1465 -	@return	KErrNone if the controller plugin supports the loop play functionality
  1.1466 -			KErrNotSupported if the controller plugin does not support the loop play functionality
  1.1467 -			KErrNotReady if the controller plugin is not yet added the audio sink
  1.1468 -	*/		
  1.1469 -	virtual TInt MapcSetRepeats(TInt aRepeatNumberOfTimes, const TTimeIntervalMicroSeconds& aTrailingSilence) = 0;		
  1.1470 -	};
  1.1471 -
  1.1472 -/**
  1.1473 -@publishedPartner
  1.1474 -@released
  1.1475 -
  1.1476 -Custom command parser class to be used by controller plugins wishing to support set repeats functionality
  1.1477 -
  1.1478 -The controller plugin should create an object of this type and add it to the list of custom command parsers 
  1.1479 -in the controller framework. The controller plugin must be derived from 
  1.1480 -MMMFAudioPlayControllerSetRepeatsCustomCommandImplementor to use this class. 
  1.1481 -*/
  1.1482 -
  1.1483 -class CMMFAudioPlayControllerSetRepeatsCustomCommandParser : public CMMFCustomCommandParserBase
  1.1484 -	{
  1.1485 -public:
  1.1486 -
  1.1487 -	/**
  1.1488 -	Creates a new custom command parser capable of handling set repeats controller commands.
  1.1489 -
  1.1490 -	@param  aImplementor
  1.1491 -	        A reference to the controller plugin that owns this new object.
  1.1492 -
  1.1493 -	@return A pointer to the object created.
  1.1494 -
  1.1495 -	*/
  1.1496 -	IMPORT_C static CMMFAudioPlayControllerSetRepeatsCustomCommandParser* NewL(MMMFAudioPlayControllerSetRepeatsCustomCommandImplementor& aImplementor);
  1.1497 -
  1.1498 -	/**
  1.1499 -	Destructor.
  1.1500 -
  1.1501 -	*/
  1.1502 -	IMPORT_C ~CMMFAudioPlayControllerSetRepeatsCustomCommandParser();
  1.1503 -
  1.1504 -	/**
  1.1505 -	Handles a request from the client. Called by the controller framework.
  1.1506 -
  1.1507 -	@param  aMessage
  1.1508 -	        The message to be handled.
  1.1509 -
  1.1510 -	*/
  1.1511 -	void HandleRequest(TMMFMessage& aMessage);
  1.1512 -private:
  1.1513 -
  1.1514 -	/**
  1.1515 -	Constructor.
  1.1516 -
  1.1517 -	@param  aImplementor
  1.1518 -	        A reference to the controller plugin that owns this new object.
  1.1519 -
  1.1520 -	*/
  1.1521 -	CMMFAudioPlayControllerSetRepeatsCustomCommandParser(MMMFAudioPlayControllerSetRepeatsCustomCommandImplementor& aImplementor);
  1.1522 -	// Internal request handling methods.
  1.1523 -	void DoHandleRequestL(TMMFMessage& aMessage);
  1.1524 -	TBool DoSetRepeatsL(TMMFMessage& aMessage);
  1.1525 -private:
  1.1526 -	/** 
  1.1527 -	The object that implements the set repeats custom command i.e controller plugin
  1.1528 -	*/
  1.1529 -	MMMFAudioPlayControllerSetRepeatsCustomCommandImplementor& iImplementor;
  1.1530 -	};
  1.1531 +
  1.1532  
  1.1533  #endif