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