throbber
7/19/2018
`
`symbian
`
`S MBIA OS C::DK V
`
`A
`
`CCamera in Multimedia ECam
`
`Symbian Developer Library
`
`INDEX
`
`PREVIOUS
`
`NEXT
`
`§ymbian OS SOK v8.1 a §ymbian OS reference C++ comP-onent reference Multimedia ECam CCamera
`
`Location: EC am . h
`
`Class CCamera
`
`class CCarnera
`
`public CBase ;
`
`Description
`
`Base class for camera devices.
`
`EXH1a1r
`
`Provides the interface that an application uses to control, and acquire images from, the camera .
`
`An application must supply an implementation of MCamera0bserver2 (or MCarneraObserver).
`
`Derivation
`
`o CBase - Base class for all classes to be instantiated on the heap
`• CCarnera - Base class for camera devices
`
`Members
`
`Defined in CCarnera:
`Brightness(.)_, BuffersinUse (.)_,Camera Info(.)_, CarnerasAvailable (.)_, CancelCaP.turelrnag~(.J_,
`.C .. ~U:'.!tureirnag~(.)_, Contrast(.)_, Custornlnterface (.)_, DigitalzoornFactor (.)_, EBrightnessAuto,
`EContrastAuto, EExP.osureAuto , EExP.osureBacklig.!lt., EExP.osureCenter, EExP.osureNigb..t.,
`EFlashAuto, EFlashFillin, EFlashForced, EFlashNone, EFlashRedEY.eReduce,
`EForrnatl6BitRGB565, EForrnatl6bitRGB444 , EForrnat32BitRGB888, EForrnatExif,
`EForrnatFbsBitrnaP.Color16M, EForrnatFbsBitrnapColor4K, EForrnatFbsBitrnaP.COlor64K,
`EForrnatJp~g , EFormatMonochrorne , EForrnatUserDefined, EForrnatYUV420Interleaved,
`EForrnatYUV420Planar, EForrnatYUV420SemiPlanar, EForrnatYUV422, EForrnatYUV422Reversed,
`EFormatYUV444 , EWBAuto, EWBCloudY., EWBDaY.light, EWBFlash, EWBFluorescent, EWBTungsten,
`EnurnerateCaP.tu reSizes (.)_, EnurnerateVideoFrarneRates (.)_, EnurnerateVideoFrarneSizes (.)_,
`ExP.osure (.)_,Flash(.)_, FrarneRate (.)_, FrarnesPerBuffer (.)_, GetFrarneSize (.)_,Handle(.)_,
`JP.eg.Quali ty_(_)_, NewDuP.lica teL (.)_, NewL (.)_, PowerOff (.)_, PowerOn (.)_, PreP.arelrnag~P.tureL (.)_,
`PreP.areirnageCaP.tureL (.)_, PreP.areVideoCaP.tureL (.)_, PreP.areVideoCaP.tureL (.)_, Re l ease(.)_,
`Reserve(.)_, SetBri ghtnessL (.)_, SetContrastL (.)_, SetDigi ta lZoornFactorL (.)_, SetExP.osureL (.)_,
`SetFl ashL (.)_, S e tJp~g.QJJ.£1i.ty_(.J_, SetViewFinderMirrorL (.)_, SetWhiteBalanceL (.)_,
`SetZoornFactorL (.)_, StartVideoCaP.ture (.)_, StartViewFinderBitrnaP.SL (.)_,
`StartViewFinderBi trnaP.sL (.)_, StartViewFinderDirectL (.)_, StartViewFinderDirectL (.)_,
`StoP.VideoCaP.ture (.)_, StoP.ViewFinder (.)_, TBrightness , TContrast, TExP.osure, TFlash,
`TForrna t , TWhi teBalance, VideoCaP.tureActi ve (.)_, ViewFinderActi ve (.)_, ViewFinderMirror (.)_,
`Whi teBalance (.)_, ZoornFactor (.J_
`
`Inherited from CBase:
`QP.erator new(.)_
`
`Construction and destruction
`
`NewL ()
`
`https://web.archive.org/web/20080208053134/http:/www.symbian.com :BO/developer/tech lib/vB.1 adocs/doc _ source/reference/reference-cpp/N 10256/. . .
`
`1 /24
`
`Page 1 of 24
`
`

`

`7/19/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 (J_-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 aCameralndex is out of range.
`
`Member functions
`
`CamerasAvailable()
`
`static I MPORT C Tint CamerasAvailable();
`
`Description
`
`Determines the number of cameras on the device.
`
`Return value
`
`Count of cameras present on the device.
`
`NewDuplicateL ()
`
`static IMPORT C CCamera *NewDuplicateL (MCameraObserver &aObserver, Tint
`aCameraHandle);
`
`Description
`
`https://web.archive.org/web/20080208053134/http:/www.symbian.com:80/developer/techlib/v8.1 adocs/doc _ source/reference/reference-cpp/N 10256/...
`
`2/24
`
`Page 2 of 24
`
`

`

`7/19/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
`
`Reference to an observer.
`
`Tlnt aCameraHandle
`
`Handle of an existing camera object.
`
`Return value
`
`CCamera *
`
`Duplicate of the original camera object.
`
`Camerainf o ()
`
`virtual void Cameralnfo(TCameralnfo &alnfo ) const=O ;
`
`Description
`
`Gets information about the camera device.
`
`Parameters
`
`TCameralnfo &alnfo
`
`On return, information about the camera device. See TCamerainfo.
`
`Return value
`
`void
`
`Reserve()
`
`virtual void Reserve()=O;
`
`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() =O ;
`
`https ://web .archive.org/web/20080208053134/http:/www.symbian .com:80/developer/techlib/v8. 1adocs/doc_source/reference/reference-cpp/N10256/
`
`3/24
`
`Page 3 of 24
`
`

`

`7/19/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()=O ;
`
`Description
`
`Asynchronous method to switch on camera power.
`
`~ must have successfully called Reserve (.)_ prior to calling this function.
`
`Calls MCameraObserver:: PowerOnComp~O- when power on is complete.
`
`Return value
`
`void
`
`PowerOff ()
`
`virtual void PowerOff()=O;
`
`Description
`
`Synchronous function for switching off camera power.
`
`Return value
`
`void
`
`Handle()
`
`virtual Tint Handle()=O;
`
`Description
`
`Gets the device-unique handle of this camera object.
`
`Return value
`
`The device-unique handle of this camera object.
`
`SetZoomFactorL()
`
`https://web.archive.org/web/20080208053134/http:/www.symbian .com:80/developer/techl ib/v8.1 adocs/doc_ source/reference/reference-cpp/N 10256/...
`
`4/24
`
`Page 4 of 24
`
`

`

`7/19/2018
`
`CCamera in Multimedia ECam
`
`virtual void SetZoomFactorL(Tint aZoomFactor=O)=O ;
`
`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 aZoomFac tor
`
`Required zoom factor.
`
`Return value
`
`voi d
`
`ZoomFactor ()
`
`virtual Ti n t ZoomFactor() const=O ;
`
`Description
`
`Gets the currently set zoom factor.
`
`Return value
`
`The currently set zoom factor.
`
`SetDigitalZoomFactorL()
`
`v irtua l void SetDi gi t alZoomFactorL (Tint aDigi talZoomFactor=O ) =O ;
`
`Description
`
`Sets the digital zoom factor.
`
`This must be in the range of 0 to TCamerainfo: : iMaxDigital Zoom inclusive.
`
`May leave with KErrNotSupported if the zoom fa ctor is out of range .
`
`Parameters
`
`Tint aDigita lZoomFactor
`
`The required digital zoom factor.
`
`Return value
`
`v o id
`
`https://web.a rchive.org/web/20080208053134/http:/www. symbian.com :80/developer/tech lib/v8.1 adocs/doc_ source/reference/reference-cpp/N 10256/. . .
`
`5/24
`
`Page 5 of 24
`
`

`

`7/19/2018
`DigitalZoomFactor()
`
`CCamera in Multimedia ECam
`
`virtual Tint DigitalZoomFactor() const=O;
`
`Description
`
`Gets the currently set digital zoom factor.
`
`Return value
`
`The currently set digital zoom factor.
`
`SetContrastL ()
`
`virtual void setContrastL(Tint aContrast)=O;
`
`Description
`
`Sets the contrast adjustment of the device.
`
`This must be in the range of-100 to +100 or EContrastAuto. May leave with KErrNotSupported ifthe
`specified contrast value is out of range.
`
`Required contrast value. See TCameralnfo::iContrastSupported
`
`Parameters
`
`Tint aContrast
`
`Return value
`
`void
`
`Contrast()
`
`virtual Tint Contrast() const=O;
`
`Description
`
`Gets the currently set contrast value.
`
`Return value
`
`The currently set contrast value.
`
`SetBrightnessL()
`
`virtual void SetBrightnessL(Tint aBrightness)=O;
`
`https:/lweb.a rchive .org/web/20080208053134/http:/www.symbian.com :SO/developer/tech lib/vB.1 adocs/doc _sou rce/reference/reference-cpp/N 1 0256/. . .
`
`6124
`
`Page 6 of 24
`
`

`

`7/19/2018
`
`Description
`
`CCamera in Multimedia ECam
`
`Sets the brightness adjustment of the device.
`
`No effect if this is not supported, see TCameralnfo::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 aBrigh tness
`
`The required brightness adjustment.
`
`Return value
`
`void
`
`Brightness()
`
`virtual Ti n t Brightness() const=O ;
`
`Description
`
`Gets the currently set brightness adjustment value.
`
`Return value
`
`The currently set brightness adjustment value.
`
`SetFlashL ()
`
`virtual void SetFlashL(TFlash aFlash=EFlashNone)=O;
`
`Description
`
`Sets the flash mode.
`
`No effect if this is not supported, see TCamerainfo: : iFlashModesSuP.P.Orted.
`
`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/20080208053134/http:/www.symbian.com:80/developer/techlib/v8.1adocs/doc_source/reference/reference-cpp/N10256/...
`
`7124
`
`Page 7 of 24
`
`

`

`7/19/2018
`Flash()
`
`CCamera in Multimedia ECam
`
`virtual TFlash Flash() const=O ;
`
`Description
`
`Gets the currently set flash mode.
`
`Retu rn value
`
`TFlash
`
`The currently set flash mode.
`
`SetExposureL ()
`
`virtual void SetExposureL(TExposure aExposure=EEx posureAuto)=O ;
`
`Description
`
`Sets the exposure adjustment of the device.
`
`No effect if this is not supported, see Cameralnfo: :iExposureModesSupported.
`
`May leave with KErrNotSupported if the specified exposure adjustment is invalid.
`
`Parameters
`
`TExP.osure aExposure
`
`The required exposure adjustment.
`
`Return value
`
`void
`
`Exposure( )
`
`virtual TExposure Exposure() const=O;
`
`Description
`
`Gets the currently set exposure setting value.
`
`Return value
`
`The currently set exposure setting value.
`
`SetWhiteBalanceL()
`
`virtual void SetWhiteBalanceL(TWhi t eBalance aWhiteBalance=EWBAuto) = O;
`
`https://web .archive.org/web/20080208053134/http:/www.symbian.com:80/developer/techlib/v8.1 adocs/doc _ source/reference/reference-cpp/N 10256/.. .
`
`8/24
`
`Page 8 of 24
`
`

`

`7/19/2018
`
`Description
`
`CCamera in Multimedia ECam
`
`Sets the white balance adjustment of the device.
`
`No effect if this is not supported , see TCamerainfo : : iWhiteBalanceModesSui:rn.Q~.tfil!.
`
`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=O ;
`
`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)=O;
`
`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/20080208053134/http:/www.symbian.com:BO/developer/techli b/v8 .1adocs/doc_source/reference/reference-cpp/N10256/...
`
`9/24
`
`Page 9 of 24
`
`

`

`7/1 9/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 &aWi ndow , TRect &aScreenRect, TRect &aCl ipRect)=O ;
`
`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.arch ive.org/web/20080208053134/http:/www.symbian.com:80/developer/techlib/v8.1 adocs/doc_ source/reference/reference-cpp/N10256/... 10/24
`
`Page 10 of 24
`
`

`

`7/19/20 18
`
`CCamera in Multimedia ECam
`
`v o id
`
`Leave codes
`
`May
`
`leave with KErrNotReady if PowerOn() hasn't been called successfully.
`
`St artViewFinderBitmapsL()
`
`virtual void StartViewFinderBitmapsL (TSize &aSize)=O;
`
`Description
`
`Starts transfer of view finder data.
`
`Bitmaps are returned by MCameraObserver: : ViewFinderFrameReadyJ,)_.
`
`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 , TRe ct &aClipRe ct)=O;
`
`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
`
`~ &aSize
`
`TRect
`&aClipRect
`
`Return value
`
`On return, the size used.
`
`Required clip rectangle. May be modified if, for example, the camera only supports
`certain byte alignments.
`
`https://web.archive.org/web/20080208053134/http:/www.symbian.com:80/developer/techl ib/v8.1 adocs/doc _ source/reference/reference-cpp/N 10256/...
`
`11 /24
`
`Page 11 of 24
`
`

`

`7/19/2018
`
`CCamera in Multimedia ECam
`
`void
`
`Leave codes
`
`May
`
`leave with KErrlnUse if Reserve() hasn't been called successfully, or KErrNotReady if PowerOn()
`hasn't been called successfully.
`
`StopViewFinder ()
`
`virtual void StopViewFinder()=O;
`
`Description
`
`Stops transfer of view finder data to the screen.
`
`Return value
`
`void
`
`ViewFinderActive()
`
`virtual TBool ViewFinderActive() const=O;
`
`Description
`
`Queries whether the view finder is active.
`
`Return value
`
`ET rue if the view finder is active. EFalse if the view finder is not active.
`
`SetViewFinderMirrorL()
`
`virtual void SetViewFinderMirrorL(TBool aMirror)=O;
`
`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:/lweb.archive.orgfweb/20080208053134/http :/www .symbian.com :BO/developer/tech lib/v8 .1 a doest doc_ sou reef reference/reference·cpp/N 1 0256/. . . 12/24
`
`Page 12 of 24
`
`

`

`7/19/2018
`
`CCamera in Multimedia ECam
`
`void
`
`Leave codes
`
`May
`
`leave with KErrNotSupported.
`
`ViewFinderMirror()
`
`v irtual TBool ViewFinderMirror() const=O;
`
`Description
`
`Gets whether view finder mirroring is active.
`
`Return value
`
`ETrue if mirroring is set, EFalse if mirroring is not set.
`
`PrepareimageCaptureL()
`
`virtual void PrepareimageCaptureL(TForrnat aimageFormat , Tint aSizeindex)=O;
`
`Description
`
`Performs setup and allocation of memory.
`
`Called prior to calling ~P.tureirnag~U- to keep the latency of that function to a minimum .
`
`Needs to be called only once for multiple CaP.tureimagg__(J_ calls. May leave with KErrNotSupported or
`KErrNoMemory or KErrlnUse or KErrNotReady.
`
`The specified image format must be one of the formats supported (see
`TCarnerainfo :: iirnageForrnatsSUP.P.Orted).
`
`The specified size index must be in the range of 0 to TCarnera i nfo :: iNurnirnageSizesSuP.p....Q..Il.fil!-1
`inclusive.
`
`Parameters
`
`TForrnat airnageForrnat
`
`The image format.
`
`Tint aSizeindex
`
`Size index.
`
`Return value
`
`void
`
`Leave codes
`
`https://web.archive.org/web/20060206053134/http:/www.symbian.com:80/developerltechlib/v6.1 adocsldoc_ source/reference/reference-cpp/N 102561. . . 13124
`
`Page 13 of 24
`
`

`

`7/19/2018
`
`May
`
`CCamera in Multimedia ECam
`
`leave with KErrNotSupported, KErrNoMemory, or KErrNotReady if PowerOn() hasn't been called
`successfully.
`
`PrepareimageCaptureL()
`
`virtual void PrepareimageCaptureL(TFormat almageFormat, Tlnt aSizeindex, const
`TRect &aClipRect)=O;
`
`Description
`
`Performs setup and allocation of memory and clips the image to the specified rectangle.
`
`No effect unless TCameralnfo::ilmageClippingSupported 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
`~Rtureimag~_J)_ calls. May leave with KErrNotSupported or KErrNoMemory.
`
`The specified image format must be one of the formats supported (see
`TCameralnfo : : iimageFormatsSuRROrted).
`
`The specified size index must be in the range of 0 to TCamerainfo: : iNumi mageSizesSuRROrted-1
`inclusive.
`
`Parameters
`
`TFormat almageFormat
`
`The image format.
`
`Tlnt aSizeinde x
`
`Size index.
`
`const TRect &aClipRect
`
`The rectangle to which the image is to be clipped.
`
`Return value
`
`void
`
`Leave codes
`
`May
`
`leave with KErrNotSupported, KErrNoMemory, KErrlnUse if Reserve() hasn't been called
`successfully, or KErrNotReady if PowerOn() hasn't been called successfully.
`
`Capture Image ()
`
`virtual void Capturelmage()=O ;
`
`Description
`
`Asynchronously performs still image capture.
`
`Calls MCameraObserver : : Imag~y_()_ when complete.
`
`https://web.archive.org/web/20080208053134/http:/www.symbian.com:80/developer/techlib/v8.1 adocs/doc_ source/reference/reference-cpp/N 10256/... 14/24
`
`Page 14 of 24
`
`

`

`7/19/2018
`
`CCamera in Multimedia ECam
`
`Return value
`
`void
`
`CancelCaptureimage()
`
`virtual void CancelCaptureimage()=O;
`
`Description
`
`Cancels the asynchronous still image capture.
`
`Return value
`
`void
`
`EnumerateCaptureSizes()
`
`virtual void EnumerateCaptureSizes(TSize &aSize, Tint aSizeindex, TFormat
`aFormat) const=O;
`
`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 : : iNumimageSizesSuP.p~- 1 inclusive.
`
`Parameters
`
`~ &aSize
`
`Image size.
`
`Tint aSizeindex
`
`Size index.
`
`TFormat aFormat
`
`The image format.
`
`Return value
`
`void
`
`PrepareVideoCaptureL()
`
`virtual void PrepareVideoCaptureL(TFormat aFormat, Tint aSizeindex , Tint
`aRateindex , Tint aBuffersToUse , Tint aFramesPerBuffer) =O;
`
`Description
`
`Prepares for video capture.
`
`https://web.archive.org/web/20080208053134/http:/www.symbian.com :80/developer/techlib/v8.1 adocs/doc _ source/reference/reference-cpp/N 10256/... 15/24
`
`Page 15 of 24
`
`

`

`7/19/201 B
`
`CCamera in Multimedia ECam
`Performs setup and allocation of memory prior to calling StartVideoCaP.ture (.)_ 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: : i VideoFrameFormatsSUP.P.Orted).
`
`Size index must be in the range 0 to
`TCamerainfo: : iNumVideoFrameSizesSUP.P.Orted-1 inclusive.
`
`The rate must be in the range 0 to
`TCamerainfo: : iNumVideoFrameRatesSUP.P.Orted-1 inclusive .
`
`Tint
`aBuf fersToUse
`
`The number of discrete buffers to use.
`
`Tint
`aFramesPerBuffer How large the buffers are to be. Must be less than or eq ual to
`TCamerainfo: : iMaxFramesPerBufferSUP.P.Orted. One buffer is returned to
`MCameraObserver : : FrameBufferReady_(J_ 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
`aRateinde x, Tint aBuffersToUse , Tint aFramesPerBuffer , const TRect
`&aClipRect) =O ;
`
`Description
`
`Prepares for video capture and clips the frames to the given rectangle.
`
`Performs setup and allocation of memory prior to calling StartVideoCaP.ture (.)_ to keep the latency of that
`function to a minimum.
`
`May leave with KErrNotSupported or KErrNoMemory.
`
`Parameters
`
`TFormat aFormat
`
`https ://web.archive.org/web/200B020B053134/http:/www.symbian.com:BO/developer/techlib/vB.1 adocs/doc_ source/reference/reference-cpp/N 10256/.. . 16/24
`
`Page 16 of 24
`
`

`

`7/19/2018
`
`CCamera in Multimedia ECam
`Format must be one of the video frame formats supported (see
`TCamerainfo : : iVideoFrameFormatssui:rnorted).
`
`Tint aSizeindex
`
`Tint aRateindex
`
`Size index must be in the range 0 to
`TCamera in fo :: iNumVideoFrameSizesSU!?P.Q.tl~-1 inclusive.
`
`The rate must be in the range 0 to
`TCamerainfo : : iNumVideoFrameRatesSUP.P.Orted-1 inclusive.
`
`Tint
`aBuf f ersToUse
`
`The number of discrete buffers to use.
`
`Tint
`aFramesPerBuffer How large the buffers are to be. Must be less than or equal to
`TCamerai n fo :: iMaxFramesPerBufferSUP.P.Orted. 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, KErrlnUse if Reserve() hasn't been called
`successfully, or KErrNotReady if PowerOn() hasn't been called successfully.
`
`StartVideoCapture()
`
`virtual void StartVideoCapture () =O ;
`
`Description
`
`Starts capturing video.
`
`Calls MCameraObserver : : FrameBufferReady_(_)_ when each buffer has been filled with the required
`number of frames, as set by PreP.areVideoCaP.tureL (.)_.
`
`Return value
`
`void
`
`StopVideoCapture()
`
`virtual void StopVideoCapture() = O;
`
`Description
`
`https:l/web.archive.orglweb/20080208053134/http:/www.symbian.com:80/developer/techlib/v8.1 adocs/doc _source/reference/reference-cpp/N 10256/... 17 /24
`
`Page 17 of 24
`
`

`

`7/19/20 18
`
`CCamera in Multimedia ECam
`
`Stops video capture.
`
`Return value
`
`void
`
`VideoCaptureActive()
`
`virtual TBool VideoCaptureActive () const=O ;
`
`Description
`
`Tests whether video capture is active.
`
`Return value
`
`ETrue if video capture is active. EFalse if video capture is not active
`
`EnumerateVideoFrameSizes()
`
`virtual void EnumerateVideoFrameSizes(TSize &aSize, Tint aSizeindex, TFormat
`aFormat) const=O ;
`
`Description
`
`Enumerates through the available video frame sizes, based on the specified size index and format.
`
`Parameters
`
`~
`&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
`aSizei ndex Size index. Must be in the range 0 to
`TCamerainfo :: iNumVideoFrameSizesSugp~-1 inclusive
`
`TFormat
`a Format
`
`Image format.
`
`Return value
`
`void
`
`EnumerateVideoFrameRates()
`
`virtual void EnumerateVideoFrarneRates(TReal32 &aRate, Tint aRateindex, TFormat
`aForma t, Tint aSizeindex, TExposure aExp osure=EExposureAuto) const=O;
`
`Description
`
`https ://web.archive.org/web/20080208053134/http:/www.symbian.com :80/developer/techlib/vB.1adocs/doc_source/reference/reference-cpp/N10256/... 18/24
`
`Page 18 of 24
`
`

`

`7/19/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.
`
`Ti nt
`aRa te Index The rate index. Must be in the range 0 to
`TCamerainfo : : iNumVideoFrameRatesSum1orted-1 inclusive.
`
`TFormat
`a Format
`
`The format.
`
`Tint
`aSizeindex The size index.
`
`TE xp~
`a Exposure The exposure mode.
`
`Return value
`
`void
`
`GetFrameSize ()
`
`virtual void GetFrameSize(TSize &aSize) const=O;
`
`Description
`
`Gets the frame size currently in use.
`
`Parameters
`
`TSize &aSize
`
`The frame size currently in use.
`
`Return value
`
`vo i d
`
`FrameRa te ()
`
`virtual TReal32 FrameRate() const= O;
`
`Description
`
`Gets the frame rate currently in use.
`
`https ://web.archive.orglweb/20080208053134/http:/www.symbian.com:80/developer/techlib/v8.1 adocs/doc_ source/reference/reference-cpp/N 10256/... 19/24
`
`Page 19 of 24
`
`

`

`7/19/2018
`
`Return value
`
`CCamera in Multimedia ECam
`
`TReal32
`
`The frame rate currently in use.
`
`BuffersinUse ()
`
`virtual Tint BuffersinUse() const=O;
`
`Description
`
`Gets the number of buffers currently in use.
`
`Return value
`
`The number of buffers currently in use.
`
`FramesPerBuffer()
`
`virtual Tint FramesPerBuffer() const=O;
`
`Description
`
`Gets the number of frames per buffer currently in use.
`
`Return value
`
`The number of frames per buffer currently in use.
`
`SetJpegQuality()
`
`virtual void SetJpegQuality(Tint aQuality)~O;
`
`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:l/web.archive.org/web!20080208053134/http:/www.symbian.com:80/developer/techli b/v8. 1 adocs/doc _ source/reference/reference·cpplN 1 02561. . . 20/24
`
`Page 20 of 24
`
`

`

`7/19/2018
`JpegQuali ty ()
`
`CCamera in Multimedia ECam
`
`virtual Tint JpegQuality() const~O;
`
`Description
`
`Gets the currently set jpeg quality value.
`
`Returns 0 if not supported.
`
`Return value
`
`The currently set jpeg quality value.
`
`Custominterface()
`
`virtual TAny *Custominterface(TUid ainterface)=O;
`
`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
`
`En um TForma t
`
`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.
`
`EFormatMonochrorne
`
`8 bit grayscale values, O=black, 255=white.
`
`https:l/web.arch ive .org/web/20080208053134/http:/www.symbian.com:80/developer/tech liblvB. 1 adocs/doc _ source/reference/reference~cpp/N 1 0256/. . . 21 /24
`
`Page 21 of 24
`
`

`

`711912018
`
`CCamera in Multimedia ECam
`
`EFormatl6bitRGB444
`
`EFormat16BitRGB565
`
`EFormat32BitRGB888
`
`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.
`
`EFormatJpeg
`
`EFormatExif
`
`JFIF JPEG.
`
`EXIF JPEG
`
`EFormatFbsBitmapColor4K
`
`CFbsBitmap object with display mode EColor4K.
`
`EFormatFbsBitrnapColor64K
`
`CFbsBitmap object with display mode EColor64K.
`
`EFormatFbsBitmapColorl6M
`
`CFbsBitmap object with display mode EColor16M.
`
`EFormatUserDef ined
`
`Implementation dependent.
`
`EForrnatYUV420Interleaved
`
`4:2:0 format, 8 bits per sample, YOOY01Y1 OY11 UV.
`
`EFormatYUV420Planar
`
`EFormatYUV422
`
`4:2:0 format, 8 bits per sample, YOOY01Y02Y03 ... UO .. .VO ...
`
`4:2:2 format, 8 bits per sample, UYOVY1.
`
`EFormatYUV422Reversed
`
`4:2:2 format, 8 bits per sample, Y1VYOU.
`
`EFormatYUV444
`
`4:4:4 format, 8 bits per sample, YOOUOOVOO Y01 U01V01 ...
`
`EFormatYUV420SemiPlanar
`
`4:2:0 format, 8 bits per sample, YOOY01Y02Y03 ... UOVO ...
`
`Enum TContrast
`
`TContrast
`
`Description
`
`https ://web .archive .org/web/20080208053134/http:/www.symbia n. com :801 developer/tech I ibfvB. 1 adocs/doc _source/ref erence/reference-cpp/N 1 0256/. . . 22/24
`
`Page 22 of 24
`
`

`

`7/19/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
`
`EExposureNight
`
`Set exposure automatically. Default, always supported.
`
`https://web.archive. org/web/200802080531 34/http:/www. sym bia n.com: 80/d eveloper/tech I ib/vB. 1 adocs/doc _sou rce/reference/reference-cp p/N 1 0256/. . 23/24
`
`Page 23 of 24
`
`

`

`7/19/2018
`
`CCamera in Multimedia ECam
`Night-time selling for long exposures.
`
`EExposureBacklight
`
`Backlight setting for bright backgrounds.
`
`EExposureCenter
`
`Centered mode for ignoring surroundings.
`
`En um TWhi teBalance
`
`TWhiteBalance
`
`Description
`
`Specifies how the white balance is set.
`
`EWBAuto
`
`Set white balance automatically. Default, always supported.
`
`EWBDaylight
`
`Normal daylight.
`
`EWBCloudy
`
`Overcast daylight.
`
`EWBTungsten
`
`Tungsten filament lighting.
`
`EWBFluorescent
`
`Fluorescent tube lighting
`
`EWBFlash
`
`Flash lighting.
`
`Copyright ©2005 Symbian Ltd.
`
`unknown-build-id
`
`https ://web.archive.orglweb/20080208053134/http:/www.sym bian. com:BO/developer/techlib/vB. 1 adocs/doc _sou rce/reference/reference-cpp/N 1 0256/. . . 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