class CCamera::CCameraVideoCaptureControl : public CBase |
CCamera Video Capture Control class exposes an API for controlling operations related to video capture. This gives priority to the low latency aspect by postponing the post processing activity involved with current video captured data(while stopping the video capture) in order to capture/prepare for next still image.
This class is not intended for sub-classing and used to standardise existing varieties of implementations.
If the class methods leave, any reference argument is not guaranteed to be valid.
Clients must implement an MCaptureVideoObserver in order to use this CCameraVideoCaptureControl API. MCameraObserver2::VideoBufferReady will not be used with this class.
Private Member Functions | |
---|---|
CCameraVideoCaptureControl(CCamera &) | |
void | ConstructL(MCaptureVideoObserver &) |
void | GetConversionCoefficientL(TYuvCoefficients &) |
void | GetSupportedConversionCoefficientsL(TUint &) |
void | SetConversionCoefficient(TYuvCoefficients) |
Public Member Enumerations | |
---|---|
enum | TEmbeddedStillCaptureTypes { EEmbeddedStillCaptureNotSupported = 0x00, EEmbeddedStillCaptureSupported = 0x01 } |
enum | TFadingEffectState { EFadingEffectEnabled, EFadingEffectDisabled } |
enum | TVideoCaptureState { EVideoCapturePrepared, EVideoCaptureActive, EVideoCapturePaused, EVideoCaptureInActive } |
enum | TVideoCaptureType { EVideoCaptureNotSupported = 0x00, EClientVideoCapture = 0x01, EDirectVideoCapture = 0x02 } |
Private Attributes | |
---|---|
MCameraVideoCaptureControl * | iImpl |
CCamera & | iOwner |
CCameraVideoCaptureControl | ( | CCamera & | aOwner | ) | [private] |
CCamera & aOwner |
void | ConstructL | ( | MCaptureVideoObserver & | aCaptureVideoObserver | ) | [private] |
MCaptureVideoObserver & aCaptureVideoObserver |
void | GetConversionCoefficientL | ( | TYuvCoefficients & | aConversionCoefficients | ) | const [private] |
TYuvCoefficients & aConversionCoefficients |
IMPORT_C void | GetDisabledSettingsL | ( | RArray< TUid > & | aDisabledSettings | ) | const |
IMPORT_C void | GetEmbeddedStillCaptureSupportInfoL | ( | TInt & | aSupportedEmbeddedStillCaptureTypes | ) | const |
TInt & aSupportedEmbeddedStillCaptureTypes |
IMPORT_C void | GetFadingEffectStateL | ( | TFadingEffectState & | aFadingEffectState | ) | const |
TFadingEffectState & aFadingEffectState |
IMPORT_C void | GetPixelAspectsSupportedL | ( | TUint & | aPixelAspectsSupported, |
CCamera::TFormat | aVideoFormat, | |||
const TSize & | aSize | |||
) | const |
TUint & aPixelAspectsSupported | |
CCamera::TFormat aVideoFormat | |
const TSize & aSize |
IMPORT_C void | GetPrepareVideoParametersL | ( | TPrepareVideoParameters & | aPrepareVideoParameters | ) | const |
TPrepareVideoParameters & aPrepareVideoParameters |
IMPORT_C void | GetRangeAffectedSettingsL | ( | RArray< TUid > & | aRangeAffectedSettings | ) | const |
IMPORT_C CCamera::CCameraSnapshot * | GetSnapshotHandleL | ( | TInt | aClientViewFinderId | ) | const |
TInt aClientViewFinderId |
void | GetSupportedConversionCoefficientsL | ( | TUint & | aSupportedConversionCoefficients | ) | const [private] |
TUint & aSupportedConversionCoefficients |
IMPORT_C CCamera::CCameraImageProcessing * | GetTransformationHandleL | ( | ) | const |
IMPORT_C void | GetValueAffectedSettingsL | ( | RArray< TUid > & | aValueAffectedSettings | ) | const |
IMPORT_C void | GetVideoCaptureStateL | ( | TVideoCaptureState & | aVideoCaptureState | ) | const |
TVideoCaptureState & aVideoCaptureState |
IMPORT_C void | GetVideoCaptureSupportInfoL | ( | TInt & | aSupportedVideoCaptureTypes | ) | const |
TInt & aSupportedVideoCaptureTypes |
IMPORT_C void | GetVideoFormatsSupportedL | ( | TUint & | aVideoFormatsSupported, |
const TSize & | aSize | |||
) | const |
IMPORT_C CCameraVideoCaptureControl * | NewL | ( | CCamera & | aCamera, |
MCaptureVideoObserver & | aCaptureVideoObserver | |||
) | [static] |
CCamera & aCamera | |
MCaptureVideoObserver & aCaptureVideoObserver |
IMPORT_C void | PrepareVideoCapture | ( | const TPrepareVideoParameters & | aPrepareVideoParameters | ) |
const TPrepareVideoParameters & aPrepareVideoParameters |
void | SetConversionCoefficient | ( | TYuvCoefficients | aConversionCoefficients | ) | [private] |
TYuvCoefficients aConversionCoefficients |
IMPORT_C void | SetFadingEffectState | ( | TFadingEffectState | aFadingEffectState | ) |
TFadingEffectState aFadingEffectState |
Specifies the various embedded still capture support. The enumeration list may be extended in future.
EEmbeddedStillCaptureNotSupported = 0x00 |
Embedded still capture not supported |
EEmbeddedStillCaptureSupported = 0x01 |
Embedded still capture supported |
Specifies the fading effect for video captured frames. The enumeration list may be extended in future.
EFadingEffectEnabled |
The fading effect will be visible on video captured frames as well, whenever the viewfinder fading is enabled |
EFadingEffectDisabled |
The fading effect will not be visible on video captured frames, whenever the viewfinder fading is enabled |
Specifies video capture state. The enumeration list may be extended in future.
EVideoCapturePrepared |
Video Capture has been prepared but not yet started |
EVideoCaptureActive |
Video Capture has been started and is running |
EVideoCapturePaused |
Video Capture has been started and is paused |
EVideoCaptureInActive |
Video Capture has been stopped or not yet prepared |
Specifies the various video capture types. The enumeration list may be extended in future.
EVideoCaptureNotSupported = 0x00 |
Video capture not supported. |
EClientVideoCapture = 0x01 |
Client video capture - Client video capture is a concept under which video buffers will be available to the clients of ECam through the dedicated observer MCaptureVideoObserver::VideoBufferReady(). Video frame formats used under this client video capture can be either compressed video frames or uncompressed video frames which are available through CCamera::TFormat. |
EDirectVideoCapture = 0x02 |
Direct video capture - Direct video capture is a concept under which video buffers will not be available to the clients of ECam through the dedicated observers. Video frames will be used by the ECam adaptation and could be passed internally to other components. Video frame formats used under this direct video capture can be either compressed video frames or uncompressed video frames which are available through CCamera::TFormat. |