--- a/epoc32/include/mmf/common/mmfstandardcustomcommands.h Wed Mar 31 12:27:01 2010 +0100
+++ b/epoc32/include/mmf/common/mmfstandardcustomcommands.h Wed Mar 31 12:33:34 2010 +0100
@@ -1,9 +1,9 @@
// Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
// All rights reserved.
// This component and the accompanying materials are made available
-// 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
+// under the terms of "Eclipse Public License v1.0"
// which accompanies this distribution, and is available
-// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
//
// Initial Contributors:
// Nokia Corporation - initial contribution.
@@ -18,7 +18,7 @@
#include <mmf/common/mmfcontroller.h>
#include <mmf/common/mmfvideo.h>
-#include <mmf/common/mmcaf.h>
+#include "mmf/common/mmcaf.h"
class CMMFVideoFrameMessage;
class CFbsBitmap;
@@ -78,16 +78,6 @@
*/
const TUid KMMFEventCategoryAudioResourceAvailable = {0x101FD9F2};
-/**
-@internalComponent
-*/
-enum TMMFAudioResourceNotificationMessages
- {
- EMMFAudioResourceRegisterNotification,
- EMMFAudioResourceCancelRegisterNotification,
- EMMFAudioResourceGetNotificationData,
- EMMFAudioResourceWillResumePlay
- };
/**
@publishedAll
@@ -98,19 +88,6 @@
const TUid KUidInterfaceMMFAudioPlayDevice = {0x101F76D6};
/**
-@internalComponent
-*/
-enum TMMFAudioPlayDeviceMessages
- {
- EMMFAudioPlayDeviceSetVolume,
- EMMFAudioPlayDeviceGetMaxVolume,
- EMMFAudioPlayDeviceGetVolume,
- EMMFAudioPlayDeviceSetVolumeRamp,
- EMMFAudioPlayDeviceSetBalance,
- EMMFAudioPlayDeviceGetBalance
- };
-
-/**
@publishedAll
@released
@@ -119,18 +96,6 @@
const TUid KUidInterfaceMMFAudioRecordDevice = {0x101F76D7};
/**
-@internalComponent
-*/
-enum TMMFAudioRecordDeviceMessage
- {
- EMMFAudioRecordDeviceSetGain,
- EMMFAudioRecordDeviceGetMaxGain,
- EMMFAudioRecordDeviceGetGain,
- EMMFAudioRecordDeviceSetBalance,
- EMMFAudioRecordDeviceGetBalance
- };
-
-/**
@publishedAll
@released
@@ -139,16 +104,6 @@
const TUid KUidInterfaceMMFAudioPlayController = {0x101F76D8};
/**
-@internalComponent
-*/
-enum TMMFAudioPlayControllerMessages
- {
- EMMFAudioPlayControllerSetPlaybackWindow,
- EMMFAudioPlayControllerDeletePlaybackWindow,
- EMMFAudioPlayControllerGetLoadingProgress
- };
-
-/**
@publishedAll
@released
@@ -157,20 +112,6 @@
const TUid KUidInterfaceMMFAudioRecordController = {0x101F76D9};
/**
-@internalComponent
-*/
-enum TMMFAudioRecordControllerMessages
- {
- EMMFAudioRecordControllerGetRecordTimeAvailable,
- EMMFAudioRecordControllerSetMaxDuration,
- EMMFAudioRecordControllerSetMaxFileSize,
- EMMFAudioRecordControllerCrop,
- EMMFAudioRecordControllerAddMetaDataEntry,
- EMMFAudioRecordControllerRemoveMetaDataEntry,
- EMMFAudioRecordControllerReplaceMetaDataEntry
- };
-
-/**
@publishedAll
@released
@@ -179,138 +120,30 @@
const TUid KUidInterfaceMMFAudioController = {0x101F76DA};
/**
-@internalComponent
-*/
-enum TMMFAudioControllerMessages
- {
- EMMFAudioControllerSetSourceSampleRate,
- EMMFAudioControllerSetSourceNumChannels,
- EMMFAudioControllerSetSourceFormat,
- EMMFAudioControllerSetSourceBitRate,
- EMMFAudioControllerSetSourceDataType,
- EMMFAudioControllerSetSinkSampleRate,
- EMMFAudioControllerSetSinkNumChannels,
- EMMFAudioControllerSetSinkFormat,
- EMMFAudioControllerSetSinkBitRate,
- EMMFAudioControllerSetSinkDataType,
- EMMFAudioControllerGetSourceSampleRate,
- EMMFAudioControllerGetSourceBitRate,
- EMMFAudioControllerGetSourceNumChannels,
- EMMFAudioControllerGetSourceFormat,
- EMMFAudioControllerGetSourceDataType,
- EMMFAudioControllerGetSinkSampleRate,
- EMMFAudioControllerGetSinkBitRate,
- EMMFAudioControllerGetSinkNumChannels,
- EMMFAudioControllerGetSinkFormat,
- EMMFAudioControllerGetSinkDataType,
- EMMFAudioControllerGetSupportedSourceSampleRates,
- EMMFAudioControllerGetSupportedSourceBitRates,
- EMMFAudioControllerGetSupportedSourceNumChannels,
- EMMFAudioControllerGetSupportedSourceDataTypes,
- EMMFAudioControllerGetSupportedSinkSampleRates,
- EMMFAudioControllerGetSupportedSinkBitRates,
- EMMFAudioControllerGetSupportedSinkNumChannels,
- EMMFAudioControllerGetSupportedSinkDataTypes,
- EMMFAudioControllerCopyArrayData,
- EMMFAudioControllerSetCodec
- };
-
-
-/**
@publishedAll
@released
*/
const TUid KUidInterfaceMMFVideoController = {0x101F76DB};
/**
-@internalComponent
-*/
-enum TMMFVideoControllerMessages
- {
- EMMFVideoControllerGetAudioCodec,
- EMMFVideoControllerGetVideoBitRate,
- EMMFVideoControllerGetAudioBitRate,
- EMMFVideoControllerGetVideoFrameSize,
- EMMFVideoControllerSetFrameRate,
- EMMFVideoControllerGetFrameRate,
- EMMFVideoControllerGetVideoMimeType
- };
-
-/**
@publishedAll
@released
*/
const TUid KUidInterfaceMMFVideoPlayController = {0x101F7B73};
/**
-@internalComponent
-*/
-enum TMMFVideoPlayControllerMessages
- {
- EMMFVideoPlayControllerPrepare,
- EMMFVideoPlayControllerGetFrame,
- EMMFVideoPlayControllerSetDisplayWindow,
- EMMFVideoPlayControllerGetAudioEnabled,
- EMMFVideoPlayControllerUpdateDisplayRegion,
- EMMFVideoPlayControllerDSAEvent,
- EMMFVideoPlayControllerPlay,
- EMMFVideoPlayControllerRefreshFrame,
- EMMFVideoPlayControllerGetLoadingProgress,
- EMMFVideoPlayControllerSetRotation,
- EMMFVideoPlayControllerGetRotation,
- EMMFVideoPlayControllerSetScaleFactor,
- EMMFVideoPlayControllerGetScaleFactor,
- EMMFVideoPlayControllerSetCropRegion,
- EMMFVideoPlayControllerGetCropRegion
- };
-
-/**
@publishedAll
@released
*/
const TUid KUidInterfaceMMFVideoRecordController = {0x101F7B74};
/**
-@internalComponent
-*/
-enum TMMFVideoRecordControllerMessages
- {
- EMMFVideoRecordControllerSetVideoFormat,
- EMMFVideoRecordControllerSetVideoCodec,
- EMMFVideoRecordControllerSetAudioCodec,
- EMMFVideoRecordControllerSetVideoBitRate,
- EMMFVideoRecordControllerSetAudioBitRate,
- EMMFVideoRecordControllerSetVideoFrameSize,
- EMMFVideoRecordControllerSetMaxFileSize,
- EMMFVideoRecordControllerAddMetaDataEntry,
- EMMFVideoRecordControllerRemoveMetaDataEntry,
- EMMFVideoRecordControllerReplaceMetaDataEntry,
- EMMFVideoRecordControllerSetAudioEnabled,
- EMMFVideoRecordControllerPrepare,
- EMMFVideoRecordControllerSetCameraHandle,
- EMMFVideoRecordControllerGetRecordTimeAvailable,
- EMMFVideoRecordControllerGetSupportedSinkAudioTypes,
- EMMFVideoRecordControllerGetSupportedSinkVideoTypes,
- EMMFVideoRecordControllerCopyDescriptorArrayData,
- EMMFVideoRecordControllerCopyFourCCArrayData,
- EMMFVideoRecordControllerGetAudioEnabled // INC23777
- };
-
-/**
@publishedAll
@released
*/
const TUid KUidInterfaceMMFVideoDRMExt = {0x101F7C23};
/**
-@internalComponent
-*/
-enum TMMFDRMIntentMessages
- {
- EMMFVideoDRMExtGetFrame
- };
-
-/**
@publishedAll
@released
@@ -319,52 +152,19 @@
const TUid KUidInterfaceMMFVideoSetInitScreen = {0x102825F7};
/**
-@internalComponent
+@publishedAll
+@released
*/
-enum TMMFVideoScreenDeviceMessages
- {
- EMMFVideoSetInitScreenNumber
- };
+const TUid KUidInterfaceMMFVideoPixelAspectRatio = {0x102831EF};
/**
@publishedAll
-@prototype
-*/
-const TUid KUidInterfaceMMFVideoPixelAspectRatio = {0x102831EF};
-
-/**
-@internalComponent
-*/
-enum TMMFVideoPixelAspectRatioMessages
- {
- EMMFVideoGetPixelAspectRatio,
- EMMFVideoSetPixelAspectRatio,
- EMMFVideoGetSupportedPixelAspectRatios,
- EMMFVideoPixelAspectRatioCopyArrayData
- };
-
-/**
-@publishedAll
-@prototype
+@released
*/
const TUid KUidInterfaceMMFVideoAudioSamplingRateAndChannelConfig = {0x102831F0};
/**
-@internalComponent
-*/
-enum TMMFVideoAudioSamplingRateAndChannelConfigMessages
- {
- EMMFVideoGetAudioChannels,
- EMMFVideoSetAudioChannels,
- EMMFVideoGetSupportedAudioChannels,
- EMMFVideoGetAudioSampleRate,
- EMMFVideoSetAudioSampleRate,
- EMMFVideoGetSupportedAudioSampleRates,
- EMMFVideoAudioSamplingRateAndChannelConfigCopyArrayData
- };
-
-/**
@publishedAll
@released
@@ -1414,6 +1214,50 @@
MMMFAudioRecordControllerCustomCommandImplementor& iImplementor;
};
+#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
+#include <mmf/common/mmfstandardcustomcommandsenums.h>
+#include <mmf/common/mmfstandardcustomcommandsimpl.h>
+#endif
+
+/**
+@publishedAll
+@released
+*/
+
+ enum TMMFAudioControllerMessages
+ {
+ EMMFAudioControllerSetSourceSampleRate,
+ EMMFAudioControllerSetSourceNumChannels,
+ EMMFAudioControllerSetSourceFormat,
+ EMMFAudioControllerSetSourceBitRate,
+ EMMFAudioControllerSetSourceDataType,
+ EMMFAudioControllerSetSinkSampleRate,
+ EMMFAudioControllerSetSinkNumChannels,
+ EMMFAudioControllerSetSinkFormat,
+ EMMFAudioControllerSetSinkBitRate,
+ EMMFAudioControllerSetSinkDataType,
+ EMMFAudioControllerGetSourceSampleRate,
+ EMMFAudioControllerGetSourceBitRate,
+ EMMFAudioControllerGetSourceNumChannels,
+ EMMFAudioControllerGetSourceFormat,
+ EMMFAudioControllerGetSourceDataType,
+ EMMFAudioControllerGetSinkSampleRate,
+ EMMFAudioControllerGetSinkBitRate,
+ EMMFAudioControllerGetSinkNumChannels,
+ EMMFAudioControllerGetSinkFormat,
+ EMMFAudioControllerGetSinkDataType,
+ EMMFAudioControllerGetSupportedSourceSampleRates,
+ EMMFAudioControllerGetSupportedSourceBitRates,
+ EMMFAudioControllerGetSupportedSourceNumChannels,
+ EMMFAudioControllerGetSupportedSourceDataTypes,
+ EMMFAudioControllerGetSupportedSinkSampleRates,
+ EMMFAudioControllerGetSupportedSinkBitRates,
+ EMMFAudioControllerGetSupportedSinkNumChannels,
+ EMMFAudioControllerGetSupportedSinkDataTypes,
+ EMMFAudioControllerCopyArrayData,
+ EMMFAudioControllerSetCodec
+ };
+
/**
@publishedAll
@@ -2616,6 +2460,35 @@
/**
@publishedAll
@released
+*/
+
+ enum TMMFVideoRecordControllerMessages
+ {
+ EMMFVideoRecordControllerSetVideoFormat,
+ EMMFVideoRecordControllerSetVideoCodec,
+ EMMFVideoRecordControllerSetAudioCodec,
+ EMMFVideoRecordControllerSetVideoBitRate,
+ EMMFVideoRecordControllerSetAudioBitRate,
+ EMMFVideoRecordControllerSetVideoFrameSize,
+ EMMFVideoRecordControllerSetMaxFileSize,
+ EMMFVideoRecordControllerAddMetaDataEntry,
+ EMMFVideoRecordControllerRemoveMetaDataEntry,
+ EMMFVideoRecordControllerReplaceMetaDataEntry,
+ EMMFVideoRecordControllerSetAudioEnabled,
+ EMMFVideoRecordControllerPrepare,
+ EMMFVideoRecordControllerSetCameraHandle,
+ EMMFVideoRecordControllerGetRecordTimeAvailable,
+ EMMFVideoRecordControllerGetSupportedSinkAudioTypes,
+ EMMFVideoRecordControllerGetSupportedSinkVideoTypes,
+ EMMFVideoRecordControllerCopyDescriptorArrayData,
+ EMMFVideoRecordControllerCopyFourCCArrayData,
+ EMMFVideoRecordControllerGetAudioEnabled // INC23777
+ };
+
+
+/**
+@publishedAll
+@released
Client class to access functionality specific to a video recorder controller.
@@ -3894,1108 +3767,6 @@
MMMFResourceNotificationCustomCommandImplementor& iImplementor;
};
-/**
-@publishedPartner
-@prototype
-
-Client class to allow setting the initial screen for video display.
-
-*/
-class RMMFVideoSetInitScreenCustomCommands : public RMMFCustomCommandsBase
- {
-public:
-
- /**
- Constructor.
-
- @param aController
- The client side controller object to be used by this custom command interface.
-
- */
- IMPORT_C RMMFVideoSetInitScreenCustomCommands(RMMFController& aController);
-
- /**
- Sets the initial screen number for the video display on the controller.
-
- @param aScreenNumber
- The screen number
-
- */
- IMPORT_C TInt SetInitScreenNumber(TInt aScreenNumber);
- };
-
-
-
-/**
-@publishedPartner
-@prototype
-
-Mixin class to be derived from controller plugins that could support setting the initial screen for displaying video.
-*/
-class MMMFVideoSetInitScreenCustomCommandImplementor
- {
-public:
-
- /**
- Sets the initial screen number.
-
- @param aScreenNumber
- The screen number
- */
- virtual void MvsdSetInitScreenNumber(TInt aScreenNumber)=0;
- };
-
-
-/**
-@publishedPartner
-@prototype
-
-Custom command parser class to be used by controller plugins wishing to support setting the initial screen
-number for the video display.
-
-The controller plugin should create an object of this type and add it to the list of custom command parsers
-in the controller framework. The controller plugin must be derived from MMMFVideoSetInitScreenCustomCommandImplementor
-to use this class.
-*/
-class CMMFVideoSetInitScreenCustomCommandParser : public CMMFCustomCommandParserBase
- {
-public:
-
- /**
- Creates a new custom command parser that supports setting screen device for video dusplay.
-
- @param aImplementor
- A reference to the controller plugin that owns this new object.
-
- @return A pointer to the object created.
-
- */
- IMPORT_C static CMMFVideoSetInitScreenCustomCommandParser* NewL(MMMFVideoSetInitScreenCustomCommandImplementor& aImplementor);
-
- /**
- Destructor.
-
- */
- IMPORT_C ~CMMFVideoSetInitScreenCustomCommandParser();
-
- /**
- Handles a request from the client. Called by the controller framework.
-
- @param aMessage
- The message to be handled.
-
- */
- void HandleRequest(TMMFMessage& aMessage);
-
-private:
- /**
- Constructor.
-
- @param aImplementor
- A reference to the controller plugin that owns this new object.
- */
- CMMFVideoSetInitScreenCustomCommandParser(MMMFVideoSetInitScreenCustomCommandImplementor& aImplementor);
- void DoHandleRequestL(TMMFMessage& aMessage);
- TBool DoSetInitScreenNumberL(TMMFMessage& aMessage);
-
-private:
- MMMFVideoSetInitScreenCustomCommandImplementor& iImplementor;
- };
-
-
-/**
-@publishedPartner
-@prototype
-
-Client class to allow setting and getting the pixel aspect ratio for video recording.
-
-*/
-class RMMFVideoPixelAspectRatioCustomCommands : public RMMFCustomCommandsBase
- {
-public:
-
- /**
- Constructor.
-
- @param aController
- The client side controller object to be used by this custom command interface.
-
- */
- IMPORT_C RMMFVideoPixelAspectRatioCustomCommands(RMMFController& aController);
-
- /**
- Sets the pixel aspect ratio for the video recording on the controller.
-
- @param aAspectRatio
- The new pixel aspect ratio. The default pixel aspect ratio is 1:1.
-
- @return One of the system-wide error codes.
-
- */
- IMPORT_C TInt SetPixelAspectRatio(const TVideoAspectRatio& aAspectRatio);
-
- /**
- Gets the current pixel aspect ratio for the video recording on the controller.
-
- @param aAspectRatio
- The current video pixel aspect ratio.
-
- @return One of the system-wide error codes.
- */
- IMPORT_C TInt GetPixelAspectRatio(TVideoAspectRatio& aAspectRatio) const;
-
- /**
- Gets the list of supported pixel aspect ratios for the video recording on the controller.
-
- @param aAspectRatios
- The supported pixel aspect ratios.
-
- @leave This method may leave with one of the system-wide error codes.
- */
- IMPORT_C void GetSupportedPixelAspectRatiosL(RArray<TVideoAspectRatio>& aAspectRatios) const;
-
-private:
- void DoGetVideoPixelAspectRatioArrayL(RArray<TVideoAspectRatio>& aArray, TMMFVideoPixelAspectRatioMessages aIpc) const;
- };
-
-
-/**
-@publishedPartner
-@prototype
-
-Mixin class to be derived from controller plug-ins that could support setting and getting the pixel aspect ratio for video recording.
-*/
-class MMMFVideoPixelAspectRatioCustomCommandImplementor
- {
-public:
-
- /**
- Sets the pixel aspect ratio.
-
- @param aAspectRatio
- The pixel aspect ratio to use.
- */
- virtual void MvparSetPixelAspectRatioL(const TVideoAspectRatio& aAspectRatio) = 0;
-
- /**
- Gets the current pixel aspect ratio.
-
- @param aAspectRatio
- The current pixel aspect ratio.
- */
- virtual void MvparGetPixelAspectRatioL(TVideoAspectRatio& aAspectRatio) = 0;
-
- /**
- Gets the list of supported pixel aspect ratios.
-
- @param aAspectRatios
- The list of supported pixel aspect ratios.
- */
- virtual void MvparGetSupportedPixelAspectRatiosL(RArray<TVideoAspectRatio>& aAspectRatios) = 0;
- };
-
-
-/**
-@publishedPartner
-@prototype
-
-Custom command parser class to be used by controller plug-ins wishing to support setting and getting the pixel aspect
-ratio for the video recording.
-
-The controller plug-in should create an object of this type and add it to the list of custom command parsers
-in the controller framework. The controller plug-in must be derived from MMMFVideoPixelAspectRatioCustomCommandImplementor
-to use this class.
-*/
-class CMMFVideoPixelAspectRatioCustomCommandParser : public CMMFCustomCommandParserBase
- {
-public:
-
- /**
- Creates a new custom command parser that supports setting and getting pixel aspect ratio for video recording.
-
- @param aImplementor
- A reference to the controller plug-in that owns this new object.
-
- @return A pointer to the object created.
-
- */
- IMPORT_C static CMMFVideoPixelAspectRatioCustomCommandParser* NewL(MMMFVideoPixelAspectRatioCustomCommandImplementor& aImplementor);
-
- /**
- Destructor.
-
- */
- IMPORT_C ~CMMFVideoPixelAspectRatioCustomCommandParser();
-
- /**
- Handles a request from the client. Called by the controller framework.
-
- @param aMessage
- The message to be handled.
-
- */
- void HandleRequest(TMMFMessage& aMessage);
-
-private:
- CMMFVideoPixelAspectRatioCustomCommandParser(MMMFVideoPixelAspectRatioCustomCommandImplementor& aImplementor);
- void DoHandleRequestL(TMMFMessage& aMessage);
- TBool DoSetPixelAspectRatioL(TMMFMessage& aMessage);
- TBool DoGetPixelAspectRatioL(TMMFMessage& aMessage);
- TBool DoGetSupportedPixelAspectRatiosL(TMMFMessage& aMessage);
- TBool DoCopyArrayDataL(TMMFMessage& aMessage);
- void DoCreateBufFromVideoAspectRatioArrayL(RArray<TVideoAspectRatio>& aArray);
-
-private:
- MMMFVideoPixelAspectRatioCustomCommandImplementor& iImplementor;
-
- CBufFlat* iDataCopyBuffer;
- };
-
-
-/**
-@publishedPartner
-@prototype
-
-Client class to allow the audio sampling rate and channels configuration for video recording.
-
-*/
-class RMMFVideoAudioSamplingRateAndChannelConfigCustomCommands : public RMMFCustomCommandsBase
- {
-public:
-
- /**
- Constructor.
-
- @param aController
- The client side controller object to be used by this custom command interface.
-
- */
- IMPORT_C RMMFVideoAudioSamplingRateAndChannelConfigCustomCommands(RMMFController& aController);
-
- /**
- Sets the number of audio channels to record (1 for mono, 2 for stereo).
-
- @param aChannels
- The number of audio channels to record.
-
- @return One of the system-wide error codes.
-
- */
- IMPORT_C TInt SetAudioChannels(const TUint aChannels);
-
- /**
- Gets the current number of audio channels to record (1 for mono, 2 for stereo).
-
- @param aChannels
- The current number of audio channels to record.
-
- @return One of the system-wide error codes.
-
- */
- IMPORT_C TInt GetAudioChannels(TUint& aChannels) const;
-
- /**
- Gets the list of supported number of audio channels for video recording.
-
- @param aChannels
- The supported numbers of audio channels.
-
- @leave This method may leave with one of the system-wide error codes.
- */
- IMPORT_C void GetSupportedAudioChannelsL(RArray<TUint>& aChannels) const;
-
- /**
- Sets the audio sample rate for video recording.
-
- @param aSampleRate
- The sample rate for audio recording.
-
- @return One of the system-wide error codes.
-
- */
- IMPORT_C TInt SetAudioSampleRate(const TUint aSampleRate);
-
- /**
- Gets the current audio sample rate for recording.
-
- @param aSampleRate
- The current audio sample rate for recording.
-
- @return One of the system-wide error codes.
-
- */
- IMPORT_C TInt GetAudioSampleRate(TUint& aSampleRate) const;
-
- /**
- Gets the list of supported audio sample rates for video recording.
-
- @param aSampleRates
- The supported audio sample rates.
-
- @leave This method may leave with one of the system-wide error codes.
- */
- IMPORT_C void GetSupportedAudioSampleRatesL(RArray<TUint>& aSampleRates) const;
-
-private:
- void DoGetUintArrayL(RArray<TUint>& aArray, TMMFVideoAudioSamplingRateAndChannelConfigMessages aIpc) const;
- };
-
-
-/**
-@publishedPartner
-@prototype
-
-Mixin class to be derived from controller plug-ins that could support the audio sampling rate and channels configuration.
-*/
-class MMMFVideoAudioSamplingRateAndChannelConfigCustomCommandImplementor
- {
-public:
-
- /**
- Sets the number of audio channels.
-
- @param aChannels
- The number of audio channels to use.
- */
- virtual void MvasrccSetAudioChannelsL(const TUint aChannels) = 0;
-
- /**
- Gets the current number of audio channels.
-
- @param aChannels
- The current number of audio channels.
- */
- virtual void MvasrccGetAudioChannelsL(TUint& aChannels) = 0;
-
- /**
- Gets the list of supported number of audio channels.
-
- @param aChannels
- The list of supported number of audio channels.
- */
- virtual void MvasrccGetSupportedAudioChannelsL(RArray<TUint>& aChannels) = 0;
-
- /**
- Sets the audio sample rate.
-
- @param aSampleRate
- The audio sample rate to use.
- */
- virtual void MvasrccSetAudioSampleRateL(const TUint aSampleRate) = 0;
-
- /**
- Gets the current audio sample rate.
-
- @param aSampleRate
- The current audio sample rate.
- */
- virtual void MvasrccGetAudioSampleRateL(TUint& aSampleRate) = 0;
-
- /**
- Gets the list of supported audio sample rates.
-
- @param aSampleRates
- The list of supported audio sample rates.
- */
- virtual void MvasrccGetSupportedAudioSampleRatesL(RArray<TUint>& aSampleRates) = 0;
- };
-
-/**
-@publishedPartner
-@prototype
-
-Custom command parser class to be used by controller plug-ins wishing to support the audio sampling rate and channels
-configuration for the video recording.
-
-The controller plug-in should create an object of this type and add it to the list of custom command parsers
-in the controller framework. The controller plug-in must be derived from MMMFVideoAudioSamplingRateAndChannelConfigCustomCommandImplementor
-to use this class.
-*/
-class CMMFVideoAudioSamplingRateAndChannelConfigCustomCommandParser : public CMMFCustomCommandParserBase
- {
-public:
-
- /**
- Creates a new custom command parser that supports the audio sampling rate and channels configuration for video recording.
-
- @param aImplementor
- A reference to the controller plug-in that owns this new object.
-
- @return A pointer to the object created.
-
- */
- IMPORT_C static CMMFVideoAudioSamplingRateAndChannelConfigCustomCommandParser* NewL(MMMFVideoAudioSamplingRateAndChannelConfigCustomCommandImplementor& aImplementor);
-
- /**
- Destructor.
-
- */
- IMPORT_C ~CMMFVideoAudioSamplingRateAndChannelConfigCustomCommandParser();
-
- /**
- Handles a request from the client. Called by the controller framework.
-
- @param aMessage
- The message to be handled.
-
- */
- void HandleRequest(TMMFMessage& aMessage);
-
-private:
- CMMFVideoAudioSamplingRateAndChannelConfigCustomCommandParser(MMMFVideoAudioSamplingRateAndChannelConfigCustomCommandImplementor& aImplementor);
- void DoHandleRequestL(TMMFMessage& aMessage);
- TBool DoSetAudioChannelsL(TMMFMessage& aMessage);
- TBool DoGetAudioChannelsL(TMMFMessage& aMessage);
- TBool DoGetSupportedAudioChannelsL(TMMFMessage& aMessage);
-
- TBool DoSetAudioSampleRateL(TMMFMessage& aMessage);
- TBool DoGetAudioSampleRateL(TMMFMessage& aMessage);
- TBool DoGetSupportedAudioSampleRatesL(TMMFMessage& aMessage);
-
- TBool DoCopyArrayDataL(TMMFMessage& aMessage);
-
- void DoCreateBufFromUintArrayL(RArray<TUint>& aArray);
-
-private:
- MMMFVideoAudioSamplingRateAndChannelConfigCustomCommandImplementor& iImplementor;
-
- CBufFlat* iDataCopyBuffer;
- };
-
-/**
-@publishedPartner
-@prototype
-*/
-const TUid KUidInterfaceMMFVideoPlayExt = {0x10283437};
-
-/**
-Mixin class to be derived from controller plug-ins that could support
-play velocity, enabling/disabling audio/video, and auto scaling.
-
-@publishedPartner
-@prototype
-*/
-class MMMFVideoPlayControllerExtCustomCommandImplementor
- {
-public:
-
- /**
- Sets play velocity.
- Behaviour is same as CVideoPlayerUtility::SetPlayVelocityL
-
- @see CVideoPlayerUtility::SetPlayVelocityL
- */
- virtual void MvpecSetPlayVelocityL(TInt aVelocity)=0;
-
- /**
- Gets play velocity.
- Behaviour is same as CVideoPlayerUtility::PlayVelocityL
-
- @see CVideoPlayerUtility::PlayVelocityL
- */
- virtual TInt MvpecPlayVelocityL()=0;
-
- /**
- Steps through frames in pause mode.
- Behaviour is same as CVideoPlayerUtility::StepFrameL
-
- @see CVideoPlayerUtility::StepFrameL
- */
- virtual void MvpecStepFrameL(TInt aStep)=0;
-
- /**
- Gets play rate capabilities.
- Behaviour is same as CVideoPlayerUtility::GetPlayRateCapabilitiesL
-
- @see CVideoPlayerUtility::GetPlayRateCapabilitiesL
- */
- virtual void MvpecGetPlayRateCapabilitiesL(TVideoPlayRateCapabilities& aCapabilities)=0;
-
- /**
- Enables/Disables video playback.
- Behaviour is same as CVideoPlayerUtility::SetVideoEnabledL
-
- @see CVideoPlayerUtility::SetVideoEnabledL
- */
- virtual void MvpecSetVideoEnabledL(TBool aVideoEnabled)=0;
-
- /**
- Queries whether video playback is currently enabled or not.
- Behaviour is same as CVideoPlayerUtility::VideoEnabledL
-
- @see CVideoPlayerUtility::VideoEnabledL
- */
- virtual TBool MvpecVideoEnabledL()=0;
-
- /**
- Enables or disables audio playback.
- Behaviour is same as CVideoPlayerUtility::SetAudioEnabled
-
- @see CVideoPlayerUtility::SetAudioEnabled
- */
- virtual void MvpecSetAudioEnabledL(TBool aAudioEnabled)=0;
-
- /**
- Sets Auto scale mode.
- Behaviour is same as CVideoPlayerUtility::SetAutoScaleL
-
- @see CVideoPlayerUtility::SetAutoScaleL
- */
- virtual void MvpecSetAutoScaleL(TAutoScaleType aScaleType, TInt aHorizPos, TInt aVertPos)=0;
- };
-
-/**
-Used for commands between RMMFVideoPlayControllerExtCustomCommands and
-CMMFVideoPlayControllerExtCustomCommandParser classes.
-
-@internalComponent
-*/
-enum TMMFVideoPlayControllerExtCustomCommandConfigMessages
- {
- EMMFVideoPlayControllerSetPlayVelocity = 0,
- EMMFVideoPlayControllerPlayVelocity,
- EMMFVideoPlayControllerStepFrame,
- EMMFVideoPlayControllerGetPlayRateCapabilities,
- EMMFVideoPlayControllerSetVideoEnabled,
- EMMFVideoPlayControllerVideoEnabled,
- EMMFVideoPlayControllerSetAudioEnabled,
- EMMFVideoPlayControllerSetAutoScale
- };
-/**
-@internalComponent
-*/
-class TMMFVideoPlayAutoScaleParams
- {
-public:
- TAutoScaleType iScaleType;
- TInt iHorizPos;
- TInt iVertPos;
- };
-
-/**
-Custom command parser class to be used by controller plug-ins wishing to support play velocity,
-enabling/disabling audio/video, and auto scaling.
-
-The controller plug-in should create an object of this type and add it to the list of custom command parsers
-in the controller framework. The controller plug-in must be derived from MMMFVideoPlayControllerExtCustomCommandImplementor
-to use this class.
-
-@publishedPartner
-@prototype
-*/
-class CMMFVideoPlayControllerExtCustomCommandParser : public CMMFCustomCommandParserBase
- {
-public:
-
- /**
- Creates a new custom command parser that supports the video rate control and auto scaling.
-
- @param aImplementor
- A reference to the controller plug-in that owns this new object.
-
- @return A pointer to the object created.
-
- */
- IMPORT_C static CMMFVideoPlayControllerExtCustomCommandParser* NewL(MMMFVideoPlayControllerExtCustomCommandImplementor& aImplementor);
-
- /**
- Destructor.
-
- */
- IMPORT_C ~CMMFVideoPlayControllerExtCustomCommandParser();
-
- /**
- Handles a request from the client. Called by the controller framework.
-
- @param aMessage
- The message to be handled.
-
- */
- void HandleRequest(TMMFMessage& aMessage);
-
-private:
- CMMFVideoPlayControllerExtCustomCommandParser(MMMFVideoPlayControllerExtCustomCommandImplementor& aImplementor);
- void DoHandleRequestL(TMMFMessage& aMessage);
- TBool DoSetPlayVelocityL(TMMFMessage& aMessage);
- TBool DoPlayVelocityL(TMMFMessage& aMessage);
- TBool DoStepFrameL(TMMFMessage& aMessage);
- TBool DoGetPlayRateCapabilitiesL(TMMFMessage& aMessage);
- TBool DoSetVideoEnabledL(TMMFMessage& aMessage);
- TBool DoVideoEnabledL(TMMFMessage& aMessage);
- TBool DoSetAudioEnabledL(TMMFMessage& aMessage);
- TBool DoSetAutoScaleL(TMMFMessage& aMessage);
-private:
- MMMFVideoPlayControllerExtCustomCommandImplementor& iImplementor;
- };
-
-/**
-Resource class to be used by player utility for sending custom commands.
-
-@publishedPartner
-@prototype
-*/
-class RMMFVideoPlayControllerExtCustomCommands: public RMMFCustomCommandsBase
- {
-public:
- /**
- Constructor.
-
- @param aController
- The client side controller object to be used by this custom command interface.
- */
- IMPORT_C RMMFVideoPlayControllerExtCustomCommands(RMMFController& aController);
-
- /**
- Sets play velocity.
- Behaviour is same as CVideoPlayerUtility::SetPlayVelocityL
-
- @param aVelocity
- Velocity of the playback.
-
- @return One of the system-wide error codes.
-
- @see CVideoPlayerUtility::SetPlayVelocityL
- */
- IMPORT_C TInt SetPlayVelocity(TInt aVelocity);
-
- /**
- Gets play velocity.
- Behaviour is same as CVideoPlayerUtility::PlayVelocityL
-
- @param aVelocity
- Velocity of the playback.
-
- @return One of the system-wide error codes.
-
- @see CVideoPlayerUtility::PlayVelocityL
- */
- IMPORT_C TInt PlayVelocity(TInt &aVelocity)const;
-
- /**
- Steps through frames in pause mode.
- Behaviour is same as CVideoPlayerUtility::StepFrameL
-
- @param aStep
- Count indicating number of frames to step playback position.
-
- @return One of the system-wide error codes.
-
- @see CVideoPlayerUtility::StepFrameL
- */
- IMPORT_C TInt StepFrame(TInt aStep);
-
- /**
- Gets play rate capabilities.
- Behaviour is same as CVideoPlayerUtility::GetPlayRateCapabilitiesL
-
- @param aCapabilities Playback rate capabilities
-
- @return One of the system-wide error codes.
-
- @see CVideoPlayerUtility::GetPlayRateCapabilitiesL
- */
- IMPORT_C TInt GetPlayRateCapabilities(TVideoPlayRateCapabilities& aCapabilities)const;
-
- /**
- Enables/Disables video playback.
- Behaviour is same as CVideoPlayerUtility::SetVideoEnabledL
-
- @param aVideoEnabled ETrue to enable video playback, EFalse to disable
-
- @return One of the system-wide error codes.
-
- @see CVideoPlayerUtility::SetVideoEnabledL
- */
- IMPORT_C TInt SetVideoEnabled(TBool aVideoEnabled);
-
- /**
- Queries whether video playback is currently enabled or not.
- Behaviour is same as CVideoPlayerUtility::VideoEnabledL
-
- @param aVideoEnabled
- Out parameter returns ETrue if video playback is enabled, EFalse if not.
-
- @return One of the system-wide error codes.
-
- @see CVideoPlayerUtility::VideoEnabledL
- */
- IMPORT_C TInt VideoEnabled(TBool &aVideoEnabled)const;
-
- /**
- Enables or disables audio playback.
- Behaviour is same as CVideoPlayerUtility::SetAudioEnabledL
-
- @param aVideoEnabled ETrue to enable audio playback, EFalse to disable
-
- @return One of the system-wide error codes.
-
- @see CVideoPlayerUtility::SetAudioEnabledL
- */
- IMPORT_C TInt SetAudioEnabled(TBool aAudioEnabled);
-
- /**
- Sets Auto scale mode.
- Behaviour is same as CVideoPlayerUtility::SetAutoScaleL
-
- @param aScaleType Automatic scaling type
- @param aHorizPos Video picture horizontal position, relative to the
- video window.
- @param aVertPos Video picture vertical position, relative to the
- video window.
- @return One of the system-wide error codes.
-
- @see CVideoPlayerUtility::SetAutoScaleL
- */
- IMPORT_C TInt SetAutoScale(TAutoScaleType aScaleType, TInt aHorizPos, TInt aVertPos);
- };
-
-/**
-@publishedPartner
-@prototype
-*/
-const TUid KUidInterfaceMMFVideoRecorderExt = {0x10283438};
-
-/**
-Mixin class to be derived from controller plug-ins that could support quality and enabling video.
-
-@publishedPartner
-@prototype
-*/
-class MMMFVideoRecordControllerExtCustomCommandImplementor
- {
-public:
-
- /**
- Enabled or disables video in recorder.
- Behaviour is same as CVideoRecorderUtility::SetVideoEnabledL
-
- @see CVideoRecorderUtility::SetVideoEnabledL
- */
- virtual void MvrecSetVideoEnabledL(TBool aEnabled)=0;
- /**
- Gets the flag that indicates video enabled or not.
- Behaviour is same as CVideoRecorderUtility::VideoEnabledL
-
- @see CVideoRecorderUtility::VideoEnabledL
- */
- virtual TBool MvrecVideoEnabledL() const=0;
- /**
- Sets the quality of video being recorded.
- Behaviour is same as CVideoRecorderUtility::SetVideoQualityL
-
- @see CVideoRecorderUtility::SetVideoQualityL
- */
- virtual void MvrecSetVideoQualityL(TInt aQuality)=0;
- /**
- Gets video quality level set using SetVideoQualityL.
- Behaviour is same as CVideoRecorderUtility::VideoQualityL
-
- @see CVideoRecorderUtility::VideoQualityL
- */
- virtual TInt MvrecVideoQualityL() const=0;
- /**
- Sets the video framerate to fixed.
- Behaviour is same as CVideoRecorderUtility::SetVideoFrameRateFixedL
-
- @see CVideoRecorderUtility::SetVideoFrameRateFixedL
- */
- virtual void MvrecSetVideoFrameRateFixedL(TBool aFixedFrameRate)=0;
- /**
- Gets FrameRateFixed flag set using SetVideoFrameRateFixedL.
- Behaviour is same as CVideoRecorderUtility::VideoFrameRateFixedL
-
- @see CVideoRecorderUtility::VideoFrameRateFixedL
- */
- virtual TBool MvrecVideoFrameRateFixedL() const=0;
- };
-
-/**
-@internalComponent
-*/
-enum TMMFVideoRecorderExtCustomCommandConfigMessages
- {
- EMMFVideoRecordControllerSetVideoEnabled = 0,
- EMMFVideoRecordControllerVideoEnabled,
- EMMFVideoRecordControllerSetVideoQuality,
- EMMFVideoRecordControllerVideoQuality,
- EMMFVideoRecordControllerSetVideoFrameRateFixed,
- EMMFVideoRecordControllerVideoFrameRateFixed
- };
-
-/**
-Custom command parser class to be used by controller plug-ins wishing to implement VideoRecorderExt custom commands.
-
-The controller plug-in should create an object of this type and add it to the list of custom command parsers
-in the controller framework. The controller plug-in must be derived from MMMFVideoRecordControllerExtCustomCommandImplementor
-to use this class.
-
-@publishedPartner
-@prototype
-*/
-class CMMFVideoRecordControllerExtCustomCommandParser : public CMMFCustomCommandParserBase
- {
-public:
-
- /**
- Creates a new custom command parser that supports the video rate control and auto scaling.
-
- @param aImplementor A reference to the controller plug-in that owns this new object.
- @return A pointer to the object created.
- */
- IMPORT_C static CMMFVideoRecordControllerExtCustomCommandParser* NewL(MMMFVideoRecordControllerExtCustomCommandImplementor& aImplementor);
-
- /**
- Destructor.
- */
- IMPORT_C ~CMMFVideoRecordControllerExtCustomCommandParser();
-
- /**
- Handles a request from the client. Called by the controller framework.
-
- @param aMessage The message to be handled.
- */
- void HandleRequest(TMMFMessage& aMessage);
-
-private:
- CMMFVideoRecordControllerExtCustomCommandParser(MMMFVideoRecordControllerExtCustomCommandImplementor& aImplementor);
- void DoHandleRequestL(TMMFMessage& aMessage);
- TBool DoSetVideoEnabledL(TMMFMessage& aMessage);
- TBool DoVideoEnabledL(TMMFMessage& aMessage);
- TBool DoSetVideoQualityL(TMMFMessage& aMessage);
- TBool DoVideoQualityL(TMMFMessage& aMessage);
- TBool DoSetVideoFrameRateFixedL(TMMFMessage& aMessage);
- TBool DoVideoFrameRateFixedL(TMMFMessage& aMessage);
-private:
- MMMFVideoRecordControllerExtCustomCommandImplementor& iImplementor;
- };
-
-/**
-Resource class to be used by Recorder utility for sending custom commands.
-
-@publishedPartner
-@prototype
-*/
-class RMMFVideoRecordControllerExtCustomCommands: public RMMFCustomCommandsBase
- {
-public:
- /**
- Constructor.
-
- @param aController
- The client side controller object to be used by this custom command interface.
- @return One of the system-wide error codes.
- */
- IMPORT_C RMMFVideoRecordControllerExtCustomCommands(RMMFController& aController);
-
- /**
- Enabled or disables video in recorder.
- Behaviour is same as CVideoRecorderUtility::SetVideoEnabledL
-
- @param aEnabled ETrue to enable video recording, EFalse to enable it
-
- @return One of the system-wide error codes.
- @see CVideoRecorderUtility::SetVideoEnabledL
- */
- IMPORT_C TInt SetVideoEnabled(TBool aEnabled);
-
- /**
- Gets the flag that indicates video enabled or not.
- Behaviour is same as CVideoRecorderUtility::VideoEnabledL
-
- @param aEnabled
- Out parameter returns ETrue if video recording is enabled , EFalse otherwise.
-
- @return One of the system-wide error codes.
- @see CVideoRecorderUtility::VideoEnabledL
- */
- IMPORT_C TInt VideoEnabled(TBool &aEnabled) const;
-
- /**
- Sets the quality of video being recorded.
- Behaviour is same as CVideoRecorderUtility::SetVideoQualityL
-
- @param aQuality Video quality, in the range of 0 to 100, inclusive.
-
- @return One of the system-wide error codes.
- @see CVideoRecorderUtility::SetVideoQualityL
- */
- IMPORT_C TInt SetVideoQuality(TInt aQuality);
-
- /**
- Gets video quality level set using SetVideoQualityL.
- Behaviour is same as CVideoRecorderUtility::VideoQualityL
-
- @param aQuality Out parameter returning Video quality in the range 0-100.
-
- @return One of the system-wide error codes.
- @see CVideoRecorderUtility::VideoQualityL
- */
- IMPORT_C TInt VideoQuality(TInt &aQuality) const;
-
- /**
- Sets the video framerate to fixed.
- Behaviour is same as CVideoRecorderUtility::SetVideoFrameRateFixedL
-
- @param aFixedFrameRate ETrue to request a fixed framerate, EFalse to
- request a variable framerate.
-
- @return One of the system-wide error codes.
- @see CVideoRecorderUtility::SetVideoFrameRateFixedL
- */
- IMPORT_C TInt SetVideoFrameRateFixed(TBool aFixedFrameRate);
-
- /**
- Gets FrameRateFixed flag set using SetVideoFrameRateFixedL.
- Behaviour is same as CVideoRecorderUtility::VideoFrameRateFixedL
-
- @param aFixedFrameRate Out parameter returns ETrue if fixed framerate
- is enabled, EFalse otherwise.
-
- @return One of the system-wide error codes.
- @see CVideoRecorderUtility::VideoFrameRateFixedL
- */
- IMPORT_C TInt VideoFrameRateFixed(TBool &aFixedFrameRate) const;
- };
-
-/**
-@publishedPartner
-@released
-
-Interface UID and messages for the Audio Play Controller Set Repeats API.
-*/
-const TUid KUidInterfaceMMFAudioPlaySetRepeatsController = {0x102834D5};
-
-/**
-@internalComponent
-*/
-enum TMMFAudioPlayControllerSetRepeatsMessages
- {
- EMMFAudioPlayControllerSetRepeats
- };
-
-/**
-@publishedPartner
-@released
-
-Client class to access loop play functionality of audio play controller.
-
-The class uses the custom command function of the controller plugin, and removes the necessity
-for the client to formulate the custom commands.
-*/
-class RMMFAudioPlayControllerSetRepeatsCustomCommands : public RMMFCustomCommandsBase
- {
-public:
-
- /**
- Constructor.
-
- @param aController
- The client side controller object to be used by this custom command interface.
- */
- IMPORT_C RMMFAudioPlayControllerSetRepeatsCustomCommands(RMMFController& aController);
-
- /**
- Sets the number of times the audio sample to be repeated and the trailing silence period
-
- @param aRepeatNumberOfTimes
- The number of times the audio sample needs to be repeated
-
- @param aTrailingSilence
- The time interval of the trailing silence in microseconds.
-
- @return KErrNotSupported if the controller plugin does not support the loop play functionality.
- */
- IMPORT_C TInt SetRepeats(TInt aRepeatNumberOfTimes, const TTimeIntervalMicroSeconds& aTrailingSilence);
- };
-
-/**
-@publishedPartner
-@released
-
-Mixin class to be derived from by controller plugins that could support the set repeats custom command.
-*/
-class MMMFAudioPlayControllerSetRepeatsCustomCommandImplementor
- {
-public:
-
- /**
- Sets the number of times the audio sample is to be repeated during the playback operation.
- A period of silence can follow each playing of the sample. The audio sample can be repeated indefinitely.
-
- @param aRepeatNumberOfTimes
- The number of times the audio sample, together with the trailing silence, is to be repeated.
- If this is set to KMdaRepeatForever, then the audio sample, together with the trailing silence,
- is repeated indefinitely or until Stop() is called.
- If this is set to zero, then the audio sample is not repeated.
-
- @param aTrailingSilence
- The time interval of the trailing silence in microseconds.
-
- @return KErrNone if the controller plugin supports the loop play functionality
- KErrNotSupported if the controller plugin does not support the loop play functionality
- KErrNotReady if the controller plugin is not yet added the audio sink
- */
- virtual TInt MapcSetRepeats(TInt aRepeatNumberOfTimes, const TTimeIntervalMicroSeconds& aTrailingSilence) = 0;
- };
-
-/**
-@publishedPartner
-@released
-
-Custom command parser class to be used by controller plugins wishing to support set repeats functionality
-
-The controller plugin should create an object of this type and add it to the list of custom command parsers
-in the controller framework. The controller plugin must be derived from
-MMMFAudioPlayControllerSetRepeatsCustomCommandImplementor to use this class.
-*/
-
-class CMMFAudioPlayControllerSetRepeatsCustomCommandParser : public CMMFCustomCommandParserBase
- {
-public:
-
- /**
- Creates a new custom command parser capable of handling set repeats controller commands.
-
- @param aImplementor
- A reference to the controller plugin that owns this new object.
-
- @return A pointer to the object created.
-
- */
- IMPORT_C static CMMFAudioPlayControllerSetRepeatsCustomCommandParser* NewL(MMMFAudioPlayControllerSetRepeatsCustomCommandImplementor& aImplementor);
-
- /**
- Destructor.
-
- */
- IMPORT_C ~CMMFAudioPlayControllerSetRepeatsCustomCommandParser();
-
- /**
- Handles a request from the client. Called by the controller framework.
-
- @param aMessage
- The message to be handled.
-
- */
- void HandleRequest(TMMFMessage& aMessage);
-private:
-
- /**
- Constructor.
-
- @param aImplementor
- A reference to the controller plugin that owns this new object.
-
- */
- CMMFAudioPlayControllerSetRepeatsCustomCommandParser(MMMFAudioPlayControllerSetRepeatsCustomCommandImplementor& aImplementor);
- // Internal request handling methods.
- void DoHandleRequestL(TMMFMessage& aMessage);
- TBool DoSetRepeatsL(TMMFMessage& aMessage);
-private:
- /**
- The object that implements the set repeats custom command i.e controller plugin
- */
- MMMFAudioPlayControllerSetRepeatsCustomCommandImplementor& iImplementor;
- };
+
#endif