diff -r 3075d9b614e6 -r 0f0b4c1d7744 camerauis/cameraxui/cxengine/inc/cxevideocapturecontrolsymbian.h --- a/camerauis/cameraxui/cxengine/inc/cxevideocapturecontrolsymbian.h Thu May 13 21:30:19 2010 +0300 +++ b/camerauis/cameraxui/cxengine/inc/cxevideocapturecontrolsymbian.h Thu Jul 15 01:44:30 2010 +0300 @@ -38,6 +38,7 @@ class CxeQualityPresets; class CxeFilenameGenerator; class CxeViewfinderControl; +class CxeSnapshotControl; class CxeStillImageSymbian; class CxeSoundPlayerSymbian; class CxeCameraDeviceControl; @@ -55,6 +56,7 @@ CxeVideoCaptureControlSymbian(CxeCameraDevice &cameraDevice, CxeViewfinderControl &viewfinderControl, + CxeSnapshotControl &snapshotControl, CxeCameraDeviceControl &cameraDeviceControl, CxeFilenameGenerator &nameGenerator, CxeSettings &settings, @@ -75,9 +77,6 @@ QPixmap snapshot() const; QList supportedVideoQualities(); -public: // public member functions, not in client API - void handleSnapshotEvent(CxeError::Id error); - public: // functions from MVideoRecorderUtilityObserver void MvruoOpenComplete(TInt aError); void MvruoPrepareComplete(TInt aError); @@ -98,14 +97,14 @@ void deinit(); //! Notification that videocapture sound has been played void handleSoundPlayed(); + //! Snapshot has been received from adaptiation. + void handleSnapshotReady(CxeError::Id status, const QPixmap& snapshot); protected slots: // notifications when ECam reference is changed void prepareForCameraDelete(); void handleCameraAllocated(CxeError::Id error); void prepareForRelease(); - // ECam events - void handleCameraEvent(int eventUid, int error); // settings call back void handleSettingValueChanged(const QString& settingId,QVariant newValue); // scene mode change @@ -114,19 +113,18 @@ void handleDiskSpaceChanged(); private: // helper methods - CxeError::Id findVideoController(const TDesC8& aMimeType, const TDesC& aPreferredSupplier); void releaseResources(); void initializeStates(); - CxeError::Id getVideoQualityDetails(CxeVideoDetails &videoInfo); - int prepareVideoSnapshot(); + void getVideoQualityDetails(CxeVideoDetails &videoInfo); void initVideoRecorder(); void open(); void prepare(); - TSize getSnapshotSize() const; virtual void createVideoRecorder(); - void calculateRemainingTime(CxeVideoDetails videoDetails, int &time); - TFourCC audioType(const QString& str); + int calculateRemainingTime(const CxeVideoDetails& videoDetails); void updateRemainingRecordingTimeCounter(); + void generateFilename(); + void handlePrepareFailed(); + void handleComposeFailed(int error); protected: // protected data //! Video Recorder @@ -141,6 +139,7 @@ CxeCameraDevice &mCameraDevice; CxeCameraDeviceControl &mCameraDeviceControl; CxeViewfinderControl &mViewfinderControl; + CxeSnapshotControl &mSnapshotControl; CxeFilenameGenerator &mFilenameGenerator; CxeSettings &mSettings; CxeQualityPresets &mQualityPresets; @@ -150,8 +149,6 @@ //! Soundplayers, own CxeSoundPlayerSymbian *mVideoStartSoundPlayer; CxeSoundPlayerSymbian *mVideoStopSoundPlayer; - //! New file name generated for the video prepare. - QString mNewFileName; //! Current video file name QString mCurrentFilename; //video resolutions supported by ICM