throbber
8/2/2018
`
`CCamera in Multimedia ECam
`
`SYMBIAN OS SDK V8.1A
`
`
`
`
`
`
`
` » Symbian OS SDK v8.1a » Symbian OS reference » C++ component reference » Multimedia ECam » CCamera
`
`Location: ECam.h
`
`Class CCamera
`
`class CCamera : public CBase;
`
`Description
`
`Base class for camera devices.
`
`Provides the interface that an application uses to control, and acquire images from, the camera.
`An application must supply an implementation of MCameraObserver2 (or MCameraObserver).
`
`Derivation
`
`CBase - Base class for all classes to be instantiated on the heap
`CCamera - Base class for camera devices
`
`Members
`Defined in CCamera:
`Brightness(), BuffersInUse(), CameraInfo(), CamerasAvailable(), CancelCaptureImage(),
`
`CaptureImage(), Contrast(), CustomInterface(), DigitalZoomFactor(), EBrightnessAuto,
`EContrastAuto, EExposureAuto, EExposureBacklight, EExposureCenter, EExposureNight,
`EFlashAuto, EFlashFillIn, EFlashForced, EFlashNone, EFlashRedEyeReduce,
`EFormat16BitRGB565, EFormat16bitRGB444, EFormat32BitRGB888, EFormatExif,
`EFormatFbsBitmapColor16M, EFormatFbsBitmapColor4K, EFormatFbsBitmapColor64K,
`EFormatJpeg, EFormatMonochrome, EFormatUserDefined, EFormatYUV420Interleaved,
`EFormatYUV420Planar, EFormatYUV420SemiPlanar, EFormatYUV422, EFormatYUV422Reversed,
`EFormatYUV444, EWBAuto, EWBCloudy, EWBDaylight, EWBFlash, EWBFluorescent, EWBTungsten,
`EnumerateCaptureSizes(), EnumerateVideoFrameRates(), EnumerateVideoFrameSizes(),
`Exposure(), Flash(), FrameRate(), FramesPerBuffer(), GetFrameSize(), Handle(),
`JpegQuality(), NewDuplicateL(), NewL(), PowerOff(), PowerOn(), PrepareImageCaptureL(),
`PrepareImageCaptureL(), PrepareVideoCaptureL(), PrepareVideoCaptureL(), Release(),
`Reserve(), SetBrightnessL(), SetContrastL(), SetDigitalZoomFactorL(), SetExposureL(),
`SetFlashL(), SetJpegQuality(), SetViewFinderMirrorL(), SetWhiteBalanceL(),
`SetZoomFactorL(), StartVideoCapture(), StartViewFinderBitmapsL(),
`StartViewFinderBitmapsL(), StartViewFinderDirectL(), StartViewFinderDirectL(),
`StopVideoCapture(), StopViewFinder(), TBrightness, TContrast, TExposure, TFlash,
`TFormat, TWhiteBalance, VideoCaptureActive(), ViewFinderActive(), ViewFinderMirror(),
`WhiteBalance(), ZoomFactor()
`Inherited from CBase:
`operator new()
`
`
`Construction and destruction
`NewL()
`
`https://web.archive.org/web/20060917034627/http://www.symbian.com:80/developer/techlib/v8.1adocs/doc_source/reference/reference-cpp/N10256/… 1/24
`
`Page 1 of 24
`
`

`

`8/2/2018
`
`CCamera in Multimedia ECam
`static IMPORT_C CCamera *NewL(MCameraObserver &aObserver, TInt aCameraIndex);
`
`Description
`
`Creates an object representing a camera.
`
`Parameters
`
`MCameraObserver
`&aObserver
`
`TInt aCameraIndex
`
`Reference to class derived from MCameraObserver designed to receive
`notification of asynchronous event completion.
`
`Index from 0 to CamerasAvailable()-1 inclusive specifying the camera device
`to use.
`
`Return value
`
`CCamera *
`
`Leave codes
`
`Pointer to a fully constructed CCamera object. Ownership is passed to the caller.
`
`May
`
`leave with KErrNoMemory or KErrNotSupported if aCameraIndex is out of range.
`
`Member functions
`CamerasAvailable()
`static IMPORT_C TInt CamerasAvailable();
`
`Description
`
`Determines the number of cameras on the device.
`
`Return value
`
`TInt
`
`Count of cameras present on the device.
`
`NewDuplicateL()
`static IMPORT_C CCamera *NewDuplicateL(MCameraObserver &aObserver, TInt
`aCameraHandle);
`
`Description
`
`https://web.archive.org/web/20060917034627/http://www.symbian.com:80/developer/techlib/v8.1adocs/doc_source/reference/reference-cpp/N10256/… 2/24
`
`Page 2 of 24
`
`

`

`8/2/2018
`
`CCamera in Multimedia ECam
`Duplicates the original camera object for use by, for example, multimedia systems.
`
`May leave with KErrNoMemory or KErrNotFound if aCameraHandle is not valid.
`
`Parameters
`
`MCameraObserver &aObserver
`
`TInt aCameraHandle
`
`Reference to an observer.
`
`Handle of an existing camera object.
`
`Return value
`
`CCamera *
`
`Duplicate of the original camera object.
`
`CameraInfo()
`virtual void CameraInfo(TCameraInfo &aInfo) const=0;
`
`Description
`
`Gets information about the camera device.
`
`Parameters
`
`TCameraInfo &aInfo
`
`On return, information about the camera device. See TCameraInfo.
`
`Return value
`
`void
`Reserve()
`virtual void Reserve()=0;
`
`Description
`
`Asynchronous function that performs any required initialisation and reserves the camera for exclusive use.
`Calls MCameraObserver:: ReserveComplete() when complete.
`
`Return value
`
`void
`Release()
`virtual void Release()=0;
`https://web.archive.org/web/20060917034627/http://www.symbian.com:80/developer/techlib/v8.1adocs/doc_source/reference/reference-cpp/N10256/… 3/24
`
`Page 3 of 24
`
`

`

`8/2/2018
`
`CCamera in Multimedia ECam
`
`Description
`
`De-initialises the camera, allowing it to be used by other clients.
`
`Return value
`
`void
`PowerOn()
`virtual void PowerOn()=0;
`
`Description
`
`Asynchronous method to switch on camera power.
`User must have successfully called Reserve() prior to calling this function.
`Calls MCameraObserver::PowerOnComplete() when power on is complete.
`
`Return value
`
`void
`PowerOff()
`virtual void PowerOff()=0;
`
`Description
`
`Synchronous function for switching off camera power.
`
`Return value
`
`void
`Handle()
`virtual TInt Handle()=0;
`
`Description
`
`Gets the device-unique handle of this camera object.
`
`Return value
`
`TInt
`
`The device-unique handle of this camera object.
`
`SetZoomFactorL()
`
`https://web.archive.org/web/20060917034627/http://www.symbian.com:80/developer/techlib/v8.1adocs/doc_source/reference/reference-cpp/N10256/… 4/24
`
`Page 4 of 24
`
`

`

`8/2/2018
`
`CCamera in Multimedia ECam
`virtual void SetZoomFactorL(TInt aZoomFactor=0)=0;
`
`Description
`
`Sets the zoom factor.
`This must be in the range of TCameraInfo::iMinZoom to TCameraInfo::iMaxZoom inclusive. May
`leave with KErrNotSupported if the specified zoom factor is out of range.
`
`Parameters
`
`TInt aZoomFactor
`
`Return value
`
`Required zoom factor.
`
`void
`ZoomFactor()
`virtual TInt ZoomFactor() const=0;
`
`Description
`
`Gets the currently set zoom factor.
`
`Return value
`
`TInt
`
`The currently set zoom factor.
`
`SetDigitalZoomFactorL()
`virtual void SetDigitalZoomFactorL(TInt aDigitalZoomFactor=0)=0;
`
`Description
`
`Sets the digital zoom factor.
`This must be in the range of 0 to TCameraInfo::iMaxDigitalZoom inclusive.
`May leave with KErrNotSupported if the zoom factor is out of range.
`
`Parameters
`
`TInt aDigitalZoomFactor
`
`The required digital zoom factor.
`
`Return value
`
`void
`
`https://web.archive.org/web/20060917034627/http://www.symbian.com:80/developer/techlib/v8.1adocs/doc_source/reference/reference-cpp/N10256/… 5/24
`
`Page 5 of 24
`
`

`

`8/2/2018
`
`DigitalZoomFactor()
`virtual TInt DigitalZoomFactor() const=0;
`
`CCamera in Multimedia ECam
`
`Description
`
`Gets the currently set digital zoom factor.
`
`Return value
`
`TInt
`
`The currently set digital zoom factor.
`
`SetContrastL()
`virtual void SetContrastL(TInt aContrast)=0;
`
`Description
`
`Sets the contrast adjustment of the device.
`
`This must be in the range of -100 to +100 or EContrastAuto. May leave with KErrNotSupported if the
`specified contrast value is out of range.
`
`Parameters
`
`TInt aContrast
`
`Return value
`
`Required contrast value. See TCameraInfo::iContrastSupported
`
`void
`Contrast()
`virtual TInt Contrast() const=0;
`
`Description
`
`Gets the currently set contrast value.
`
`Return value
`
`TInt
`
`The currently set contrast value.
`
`SetBrightnessL()
`virtual void SetBrightnessL(TInt aBrightness)=0;
`
`https://web.archive.org/web/20060917034627/http://www.symbian.com:80/developer/techlib/v8.1adocs/doc_source/reference/reference-cpp/N10256/… 6/24
`
`Page 6 of 24
`
`

`

`8/2/2018
`
`Description
`
`CCamera in Multimedia ECam
`
`Sets the brightness adjustment of the device.
`
`No effect if this is not supported, see TCameraInfo::iBrightnessSupported.
`
`This must be in the range of -100 to +100 or EBrightnessAuto. May leave with KErrNotSupported if the
`brightness adjustment is out of range.
`
`Parameters
`
`TInt aBrightness
`
`Return value
`
`The required brightness adjustment.
`
`void
`Brightness()
`virtual TInt Brightness() const=0;
`
`Description
`
`Gets the currently set brightness adjustment value.
`
`Return value
`
`TInt
`
`The currently set brightness adjustment value.
`
`SetFlashL()
`virtual void SetFlashL(TFlash aFlash=EFlashNone)=0;
`
`Description
`
`Sets the flash mode.
`No effect if this is not supported, see TCameraInfo::iFlashModesSupported.
`May leave with KErrNotSupported if the specified flash mode is invalid.
`
`Parameters
`
`TFlash aFlash
`
`Return value
`
`void
`
`The required flash mode.
`
`https://web.archive.org/web/20060917034627/http://www.symbian.com:80/developer/techlib/v8.1adocs/doc_source/reference/reference-cpp/N10256/… 7/24
`
`Page 7 of 24
`
`

`

`8/2/2018
`
`Flash()
`virtual TFlash Flash() const=0;
`
`CCamera in Multimedia ECam
`
`Description
`
`Gets the currently set flash mode.
`
`Return value
`
`TFlash
`
`The currently set flash mode.
`
`SetExposureL()
`virtual void SetExposureL(TExposure aExposure=EExposureAuto)=0;
`
`Description
`
`Sets the exposure adjustment of the device.
`
`No effect if this is not supported, see CameraInfo::iExposureModesSupported.
`
`May leave with KErrNotSupported if the specified exposure adjustment is invalid.
`
`Parameters
`
`TExposure aExposure
`
`Return value
`
`The required exposure adjustment.
`
`void
`Exposure()
`virtual TExposure Exposure() const=0;
`
`Description
`
`Gets the currently set exposure setting value.
`
`Return value
`
`TExposure
`
`The currently set exposure setting value.
`
`SetWhiteBalanceL()
`virtual void SetWhiteBalanceL(TWhiteBalance aWhiteBalance=EWBAuto)=0;
`
`https://web.archive.org/web/20060917034627/http://www.symbian.com:80/developer/techlib/v8.1adocs/doc_source/reference/reference-cpp/N10256/… 8/24
`
`Page 8 of 24
`
`

`

`8/2/2018
`
`Description
`
`CCamera in Multimedia ECam
`
`Sets the white balance adjustment of the device.
`No effect if this is not supported, see TCameraInfo::iWhiteBalanceModesSupported.
`
`Parameters
`
`TWhiteBalance aWhiteBalance
`
`The required white balance adjustment.
`
`Return value
`
`void
`
`Leave codes
`
`May
`
`leave with KErrNotSupported if the specified white balance adjustment is invalid.
`
`WhiteBalance()
`virtual TWhiteBalance WhiteBalance() const=0;
`
`Description
`
`Gets the currently set white balance adjustment value.
`
`Return value
`
`TWhiteBalance
`
`The currently set white balance adjustment value.
`
`StartViewFinderDirectL()
`virtual void StartViewFinderDirectL(RWsSession &aWs, CWsScreenDevice
`&aScreenDevice, RWindowBase &aWindow, TRect &aScreenRect)=0;
`
`Description
`
`Starts transfer of view finder data to the given portion of the screen using direct screen access.
`
`The aScreenRect parameter is in screen co-ordinates and may be modified if, eg, the camera requires the
`destination to have a certain byte alignment, etc.
`
`Parameters
`
`RWsSession &aWs
`
`Window server session.
`
`CWsScreenDevice
`&aScreenDevice
`
`Screen device.
`
`https://web.archive.org/web/20060917034627/http://www.symbian.com:80/developer/techlib/v8.1adocs/doc_source/reference/reference-cpp/N10256/… 9/24
`
`Page 9 of 24
`
`

`

`8/2/2018
`
`CCamera in Multimedia ECam
`
`Displayable window.
`
`Portion of the screen to which view finder data is to be transferred. This is in screen
`co-ordinates and may be modified if, for example, the camera requires the
`destination to have a certain byte alignment.
`
`RWindowBase
`&aWindow
`
`TRect
`&aScreenRect
`
`Return value
`
`void
`
`Leave codes
`
`May
`
`leave with KErrNotReady if PowerOn() has either not been called, or has not yet completed.
`
`StartViewFinderDirectL()
`virtual void StartViewFinderDirectL(RWsSession &aWs, CWsScreenDevice
`&aScreenDevice, RWindowBase &aWindow, TRect &aScreenRect, TRect &aClipRect)=0;
`
`Description
`
`Starts transfer of view finder data to the given portion of the screen using direct screen access and also clips
`to the specified portion of the screen.
`
`The view finder has the same size and position as aScreenRect but is only visible in the intersection of
`aScreenRect and aClipRect. May leave with KErrNotSupported or KErrNotReady if Reserve() has not
`been called, or has not yet completed.
`
`Parameters
`
`RWsSession &aWs
`
`Window server session.
`
`CWsScreenDevice
`&aScreenDevice
`
`Screen device.
`
`RWindowBase
`&aWindow
`
`TRect
`&aScreenRect
`
`TRect
`&aClipRect
`
`Return value
`
`Displayable window.
`
`Portion of the screen to which view finder data is to be transferred. This is in screen
`co-ordinates and may be modified if, for example, the camera requires the
`destination to have a certain byte alignment.
`
`The rectangle to which the screen will be clipped.
`
`https://web.archive.org/web/20060917034627/http://www.symbian.com:80/developer/techlib/v8.1adocs/doc_source/reference/reference-cpp/N1025… 10/24
`
`Page 10 of 24
`
`

`

`8/2/2018
`
`void
`
`Leave codes
`
`CCamera in Multimedia ECam
`
`May
`
`leave with KErrNotReady if PowerOn() hasn't been called successfully.
`
`StartViewFinderBitmapsL()
`virtual void StartViewFinderBitmapsL(TSize &aSize)=0;
`
`Description
`
`Starts transfer of view finder data.
`Bitmaps are returned by MCameraObserver::ViewFinderFrameReady().
`
`On return, the size used.
`
`Parameters
`
`TSize &aSize
`
`Return value
`
`void
`
`Leave codes
`
`May
`
`leave with KErrNotReady if PowerOn() has not been called, or has not yet completed.
`
`StartViewFinderBitmapsL()
`virtual void StartViewFinderBitmapsL(TSize &aSize, TRect &aClipRect)=0;
`
`Description
`
`Starts transfer of view finder data and clips the bitmap to the specified clip rectangle.
`
`The bitmap is the size of the intersection of aSize and aClipRect, not simply aSize padded with white space.
`
`Parameters
`
`TSize &aSize
`
`TRect
`&aClipRect
`
`On return, the size used.
`
`Required clip rectangle. May be modified if, for example, the camera only supports
`certain byte alignments.
`
`Return value
`https://web.archive.org/web/20060917034627/http://www.symbian.com:80/developer/techlib/v8.1adocs/doc_source/reference/reference-cpp/N1025… 11/24
`
`Page 11 of 24
`
`

`

`8/2/2018
`
`CCamera in Multimedia ECam
`
`void
`
`Leave codes
`
`May
`
`leave with KErrInUse if Reserve() hasn't been called successfully, or KErrNotReady if PowerOn()
`hasn't been called successfully.
`
`StopViewFinder()
`virtual void StopViewFinder()=0;
`
`Description
`
`Stops transfer of view finder data to the screen.
`
`Return value
`
`void
`ViewFinderActive()
`virtual TBool ViewFinderActive() const=0;
`
`Description
`
`Queries whether the view finder is active.
`
`Return value
`
`TBool
`
`ETrue if the view finder is active. EFalse if the view finder is not active.
`
`SetViewFinderMirrorL()
`virtual void SetViewFinderMirrorL(TBool aMirror)=0;
`
`Description
`
`Sets whether view finder mirroring is on.
`
`Used to switch between what the camera sees and what you would see if the device were a mirror.
`
`Parameters
`
`TBool aMirror
`
`Return value
`
`ETrue to set mirroring on, EFalse to set mirroring off.
`
`https://web.archive.org/web/20060917034627/http://www.symbian.com:80/developer/techlib/v8.1adocs/doc_source/reference/reference-cpp/N1025… 12/24
`
`Page 12 of 24
`
`

`

`8/2/2018
`
`void
`
`CCamera in Multimedia ECam
`
`Leave codes
`
`May
`
`leave with KErrNotSupported.
`
`ViewFinderMirror()
`virtual TBool ViewFinderMirror() const=0;
`
`Description
`
`Gets whether view finder mirroring is active.
`
`Return value
`
`TBool
`
`ETrue if mirroring is set, EFalse if mirroring is not set.
`
`PrepareImageCaptureL()
`virtual void PrepareImageCaptureL(TFormat aImageFormat, TInt aSizeIndex)=0;
`
`Description
`
`Performs setup and allocation of memory.
`Called prior to calling CaptureImage() to keep the latency of that function to a minimum.
`Needs to be called only once for multiple CaptureImage() calls. May leave with KErrNotSupported or
`KErrNoMemory or KErrInUse or KErrNotReady.
`
`The specified image format must be one of the formats supported (see
`TCameraInfo::iImageFormatsSupported).
`The specified size index must be in the range of 0 to TCameraInfo::iNumImageSizesSupported-1
`inclusive.
`
`Parameters
`
`TFormat aImageFormat
`
`TInt aSizeIndex
`
`The image format.
`
`Size index.
`
`Return value
`
`void
`
`Leave codes
`
`https://web.archive.org/web/20060917034627/http://www.symbian.com:80/developer/techlib/v8.1adocs/doc_source/reference/reference-cpp/N1025… 13/24
`
`Page 13 of 24
`
`

`

`8/2/2018
`
`May
`
`CCamera in Multimedia ECam
`
`leave with KErrNotSupported, KErrNoMemory, or KErrNotReady if PowerOn() hasn't been called
`successfully.
`
`PrepareImageCaptureL()
`virtual void PrepareImageCaptureL(TFormat aImageFormat, TInt aSizeIndex, const
`TRect &aClipRect)=0;
`
`Description
`
`Performs setup and allocation of memory and clips the image to the specified rectangle.
`
`No effect unless TCameraInfo::iImageClippingSupported is set to ETrue. The image captured is the
`intersection of aClipRect and the rectangle from (0,0) to aSize. Needs to be called only once for multiple
`CaptureImage() calls. May leave with KErrNotSupported or KErrNoMemory.
`The specified image format must be one of the formats supported (see
`TCameraInfo::iImageFormatsSupported).
`The specified size index must be in the range of 0 to TCameraInfo::iNumImageSizesSupported-1
`inclusive.
`
`The image format.
`
`Size index.
`
`The rectangle to which the image is to be clipped.
`
`Parameters
`
`TFormat aImageFormat
`
`TInt aSizeIndex
`
`const TRect &aClipRect
`
`Return value
`
`void
`
`Leave codes
`
`May
`
`leave with KErrNotSupported, KErrNoMemory, KErrInUse if Reserve() hasn't been called
`successfully, or KErrNotReady if PowerOn() hasn't been called successfully.
`
`CaptureImage()
`virtual void CaptureImage()=0;
`
`Description
`
`Asynchronously performs still image capture.
`Calls MCameraObserver::ImageReady() when complete.
`
`https://web.archive.org/web/20060917034627/http://www.symbian.com:80/developer/techlib/v8.1adocs/doc_source/reference/reference-cpp/N1025… 14/24
`
`Page 14 of 24
`
`

`

`8/2/2018
`
`Return value
`
`CCamera in Multimedia ECam
`
`void
`CancelCaptureImage()
`virtual void CancelCaptureImage()=0;
`
`Description
`
`Cancels the asynchronous still image capture.
`
`Return value
`
`void
`EnumerateCaptureSizes()
`virtual void EnumerateCaptureSizes(TSize &aSize, TInt aSizeIndex, TFormat
`aFormat) const=0;
`
`Description
`
`Enumerates through the available image capture sizes, based on the specified size index and format
`The size index must be in the range 0 to TCameraInfo::iNumImageSizesSupported-1 inclusive.
`
`Parameters
`
`TSize &aSize
`
`TInt aSizeIndex
`
`TFormat aFormat
`
`Return value
`
`Image size.
`
`Size index.
`
`The image format.
`
`void
`PrepareVideoCaptureL()
`virtual void PrepareVideoCaptureL(TFormat aFormat, TInt aSizeIndex, TInt
`aRateIndex, TInt aBuffersToUse, TInt aFramesPerBuffer)=0;
`
`Description
`
`Prepares for video capture.
`
`https://web.archive.org/web/20060917034627/http://www.symbian.com:80/developer/techlib/v8.1adocs/doc_source/reference/reference-cpp/N1025… 15/24
`
`Page 15 of 24
`
`

`

`8/2/2018
`
`CCamera in Multimedia ECam
`Performs setup and allocation of memory prior to calling StartVideoCapture() to keep the latency of that
`function to a minimum.
`
`May leave with KErrNotSupported or KErrNoMemory.
`
`Parameters
`
`TFormat aFormat
`
`TInt aSizeIndex
`
`TInt aRateIndex
`
`Format must be one of the video frame formats supported (see
`TCameraInfo::iVideoFrameFormatsSupported).
`
`Size index must be in the range 0 to
`TCameraInfo::iNumVideoFrameSizesSupported-1 inclusive.
`
`The rate must be in the range 0 to
`TCameraInfo::iNumVideoFrameRatesSupported-1 inclusive.
`
`TInt
`aBuffersToUse
`
`The number of discrete buffers to use.
`
`TInt
`aFramesPerBuffer How large the buffers are to be. Must be less than or equal to
`TCameraInfo::iMaxFramesPerBufferSupported. One buffer is returned to
`MCameraObserver::FrameBufferReady() at a time.
`
`Return value
`
`void
`
`Leave codes
`
`May
`
`leave with KErrNotSupported, KErrNoMemory, or KErrNotReady if PowerOn() hasn't been called
`successfully.
`
`PrepareVideoCaptureL()
`virtual void PrepareVideoCaptureL(TFormat aFormat, TInt aSizeIndex, TInt
`aRateIndex, TInt aBuffersToUse, TInt aFramesPerBuffer, const TRect
`&aClipRect)=0;
`
`Description
`
`Prepares for video capture and clips the frames to the given rectangle.
`Performs setup and allocation of memory prior to calling StartVideoCapture() to keep the latency of that
`function to a minimum.
`
`May leave with KErrNotSupported or KErrNoMemory.
`
`Parameters
`
`TFormat aFormat
`https://web.archive.org/web/20060917034627/http://www.symbian.com:80/developer/techlib/v8.1adocs/doc_source/reference/reference-cpp/N1025… 16/24
`
`Page 16 of 24
`
`

`

`8/2/2018
`
`CCamera in Multimedia ECam
`Format must be one of the video frame formats supported (see
`TCameraInfo::iVideoFrameFormatsSupported).
`
`TInt aSizeIndex
`
`TInt aRateIndex
`
`Size index must be in the range 0 to
`TCameraInfo::iNumVideoFrameSizesSupported-1 inclusive.
`
`The rate must be in the range 0 to
`TCameraInfo::iNumVideoFrameRatesSupported-1 inclusive.
`
`TInt
`aBuffersToUse
`
`The number of discrete buffers to use.
`
`TInt
`aFramesPerBuffer How large the buffers are to be. Must be less than or equal to
`TCameraInfo::iMaxFramesPerBufferSupported. One buffer is returned to
`MCameraObserver::FrameBufferReady() at a time.
`
`The rectangle to which the image is to be clipped.
`
`const TRect
`&aClipRect
`
`Return value
`
`void
`
`Leave codes
`
`May
`
`leave with KErrNotSupported, KErrNoMemory, KErrInUse if Reserve() hasn't been called
`successfully, or KErrNotReady if PowerOn() hasn't been called successfully.
`
`StartVideoCapture()
`virtual void StartVideoCapture()=0;
`
`Description
`
`Starts capturing video.
`Calls MCameraObserver::FrameBufferReady() when each buffer has been filled with the required
`number of frames, as set by PrepareVideoCaptureL().
`
`Return value
`
`void
`StopVideoCapture()
`virtual void StopVideoCapture()=0;
`
`Description
`
`https://web.archive.org/web/20060917034627/http://www.symbian.com:80/developer/techlib/v8.1adocs/doc_source/reference/reference-cpp/N1025… 17/24
`
`Page 17 of 24
`
`

`

`8/2/2018
`
`CCamera in Multimedia ECam
`
`Stops video capture.
`
`Return value
`
`void
`VideoCaptureActive()
`virtual TBool VideoCaptureActive() const=0;
`
`Description
`
`Tests whether video capture is active.
`
`Return value
`
`TBool
`
`ETrue if video capture is active. EFalse if video capture is not active
`
`EnumerateVideoFrameSizes()
`virtual void EnumerateVideoFrameSizes(TSize &aSize, TInt aSizeIndex, TFormat
`aFormat) const=0;
`
`Description
`
`Enumerates through the available video frame sizes, based on the specified size index and format.
`
`Parameters
`
`TSize
`&aSize
`
`On return the available video frame sizes. Sizes should be returned in order, largest first, so
`clients do not have to iterate through every one.
`
`TInt
`aSizeIndex Size index. Must be in the range 0 to
`TCameraInfo::iNumVideoFrameSizesSupported-1 inclusive
`
`TFormat
`aFormat
`
`Image format.
`
`Return value
`
`void
`EnumerateVideoFrameRates()
`virtual void EnumerateVideoFrameRates(TReal32 &aRate, TInt aRateIndex, TFormat
`aFormat, TInt aSizeIndex, TExposure aExposure=EExposureAuto) const=0;
`
`Description
`
`https://web.archive.org/web/20060917034627/http://www.symbian.com:80/developer/techlib/v8.1adocs/doc_source/reference/reference-cpp/N1025… 18/24
`
`Page 18 of 24
`
`

`

`8/2/2018
`
`CCamera in Multimedia ECam
`Enumerates through the available video frame rates, based on the specified rate index, video frame format,
`size index and exposure mode.
`
`Parameters
`
`TReal32
`&aRate
`
`On return, the available video frame rates. Some rates may not be available due to, for
`example, current flash mode setting. In those cases a rate of 0 will be returned. Rates
`should be returned in order, highest first, so clients do not have to iterate through every
`one.
`
`TInt
`aRateIndex The rate index. Must be in the range 0 to
`TCameraInfo::iNumVideoFrameRatesSupported-1 inclusive.
`
`TFormat
`aFormat
`
`The format.
`
`TInt
`aSizeIndex The size index.
`
`TExposure
`aExposure
`
`Return value
`
`The exposure mode.
`
`void
`GetFrameSize()
`virtual void GetFrameSize(TSize &aSize) const=0;
`
`Description
`
`Gets the frame size currently in use.
`
`Parameters
`
`TSize &aSize
`
`Return value
`
`The frame size currently in use.
`
`void
`FrameRate()
`virtual TReal32 FrameRate() const=0;
`
`Description
`
`Gets the frame rate currently in use.
`
`https://web.archive.org/web/20060917034627/http://www.symbian.com:80/developer/techlib/v8.1adocs/doc_source/reference/reference-cpp/N1025… 19/24
`
`Page 19 of 24
`
`

`

`8/2/2018
`
`Return value
`
`CCamera in Multimedia ECam
`
`TReal32
`
`The frame rate currently in use.
`
`BuffersInUse()
`virtual TInt BuffersInUse() const=0;
`
`Description
`
`Gets the number of buffers currently in use.
`
`Return value
`
`TInt
`
`The number of buffers currently in use.
`
`FramesPerBuffer()
`virtual TInt FramesPerBuffer() const=0;
`
`Description
`
`Gets the number of frames per buffer currently in use.
`
`Return value
`
`TInt
`
`The number of frames per buffer currently in use.
`
`SetJpegQuality()
`virtual void SetJpegQuality(TInt aQuality)=0;
`
`Description
`
`Sets the quality value to use if jpeg is a supported image for video format.
`
`Ignored if jpeg is not a supported image for video format.
`
`Parameters
`
`TInt aQuality
`
`Return value
`
`void
`
`The quality value to use, clamped to the range 1 to 100.
`
`https://web.archive.org/web/20060917034627/http://www.symbian.com:80/developer/techlib/v8.1adocs/doc_source/reference/reference-cpp/N1025… 20/24
`
`Page 20 of 24
`
`

`

`8/2/2018
`
`JpegQuality()
`virtual TInt JpegQuality() const=0;
`
`CCamera in Multimedia ECam
`
`Description
`
`Gets the currently set jpeg quality value.
`
`Returns 0 if not supported.
`
`Return value
`
`TInt
`
`The currently set jpeg quality value.
`
`CustomInterface()
`virtual TAny *CustomInterface(TUid aInterface)=0;
`
`Description
`
`Gets a custom interface. The client has to cast the returned pointer to the appropriate type.
`
`Parameters
`
`TUid aInterface
`
`Return value
`
`The Uid of the particular interface function required.
`
`TAny *
`
`Custom interface pointer. NULL if the requested interface is not supported.
`
`Member enumerations
`Enum TFormat
`TFormat
`
`Description
`
`Possible still image and video frame formats
`
`Formats are read from left to right, starting at the top of the image. YUV format is as defined by ITU-R
`BT.601-4.
`EFormatMonochrome
`
`8 bit greyscale values, 0=black, 255=white.
`
`https://web.archive.org/web/20060917034627/http://www.symbian.com:80/developer/techlib/v8.1adocs/doc_source/reference/reference-cpp/N1025… 21/24
`
`Page 21 of 24
`
`

`

`8/2/2018
`
`EFormat16bitRGB444
`
`CCamera in Multimedia ECam
`
`Packed RGB triplets, 4 bits per pixel with red in the least significant bits
`and the 4 most significant bits unused.
`
`Packed RGB triplets, 5 bits per pixel for red and blue and 6 bits for
`green, with red in the least significant bits.
`
`Packed RGB triplets, 8 bits per pixel with red in the least significant bits
`and the 8 most significant bits unused.
`
`JFIF JPEG.
`
`EXIF JPEG
`
`CFbsBitmap object with display mode EColor4K.
`
`CFbsBitmap object with display mode EColor64K.
`
`CFbsBitmap object with display mode EColor16M.
`
`Implementation dependent.
`
`4:2:0 format, 8 bits per sample, Y00Y01Y10Y11UV.
`
`4:2:0 format, 8 bits per sample, Y00Y01Y02Y03...U0...V0...
`
`4:2:2 format, 8 bits per sample, UY0VY1.
`
`4:2:2 format, 8 bits per sample, Y1VY0U.
`
`4:4:4 format, 8 bits per sample, Y00U00V00 Y01U01V01...
`
`4:2:0 format, 8 bits per sample, Y00Y01Y02Y03...U0V0...
`
`EFormat16BitRGB565
`
`EFormat32BitRGB888
`
`EFormatJpeg
`
`EFormatExif
`
`EFormatFbsBitmapColor4K
`
`EFormatFbsBitmapColor64K
`
`EFormatFbsBitmapColor16M
`
`EFormatUserDefined
`
`EFormatYUV420Interleaved
`
`EFormatYUV420Planar
`
`EFormatYUV422
`
`EFormatYUV422Reversed
`
`EFormatYUV444
`
`EFormatYUV420SemiPlanar
`
`Enum TContrast
`TContrast
`
`Description
`
`https://web.archive.org/web/20060917034627/http://www.symbian.com:80/developer/techlib/v8.1adocs/doc_source/reference/reference-cpp/N1025… 22/24
`
`Page 22 of 24
`
`

`

`8/2/2018
`
`CCamera in Multimedia ECam
`Specifies whether contrast is set automatically.
`EContrastAuto
`
`Sets the contrast automatically.
`
`Enum TBrightness
`TBrightness
`
`Description
`
`Specifies whether brightness is set automatically.
`EBrightnessAuto
`
`Sets the brightness automatically.
`
`Enum TFlash
`TFlash
`
`Description
`
`Specifies the type of flash.
`EFlashNone
`
`EFlashAuto
`
`EFlashForced
`
`EFlashFillIn
`
`No flash, always supported.
`
`Flash will automatically fire when required.
`
`Flash will always fire.
`
`Reduced flash for general lighting
`
`EFlashRedEyeReduce
`
`Red-eye reduction mode.
`
`Enum TExposure
`TExposure
`
`Description
`
`Specifies the type of exposure. - EExposureAuto is the default value.
`EExposureAuto
`
`Set exposure automatically. Default, always supported.
`
`EExposureNight
`https://web.archive.org/web/20060917034627/http://www.symbian.com:80/developer/techlib/v8.1adocs/doc_source/reference/reference-cpp/N1025… 23/24
`
`Page 23 of 24
`
`

`

`8/2/2018
`
`CCamera in Multimedia ECam
`Night-time setting for long exposures.
`
`EExposureBacklight
`
`EExposureCenter
`
`Backlight setting for bright backgrounds.
`
`Centered mode for ignoring surroundings.
`
`Enum TWhiteBalance
`TWhiteBalance
`
`Description
`
`Specifies how the white balance is set.
`EWBAuto
`
`Set white balance automatically. Default, always supported.
`
`EWBDaylight
`
`EWBCloudy
`
`EWBTungsten
`
`EWBFluorescent
`
`EWBFlash
`
`Normal daylight.
`
`Overcast daylight.
`
`Tungsten filament lighting.
`
`Fluorescent tube lighting
`
`Flash lighting.
`
`Copyright ©2005 Symbian Ltd. unknown-build-id
`
`https://web.archive.org/web/20060917034627/http://www.symbian.com:80/developer/techlib/v8.1adocs/doc_source/reference/reference-cpp/N1025… 24/24
`
`Page 24 of 24
`
`

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket