Update contrib.
1 // Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
16 #ifndef __MMFSTANDARDCUSTOMCOMMANDS_IMPL_H
17 #define __MMFSTANDARDCUSTOMCOMMANDS_IMPL_H
19 #include <mmf/common/mmfcontroller.h>
20 #include <mmf/common/mmfvideo.h>
21 #include <mmf/common/mmcaf.h>
23 class CMMFVideoFrameMessage;
32 Client class to allow setting the initial screen for video display.
35 class RMMFVideoSetInitScreenCustomCommands : public RMMFCustomCommandsBase
43 The client side controller object to be used by this custom command interface.
46 IMPORT_C RMMFVideoSetInitScreenCustomCommands(RMMFController& aController);
49 Sets the initial screen number for the video display on the controller.
55 IMPORT_C TInt SetInitScreenNumber(TInt aScreenNumber);
64 Mixin class to be derived from controller plugins that could support setting the initial screen for displaying video.
66 class MMMFVideoSetInitScreenCustomCommandImplementor
71 Sets the initial screen number.
76 virtual void MvsdSetInitScreenNumber(TInt aScreenNumber)=0;
84 Custom command parser class to be used by controller plugins wishing to support setting the initial screen
85 number for the video display.
87 The controller plugin should create an object of this type and add it to the list of custom command parsers
88 in the controller framework. The controller plugin must be derived from MMMFVideoSetInitScreenCustomCommandImplementor
91 class CMMFVideoSetInitScreenCustomCommandParser : public CMMFCustomCommandParserBase
96 Creates a new custom command parser that supports setting screen device for video dusplay.
99 A reference to the controller plugin that owns this new object.
101 @return A pointer to the object created.
104 IMPORT_C static CMMFVideoSetInitScreenCustomCommandParser* NewL(MMMFVideoSetInitScreenCustomCommandImplementor& aImplementor);
110 IMPORT_C ~CMMFVideoSetInitScreenCustomCommandParser();
113 Handles a request from the client. Called by the controller framework.
116 The message to be handled.
119 void HandleRequest(TMMFMessage& aMessage);
126 A reference to the controller plugin that owns this new object.
128 CMMFVideoSetInitScreenCustomCommandParser(MMMFVideoSetInitScreenCustomCommandImplementor& aImplementor);
129 void DoHandleRequestL(TMMFMessage& aMessage);
130 TBool DoSetInitScreenNumberL(TMMFMessage& aMessage);
133 MMMFVideoSetInitScreenCustomCommandImplementor& iImplementor;
138 WARNING: For internal use ONLY. Compatibility is not guaranteed in future releases.
141 enum TMMFVideoPixelAspectRatioMessages
143 EMMFVideoGetPixelAspectRatio,
144 EMMFVideoSetPixelAspectRatio,
145 EMMFVideoGetSupportedPixelAspectRatios,
146 EMMFVideoPixelAspectRatioCopyArrayData
150 WARNING: For internal use ONLY. Compatibility is not guaranteed in future releases.
153 enum TMMFVideoAudioSamplingRateAndChannelConfigMessages
155 EMMFVideoGetAudioChannels,
156 EMMFVideoSetAudioChannels,
157 EMMFVideoGetSupportedAudioChannels,
158 EMMFVideoGetAudioSampleRate,
159 EMMFVideoSetAudioSampleRate,
160 EMMFVideoGetSupportedAudioSampleRates,
161 EMMFVideoAudioSamplingRateAndChannelConfigCopyArrayData
169 Client class to allow setting and getting the pixel aspect ratio for video recording.
172 class RMMFVideoPixelAspectRatioCustomCommands : public RMMFCustomCommandsBase
180 The client side controller object to be used by this custom command interface.
183 IMPORT_C RMMFVideoPixelAspectRatioCustomCommands(RMMFController& aController);
186 Sets the pixel aspect ratio for the video recording on the controller.
189 The new pixel aspect ratio. The default pixel aspect ratio is 1:1.
191 @return One of the system-wide error codes.
194 IMPORT_C TInt SetPixelAspectRatio(const TVideoAspectRatio& aAspectRatio);
197 Gets the current pixel aspect ratio for the video recording on the controller.
200 The current video pixel aspect ratio.
202 @return One of the system-wide error codes.
204 IMPORT_C TInt GetPixelAspectRatio(TVideoAspectRatio& aAspectRatio) const;
207 Gets the list of supported pixel aspect ratios for the video recording on the controller.
210 The supported pixel aspect ratios.
212 @leave This method may leave with one of the system-wide error codes.
214 IMPORT_C void GetSupportedPixelAspectRatiosL(RArray<TVideoAspectRatio>& aAspectRatios) const;
217 void DoGetVideoPixelAspectRatioArrayL(RArray<TVideoAspectRatio>& aArray, TMMFVideoPixelAspectRatioMessages aIpc) const;
225 Mixin class to be derived from controller plug-ins that could support setting and getting the pixel aspect ratio for video recording.
227 class MMMFVideoPixelAspectRatioCustomCommandImplementor
232 Sets the pixel aspect ratio.
235 The pixel aspect ratio to use.
237 virtual void MvparSetPixelAspectRatioL(const TVideoAspectRatio& aAspectRatio) = 0;
240 Gets the current pixel aspect ratio.
243 The current pixel aspect ratio.
245 virtual void MvparGetPixelAspectRatioL(TVideoAspectRatio& aAspectRatio) = 0;
248 Gets the list of supported pixel aspect ratios.
251 The list of supported pixel aspect ratios.
253 virtual void MvparGetSupportedPixelAspectRatiosL(RArray<TVideoAspectRatio>& aAspectRatios) = 0;
261 Custom command parser class to be used by controller plug-ins wishing to support setting and getting the pixel aspect
262 ratio for the video recording.
264 The controller plug-in should create an object of this type and add it to the list of custom command parsers
265 in the controller framework. The controller plug-in must be derived from MMMFVideoPixelAspectRatioCustomCommandImplementor
268 class CMMFVideoPixelAspectRatioCustomCommandParser : public CMMFCustomCommandParserBase
273 Creates a new custom command parser that supports setting and getting pixel aspect ratio for video recording.
276 A reference to the controller plug-in that owns this new object.
278 @return A pointer to the object created.
281 IMPORT_C static CMMFVideoPixelAspectRatioCustomCommandParser* NewL(MMMFVideoPixelAspectRatioCustomCommandImplementor& aImplementor);
287 IMPORT_C ~CMMFVideoPixelAspectRatioCustomCommandParser();
290 Handles a request from the client. Called by the controller framework.
293 The message to be handled.
296 void HandleRequest(TMMFMessage& aMessage);
299 CMMFVideoPixelAspectRatioCustomCommandParser(MMMFVideoPixelAspectRatioCustomCommandImplementor& aImplementor);
300 void DoHandleRequestL(TMMFMessage& aMessage);
301 TBool DoSetPixelAspectRatioL(TMMFMessage& aMessage);
302 TBool DoGetPixelAspectRatioL(TMMFMessage& aMessage);
303 TBool DoGetSupportedPixelAspectRatiosL(TMMFMessage& aMessage);
304 TBool DoCopyArrayDataL(TMMFMessage& aMessage);
305 void DoCreateBufFromVideoAspectRatioArrayL(RArray<TVideoAspectRatio>& aArray);
308 MMMFVideoPixelAspectRatioCustomCommandImplementor& iImplementor;
310 CBufFlat* iDataCopyBuffer;
318 Client class to allow the audio sampling rate and channels configuration for video recording.
321 class RMMFVideoAudioSamplingRateAndChannelConfigCustomCommands : public RMMFCustomCommandsBase
329 The client side controller object to be used by this custom command interface.
332 IMPORT_C RMMFVideoAudioSamplingRateAndChannelConfigCustomCommands(RMMFController& aController);
335 Sets the number of audio channels to record (1 for mono, 2 for stereo).
338 The number of audio channels to record.
340 @return One of the system-wide error codes.
343 IMPORT_C TInt SetAudioChannels(const TUint aChannels);
346 Gets the current number of audio channels to record (1 for mono, 2 for stereo).
349 The current number of audio channels to record.
351 @return One of the system-wide error codes.
354 IMPORT_C TInt GetAudioChannels(TUint& aChannels) const;
357 Gets the list of supported number of audio channels for video recording.
360 The supported numbers of audio channels.
362 @leave This method may leave with one of the system-wide error codes.
364 IMPORT_C void GetSupportedAudioChannelsL(RArray<TUint>& aChannels) const;
367 Sets the audio sample rate for video recording.
370 The sample rate for audio recording.
372 @return One of the system-wide error codes.
375 IMPORT_C TInt SetAudioSampleRate(const TUint aSampleRate);
378 Gets the current audio sample rate for recording.
381 The current audio sample rate for recording.
383 @return One of the system-wide error codes.
386 IMPORT_C TInt GetAudioSampleRate(TUint& aSampleRate) const;
389 Gets the list of supported audio sample rates for video recording.
392 The supported audio sample rates.
394 @leave This method may leave with one of the system-wide error codes.
396 IMPORT_C void GetSupportedAudioSampleRatesL(RArray<TUint>& aSampleRates) const;
399 void DoGetUintArrayL(RArray<TUint>& aArray, TMMFVideoAudioSamplingRateAndChannelConfigMessages aIpc) const;
407 Mixin class to be derived from controller plug-ins that could support the audio sampling rate and channels configuration.
409 class MMMFVideoAudioSamplingRateAndChannelConfigCustomCommandImplementor
414 Sets the number of audio channels.
417 The number of audio channels to use.
419 virtual void MvasrccSetAudioChannelsL(const TUint aChannels) = 0;
422 Gets the current number of audio channels.
425 The current number of audio channels.
427 virtual void MvasrccGetAudioChannelsL(TUint& aChannels) = 0;
430 Gets the list of supported number of audio channels.
433 The list of supported number of audio channels.
435 virtual void MvasrccGetSupportedAudioChannelsL(RArray<TUint>& aChannels) = 0;
438 Sets the audio sample rate.
441 The audio sample rate to use.
443 virtual void MvasrccSetAudioSampleRateL(const TUint aSampleRate) = 0;
446 Gets the current audio sample rate.
449 The current audio sample rate.
451 virtual void MvasrccGetAudioSampleRateL(TUint& aSampleRate) = 0;
454 Gets the list of supported audio sample rates.
457 The list of supported audio sample rates.
459 virtual void MvasrccGetSupportedAudioSampleRatesL(RArray<TUint>& aSampleRates) = 0;
466 Custom command parser class to be used by controller plug-ins wishing to support the audio sampling rate and channels
467 configuration for the video recording.
469 The controller plug-in should create an object of this type and add it to the list of custom command parsers
470 in the controller framework. The controller plug-in must be derived from MMMFVideoAudioSamplingRateAndChannelConfigCustomCommandImplementor
473 class CMMFVideoAudioSamplingRateAndChannelConfigCustomCommandParser : public CMMFCustomCommandParserBase
478 Creates a new custom command parser that supports the audio sampling rate and channels configuration for video recording.
481 A reference to the controller plug-in that owns this new object.
483 @return A pointer to the object created.
486 IMPORT_C static CMMFVideoAudioSamplingRateAndChannelConfigCustomCommandParser* NewL(MMMFVideoAudioSamplingRateAndChannelConfigCustomCommandImplementor& aImplementor);
492 IMPORT_C ~CMMFVideoAudioSamplingRateAndChannelConfigCustomCommandParser();
495 Handles a request from the client. Called by the controller framework.
498 The message to be handled.
501 void HandleRequest(TMMFMessage& aMessage);
504 CMMFVideoAudioSamplingRateAndChannelConfigCustomCommandParser(MMMFVideoAudioSamplingRateAndChannelConfigCustomCommandImplementor& aImplementor);
505 void DoHandleRequestL(TMMFMessage& aMessage);
506 TBool DoSetAudioChannelsL(TMMFMessage& aMessage);
507 TBool DoGetAudioChannelsL(TMMFMessage& aMessage);
508 TBool DoGetSupportedAudioChannelsL(TMMFMessage& aMessage);
510 TBool DoSetAudioSampleRateL(TMMFMessage& aMessage);
511 TBool DoGetAudioSampleRateL(TMMFMessage& aMessage);
512 TBool DoGetSupportedAudioSampleRatesL(TMMFMessage& aMessage);
514 TBool DoCopyArrayDataL(TMMFMessage& aMessage);
516 void DoCreateBufFromUintArrayL(RArray<TUint>& aArray);
519 MMMFVideoAudioSamplingRateAndChannelConfigCustomCommandImplementor& iImplementor;
521 CBufFlat* iDataCopyBuffer;
528 const TUid KUidInterfaceMMFVideoPlayExt = {0x10283437};
530 class TVideoPlayRateCapabilities;
533 Mixin class to be derived from controller plug-ins that could support
534 play velocity, enabling/disabling audio/video, and auto scaling.
539 class MMMFVideoPlayControllerExtCustomCommandImplementor
545 Behaviour is same as CVideoPlayerUtility::SetPlayVelocityL
547 @see CVideoPlayerUtility::SetPlayVelocityL
549 virtual void MvpecSetPlayVelocityL(TInt aVelocity)=0;
553 Behaviour is same as CVideoPlayerUtility::PlayVelocityL
555 @see CVideoPlayerUtility::PlayVelocityL
557 virtual TInt MvpecPlayVelocityL()=0;
560 Steps through frames in pause mode.
561 Behaviour is same as CVideoPlayerUtility::StepFrameL
563 @see CVideoPlayerUtility::StepFrameL
565 virtual void MvpecStepFrameL(TInt aStep)=0;
568 Gets play rate capabilities.
569 Behaviour is same as CVideoPlayerUtility::GetPlayRateCapabilitiesL
571 @see CVideoPlayerUtility::GetPlayRateCapabilitiesL
573 virtual void MvpecGetPlayRateCapabilitiesL(TVideoPlayRateCapabilities& aCapabilities)=0;
576 Enables/Disables video playback.
577 Behaviour is same as CVideoPlayerUtility::SetVideoEnabledL
579 @see CVideoPlayerUtility::SetVideoEnabledL
581 virtual void MvpecSetVideoEnabledL(TBool aVideoEnabled)=0;
584 Queries whether video playback is currently enabled or not.
585 Behaviour is same as CVideoPlayerUtility::VideoEnabledL
587 @see CVideoPlayerUtility::VideoEnabledL
589 virtual TBool MvpecVideoEnabledL()=0;
592 Enables or disables audio playback.
593 Behaviour is same as CVideoPlayerUtility::SetAudioEnabled
595 @see CVideoPlayerUtility::SetAudioEnabled
597 virtual void MvpecSetAudioEnabledL(TBool aAudioEnabled)=0;
600 Sets Auto scale mode.
601 Behaviour is same as CVideoPlayerUtility::SetAutoScaleL
603 @see CVideoPlayerUtility::SetAutoScaleL
605 virtual void MvpecSetAutoScaleL(TAutoScaleType aScaleType, TInt aHorizPos, TInt aVertPos)=0;
611 Custom command parser class to be used by controller plug-ins wishing to support play velocity,
612 enabling/disabling audio/video, and auto scaling.
614 The controller plug-in should create an object of this type and add it to the list of custom command parsers
615 in the controller framework. The controller plug-in must be derived from MMMFVideoPlayControllerExtCustomCommandImplementor
621 class CMMFVideoPlayControllerExtCustomCommandParser : public CMMFCustomCommandParserBase
626 Creates a new custom command parser that supports the video rate control and auto scaling.
629 A reference to the controller plug-in that owns this new object.
631 @return A pointer to the object created.
634 IMPORT_C static CMMFVideoPlayControllerExtCustomCommandParser* NewL(MMMFVideoPlayControllerExtCustomCommandImplementor& aImplementor);
640 IMPORT_C ~CMMFVideoPlayControllerExtCustomCommandParser();
643 Handles a request from the client. Called by the controller framework.
646 The message to be handled.
649 void HandleRequest(TMMFMessage& aMessage);
652 CMMFVideoPlayControllerExtCustomCommandParser(MMMFVideoPlayControllerExtCustomCommandImplementor& aImplementor);
653 void DoHandleRequestL(TMMFMessage& aMessage);
654 TBool DoSetPlayVelocityL(TMMFMessage& aMessage);
655 TBool DoPlayVelocityL(TMMFMessage& aMessage);
656 TBool DoStepFrameL(TMMFMessage& aMessage);
657 TBool DoGetPlayRateCapabilitiesL(TMMFMessage& aMessage);
658 TBool DoSetVideoEnabledL(TMMFMessage& aMessage);
659 TBool DoVideoEnabledL(TMMFMessage& aMessage);
660 TBool DoSetAudioEnabledL(TMMFMessage& aMessage);
661 TBool DoSetAutoScaleL(TMMFMessage& aMessage);
663 MMMFVideoPlayControllerExtCustomCommandImplementor& iImplementor;
667 Resource class to be used by player utility for sending custom commands.
672 class RMMFVideoPlayControllerExtCustomCommands: public RMMFCustomCommandsBase
679 The client side controller object to be used by this custom command interface.
681 IMPORT_C RMMFVideoPlayControllerExtCustomCommands(RMMFController& aController);
685 Behaviour is same as CVideoPlayerUtility::SetPlayVelocityL
688 Velocity of the playback.
690 @return One of the system-wide error codes.
692 @see CVideoPlayerUtility::SetPlayVelocityL
694 IMPORT_C TInt SetPlayVelocity(TInt aVelocity);
698 Behaviour is same as CVideoPlayerUtility::PlayVelocityL
701 Velocity of the playback.
703 @return One of the system-wide error codes.
705 @see CVideoPlayerUtility::PlayVelocityL
707 IMPORT_C TInt PlayVelocity(TInt &aVelocity)const;
710 Steps through frames in pause mode.
711 Behaviour is same as CVideoPlayerUtility::StepFrameL
714 Count indicating number of frames to step playback position.
716 @return One of the system-wide error codes.
718 @see CVideoPlayerUtility::StepFrameL
720 IMPORT_C TInt StepFrame(TInt aStep);
723 Gets play rate capabilities.
724 Behaviour is same as CVideoPlayerUtility::GetPlayRateCapabilitiesL
726 @param aCapabilities Playback rate capabilities
728 @return One of the system-wide error codes.
730 @see CVideoPlayerUtility::GetPlayRateCapabilitiesL
732 IMPORT_C TInt GetPlayRateCapabilities(TVideoPlayRateCapabilities& aCapabilities)const;
735 Enables/Disables video playback.
736 Behaviour is same as CVideoPlayerUtility::SetVideoEnabledL
738 @param aVideoEnabled ETrue to enable video playback, EFalse to disable
740 @return One of the system-wide error codes.
742 @see CVideoPlayerUtility::SetVideoEnabledL
744 IMPORT_C TInt SetVideoEnabled(TBool aVideoEnabled);
747 Queries whether video playback is currently enabled or not.
748 Behaviour is same as CVideoPlayerUtility::VideoEnabledL
751 Out parameter returns ETrue if video playback is enabled, EFalse if not.
753 @return One of the system-wide error codes.
755 @see CVideoPlayerUtility::VideoEnabledL
757 IMPORT_C TInt VideoEnabled(TBool &aVideoEnabled)const;
760 Enables or disables audio playback.
761 Behaviour is same as CVideoPlayerUtility::SetAudioEnabledL
763 @param aVideoEnabled ETrue to enable audio playback, EFalse to disable
765 @return One of the system-wide error codes.
767 @see CVideoPlayerUtility::SetAudioEnabledL
769 IMPORT_C TInt SetAudioEnabled(TBool aAudioEnabled);
772 Sets Auto scale mode.
773 Behaviour is same as CVideoPlayerUtility::SetAutoScaleL
775 @param aScaleType Automatic scaling type
776 @param aHorizPos Video picture horizontal position, relative to the
778 @param aVertPos Video picture vertical position, relative to the
780 @return One of the system-wide error codes.
782 @see CVideoPlayerUtility::SetAutoScaleL
784 IMPORT_C TInt SetAutoScale(TAutoScaleType aScaleType, TInt aHorizPos, TInt aVertPos);
791 const TUid KUidInterfaceMMFVideoRecorderExt = {0x10283438};
794 Mixin class to be derived from controller plug-ins that could support quality and enabling video.
799 class MMMFVideoRecordControllerExtCustomCommandImplementor
804 Enabled or disables video in recorder.
805 Behaviour is same as CVideoRecorderUtility::SetVideoEnabledL
807 @see CVideoRecorderUtility::SetVideoEnabledL
809 virtual void MvrecSetVideoEnabledL(TBool aEnabled)=0;
811 Gets the flag that indicates video enabled or not.
812 Behaviour is same as CVideoRecorderUtility::VideoEnabledL
814 @see CVideoRecorderUtility::VideoEnabledL
816 virtual TBool MvrecVideoEnabledL() const=0;
818 Sets the quality of video being recorded.
819 Behaviour is same as CVideoRecorderUtility::SetVideoQualityL
821 @see CVideoRecorderUtility::SetVideoQualityL
823 virtual void MvrecSetVideoQualityL(TInt aQuality)=0;
825 Gets video quality level set using SetVideoQualityL.
826 Behaviour is same as CVideoRecorderUtility::VideoQualityL
828 @see CVideoRecorderUtility::VideoQualityL
830 virtual TInt MvrecVideoQualityL() const=0;
832 Sets the video framerate to fixed.
833 Behaviour is same as CVideoRecorderUtility::SetVideoFrameRateFixedL
835 @see CVideoRecorderUtility::SetVideoFrameRateFixedL
837 virtual void MvrecSetVideoFrameRateFixedL(TBool aFixedFrameRate)=0;
839 Gets FrameRateFixed flag set using SetVideoFrameRateFixedL.
840 Behaviour is same as CVideoRecorderUtility::VideoFrameRateFixedL
842 @see CVideoRecorderUtility::VideoFrameRateFixedL
844 virtual TBool MvrecVideoFrameRateFixedL() const=0;
850 Custom command parser class to be used by controller plug-ins wishing to implement VideoRecorderExt custom commands.
852 The controller plug-in should create an object of this type and add it to the list of custom command parsers
853 in the controller framework. The controller plug-in must be derived from MMMFVideoRecordControllerExtCustomCommandImplementor
859 class CMMFVideoRecordControllerExtCustomCommandParser : public CMMFCustomCommandParserBase
864 Creates a new custom command parser that supports the video rate control and auto scaling.
866 @param aImplementor A reference to the controller plug-in that owns this new object.
867 @return A pointer to the object created.
869 IMPORT_C static CMMFVideoRecordControllerExtCustomCommandParser* NewL(MMMFVideoRecordControllerExtCustomCommandImplementor& aImplementor);
874 IMPORT_C ~CMMFVideoRecordControllerExtCustomCommandParser();
877 Handles a request from the client. Called by the controller framework.
879 @param aMessage The message to be handled.
881 void HandleRequest(TMMFMessage& aMessage);
884 CMMFVideoRecordControllerExtCustomCommandParser(MMMFVideoRecordControllerExtCustomCommandImplementor& aImplementor);
885 void DoHandleRequestL(TMMFMessage& aMessage);
886 TBool DoSetVideoEnabledL(TMMFMessage& aMessage);
887 TBool DoVideoEnabledL(TMMFMessage& aMessage);
888 TBool DoSetVideoQualityL(TMMFMessage& aMessage);
889 TBool DoVideoQualityL(TMMFMessage& aMessage);
890 TBool DoSetVideoFrameRateFixedL(TMMFMessage& aMessage);
891 TBool DoVideoFrameRateFixedL(TMMFMessage& aMessage);
893 MMMFVideoRecordControllerExtCustomCommandImplementor& iImplementor;
897 Resource class to be used by Recorder utility for sending custom commands.
902 class RMMFVideoRecordControllerExtCustomCommands: public RMMFCustomCommandsBase
909 The client side controller object to be used by this custom command interface.
910 @return One of the system-wide error codes.
912 IMPORT_C RMMFVideoRecordControllerExtCustomCommands(RMMFController& aController);
915 Enabled or disables video in recorder.
916 Behaviour is same as CVideoRecorderUtility::SetVideoEnabledL
918 @param aEnabled ETrue to enable video recording, EFalse to enable it
920 @return One of the system-wide error codes.
921 @see CVideoRecorderUtility::SetVideoEnabledL
923 IMPORT_C TInt SetVideoEnabled(TBool aEnabled);
926 Gets the flag that indicates video enabled or not.
927 Behaviour is same as CVideoRecorderUtility::VideoEnabledL
930 Out parameter returns ETrue if video recording is enabled , EFalse otherwise.
932 @return One of the system-wide error codes.
933 @see CVideoRecorderUtility::VideoEnabledL
935 IMPORT_C TInt VideoEnabled(TBool &aEnabled) const;
938 Sets the quality of video being recorded.
939 Behaviour is same as CVideoRecorderUtility::SetVideoQualityL
941 @param aQuality Video quality, in the range of 0 to 100, inclusive.
943 @return One of the system-wide error codes.
944 @see CVideoRecorderUtility::SetVideoQualityL
946 IMPORT_C TInt SetVideoQuality(TInt aQuality);
949 Gets video quality level set using SetVideoQualityL.
950 Behaviour is same as CVideoRecorderUtility::VideoQualityL
952 @param aQuality Out parameter returning Video quality in the range 0-100.
954 @return One of the system-wide error codes.
955 @see CVideoRecorderUtility::VideoQualityL
957 IMPORT_C TInt VideoQuality(TInt &aQuality) const;
960 Sets the video framerate to fixed.
961 Behaviour is same as CVideoRecorderUtility::SetVideoFrameRateFixedL
963 @param aFixedFrameRate ETrue to request a fixed framerate, EFalse to
964 request a variable framerate.
966 @return One of the system-wide error codes.
967 @see CVideoRecorderUtility::SetVideoFrameRateFixedL
969 IMPORT_C TInt SetVideoFrameRateFixed(TBool aFixedFrameRate);
972 Gets FrameRateFixed flag set using SetVideoFrameRateFixedL.
973 Behaviour is same as CVideoRecorderUtility::VideoFrameRateFixedL
975 @param aFixedFrameRate Out parameter returns ETrue if fixed framerate
976 is enabled, EFalse otherwise.
978 @return One of the system-wide error codes.
979 @see CVideoRecorderUtility::VideoFrameRateFixedL
981 IMPORT_C TInt VideoFrameRateFixed(TBool &aFixedFrameRate) const;
988 Interface UID and messages for the Audio Play Controller Set Repeats API.
990 const TUid KUidInterfaceMMFAudioPlaySetRepeatsController = {0x102834D5};
997 Client class to access loop play functionality of audio play controller.
999 The class uses the custom command function of the controller plugin, and removes the necessity
1000 for the client to formulate the custom commands.
1002 class RMMFAudioPlayControllerSetRepeatsCustomCommands : public RMMFCustomCommandsBase
1010 The client side controller object to be used by this custom command interface.
1012 IMPORT_C RMMFAudioPlayControllerSetRepeatsCustomCommands(RMMFController& aController);
1015 Sets the number of times the audio sample to be repeated and the trailing silence period
1017 @param aRepeatNumberOfTimes
1018 The number of times the audio sample needs to be repeated
1020 @param aTrailingSilence
1021 The time interval of the trailing silence in microseconds.
1023 @return KErrNotSupported if the controller plugin does not support the loop play functionality.
1025 IMPORT_C TInt SetRepeats(TInt aRepeatNumberOfTimes, const TTimeIntervalMicroSeconds& aTrailingSilence);
1032 Mixin class to be derived from by controller plugins that could support the set repeats custom command.
1034 class MMMFAudioPlayControllerSetRepeatsCustomCommandImplementor
1039 Sets the number of times the audio sample is to be repeated during the playback operation.
1040 A period of silence can follow each playing of the sample. The audio sample can be repeated indefinitely.
1042 @param aRepeatNumberOfTimes
1043 The number of times the audio sample, together with the trailing silence, is to be repeated.
1044 If this is set to KMdaRepeatForever, then the audio sample, together with the trailing silence,
1045 is repeated indefinitely or until Stop() is called.
1046 If this is set to zero, then the audio sample is not repeated.
1048 @param aTrailingSilence
1049 The time interval of the trailing silence in microseconds.
1051 @return KErrNone if the controller plugin supports the loop play functionality
1052 KErrNotSupported if the controller plugin does not support the loop play functionality
1053 KErrNotReady if the controller plugin is not yet added the audio sink
1055 virtual TInt MapcSetRepeats(TInt aRepeatNumberOfTimes, const TTimeIntervalMicroSeconds& aTrailingSilence) = 0;
1062 Custom command parser class to be used by controller plugins wishing to support set repeats functionality
1064 The controller plugin should create an object of this type and add it to the list of custom command parsers
1065 in the controller framework. The controller plugin must be derived from
1066 MMMFAudioPlayControllerSetRepeatsCustomCommandImplementor to use this class.
1069 class CMMFAudioPlayControllerSetRepeatsCustomCommandParser : public CMMFCustomCommandParserBase
1074 Creates a new custom command parser capable of handling set repeats controller commands.
1077 A reference to the controller plugin that owns this new object.
1079 @return A pointer to the object created.
1082 IMPORT_C static CMMFAudioPlayControllerSetRepeatsCustomCommandParser* NewL(MMMFAudioPlayControllerSetRepeatsCustomCommandImplementor& aImplementor);
1088 IMPORT_C ~CMMFAudioPlayControllerSetRepeatsCustomCommandParser();
1091 Handles a request from the client. Called by the controller framework.
1094 The message to be handled.
1097 void HandleRequest(TMMFMessage& aMessage);
1104 A reference to the controller plugin that owns this new object.
1107 CMMFAudioPlayControllerSetRepeatsCustomCommandParser(MMMFAudioPlayControllerSetRepeatsCustomCommandImplementor& aImplementor);
1108 // Internal request handling methods.
1109 void DoHandleRequestL(TMMFMessage& aMessage);
1110 TBool DoSetRepeatsL(TMMFMessage& aMessage);
1113 The object that implements the set repeats custom command i.e controller plugin
1115 MMMFAudioPlayControllerSetRepeatsCustomCommandImplementor& iImplementor;