harmattan/cameraplus
11 years agoStopping resource policy thread properly to avoid freezing while closing camera
Mohammed Sameer [Mon, 24 Dec 2012 20:29:53 +0000 (22:29 +0200)]
Stopping resource policy thread properly to avoid freezing while closing camera

11 years agoReworked DoneHandler to avoid race conditions
Mohammed Sameer [Mon, 24 Dec 2012 15:32:13 +0000 (17:32 +0200)]
Reworked DoneHandler to avoid race conditions

If we start capturing the 2nd image before the first gets saved then we
accidentally try to rename the 1st image to the 2nd image.

We now only try to rename if we have a temporarily file name and a mode file name.
Since video mode only sets tempFileName then we should be fine as we don't really
allow recording a new video before the old one gets saved.

For images, we simply use the filename from the structure for the saved() signal
and fall back to the mode fileName if it's empty without overwriting the members
of QtCamModePrivate

11 years agoAdd a MouseArea to PreviewImage and prevent interacting with controls below while...
Mohammed Sameer [Mon, 24 Dec 2012 15:10:06 +0000 (17:10 +0200)]
Add a MouseArea to PreviewImage and prevent interacting with controls below while its visible

11 years agoset standby widget z to 2
Mohammed Sameer [Mon, 24 Dec 2012 15:09:24 +0000 (17:09 +0200)]
set standby widget z to 2

11 years agoAdd a MouseArea to standby widget to prevent interactions with controls below
Mohammed Sameer [Mon, 24 Dec 2012 14:55:34 +0000 (16:55 +0200)]
Add a MouseArea to standby widget to prevent interactions with controls below

11 years agoDon't bind visibility to standby widget visibility anymore
Mohammed Sameer [Mon, 24 Dec 2012 14:36:07 +0000 (16:36 +0200)]
Don't bind visibility to standby widget visibility anymore

Standby widget has a z value of 1 and will cover everything.

11 years agoFixes for focus reticle
Mohammed Sameer [Mon, 24 Dec 2012 13:47:07 +0000 (15:47 +0200)]
Fixes for focus reticle
- Animate x, y and scale changes
- Starting the pipeline will set ROI according to the reticle position
- use anchors to center reticle when not in touch mode to avoid precision
  inaccuracy with floats

11 years agoPages which don't need the pipeline should show standby when application window is...
Mohammed Sameer [Mon, 24 Dec 2012 02:43:03 +0000 (04:43 +0200)]
Pages which don't need the pipeline should show standby when application window is not active.

11 years agoset z value for standby to 1 so it shows above all other widgets
Mohammed Sameer [Mon, 24 Dec 2012 02:42:28 +0000 (04:42 +0200)]
set z value for standby to 1 so it shows above all other widgets

11 years agoAdded/Updated TODO items
Mohammed Sameer [Mon, 24 Dec 2012 01:25:17 +0000 (03:25 +0200)]
Added/Updated TODO items

11 years agoAdded CameraPage::policyLost()
Mohammed Sameer [Mon, 24 Dec 2012 00:28:38 +0000 (02:28 +0200)]
Added CameraPage::policyLost()

This function to be called by PipelineManager when we lose resources and are about
to stop camera.

It's used by RecordingPage to dismiss itself.

11 years agoReworked MountProtector using QTemporaryFile
Mohammed Sameer [Sun, 23 Dec 2012 23:30:34 +0000 (01:30 +0200)]
Reworked MountProtector using QTemporaryFile

11 years agoambr doesn't need any UI handling. Remove it from TODOs
Mohammed Sameer [Sun, 23 Dec 2012 22:44:19 +0000 (00:44 +0200)]
ambr doesn't need any UI handling. Remove it from TODOs

11 years agoCameraPage::updatePolicy() not used anywhere. Remove it.
Mohammed Sameer [Sun, 23 Dec 2012 22:20:44 +0000 (00:20 +0200)]
CameraPage::updatePolicy() not used anywhere. Remove it.

11 years agoNo need to anchor fill our parent. Page.qml sets width and height for us
Mohammed Sameer [Sun, 23 Dec 2012 22:17:27 +0000 (00:17 +0200)]
No need to anchor fill our parent. Page.qml sets width and height for us

11 years agoMonitor pulse audio state and reconnect when it dies and gets re-spawned again
Mohammed Sameer [Sun, 23 Dec 2012 21:13:48 +0000 (23:13 +0200)]
Monitor pulse audio state and reconnect when it dies and gets re-spawned again

11 years agomake fence sync objects configurable
Mohammed Sameer [Sun, 23 Dec 2012 15:26:51 +0000 (17:26 +0200)]
make fence sync objects configurable

11 years agoNo more assertions after fixing the viewfinder stopping logic in QtCamDevice::stop()
Mohammed Sameer [Sun, 23 Dec 2012 15:07:06 +0000 (17:07 +0200)]
No more assertions after fixing the viewfinder stopping logic in QtCamDevice::stop()

11 years agoDisable viewfinder filters in video mode and enable them in image mode
Mohammed Sameer [Sun, 23 Dec 2012 13:52:50 +0000 (15:52 +0200)]
Disable viewfinder filters in video mode and enable them in image mode

11 years agoReworked QtCamAnalysisBin
Mohammed Sameer [Sun, 23 Dec 2012 13:51:36 +0000 (15:51 +0200)]
Reworked QtCamAnalysisBin

QtCamAnalysisBin is now a class that creates the bin internally and has methods
to obtain the GstBin and block and unblock data flow.

11 years agoWe won't provide such focus details. Removing TODO mark.
Mohammed Sameer [Sat, 22 Dec 2012 20:31:19 +0000 (22:31 +0200)]
We won't provide such focus details. Removing TODO mark.

11 years agoReworked how video and wrapper sources are being created
Mohammed Sameer [Sat, 22 Dec 2012 17:16:53 +0000 (19:16 +0200)]
Reworked how video and wrapper sources are being created

11 years agoRemove QtCamDevicePrivate::resetCapabilities(). We don't use it
Mohammed Sameer [Sat, 22 Dec 2012 17:01:21 +0000 (19:01 +0200)]
Remove QtCamDevicePrivate::resetCapabilities(). We don't use it

11 years agoproperties file for N9
Mohammed Sameer [Sat, 22 Dec 2012 16:01:41 +0000 (18:01 +0200)]
properties file for N9

11 years agoAdded QtCamPropertySetter
Mohammed Sameer [Sat, 22 Dec 2012 15:59:49 +0000 (17:59 +0200)]
Added QtCamPropertySetter

This class will catch added elements to a bin and set properties specified
in a configuration file.

11 years agoAdd viewfinder-filters for N9
Mohammed Sameer [Sat, 22 Dec 2012 00:22:51 +0000 (02:22 +0200)]
Add viewfinder-filters for N9

11 years agoSet viewfinder-filters
Mohammed Sameer [Sat, 22 Dec 2012 00:22:09 +0000 (02:22 +0200)]
Set viewfinder-filters

11 years agoInfrastructure for filters.
Mohammed Sameer [Fri, 21 Dec 2012 23:42:35 +0000 (01:42 +0200)]
Infrastructure for filters.

This consists of:
A GStreamer element to duplicate buffers
A wrapper that creates a bin utilizing the above mentioned element.

On some devices like N9, memory is frame buffer memory and access to such
memory is costly since it's not cached by the CPU. What we do is we copy it
to "normal memory" and pass that to any filters that want to inspect the buffer.

11 years agofader property not used anywhere. Remove it.
Mohammed Sameer [Fri, 21 Dec 2012 23:52:03 +0000 (01:52 +0200)]
fader property not used anywhere. Remove it.

11 years agoset window background to empty string and backgroundColor to transparent so viewfinde...
Mohammed Sameer [Thu, 20 Dec 2012 23:23:39 +0000 (01:23 +0200)]
set window background to empty string and backgroundColor to transparent so viewfinder will show up

11 years agoSet handleBackground and handleBackgroundPressed to empty strings
Mohammed Sameer [Thu, 20 Dec 2012 23:18:16 +0000 (01:18 +0200)]
Set handleBackground and handleBackgroundPressed to empty strings

11 years agoDon't set Indicator icon source if wbIndicator is not visible to avoid a warning
Mohammed Sameer [Thu, 20 Dec 2012 23:17:56 +0000 (01:17 +0200)]
Don't set Indicator icon source if wbIndicator is not visible to avoid a warning

11 years agoCleaned up some commented out defines
Mohammed Sameer [Thu, 20 Dec 2012 23:17:02 +0000 (01:17 +0200)]
Cleaned up some commented out defines

11 years agoAdded QtCamFlash::ready to indicate readiness of flash
Mohammed Sameer [Thu, 20 Dec 2012 21:25:51 +0000 (23:25 +0200)]
Added QtCamFlash::ready to indicate readiness of flash

11 years agoNo need to forward declare QtCamZoomPrivate
Mohammed Sameer [Thu, 20 Dec 2012 18:50:30 +0000 (20:50 +0200)]
No need to forward declare QtCamZoomPrivate

11 years agoMake that transition a catch all for all transitions to off.
Mohammed Sameer [Thu, 20 Dec 2012 18:31:43 +0000 (20:31 +0200)]
Make that transition a catch all for all transitions to off.
If camera gets minimized while not idle then we reach an unknown state and camera
will never stop afterwards.

11 years agorelease resources only if we manage to stop camera.
Mohammed Sameer [Thu, 20 Dec 2012 18:30:47 +0000 (20:30 +0200)]
release resources only if we manage to stop camera.
In theory, we shouldn't need that as camera will stop when we reach that state but just in case

11 years agoDon't set/show preview if standby widget is visible
Mohammed Sameer [Thu, 20 Dec 2012 18:19:36 +0000 (20:19 +0200)]
Don't set/show preview if standby widget is visible

11 years agoDon't show capture button if standby widget is visible
Mohammed Sameer [Thu, 20 Dec 2012 18:18:19 +0000 (20:18 +0200)]
Don't show capture button if standby widget is visible

11 years agoMoved FocusReticle to Camera instead of CameraPage.
Mohammed Sameer [Thu, 20 Dec 2012 17:59:55 +0000 (19:59 +0200)]
Moved FocusReticle to Camera instead of CameraPage.

This makes it simpler to manage the state between VideoPage and RecordingPage

11 years agowrong assignment lead to the ability to drag the reticle outside the page
Mohammed Sameer [Wed, 19 Dec 2012 22:08:42 +0000 (00:08 +0200)]
wrong assignment lead to the ability to drag the reticle outside the page

11 years agoDon't store the whole real number. Use toFixed() to prevent precision craziness
Mohammed Sameer [Wed, 19 Dec 2012 21:30:37 +0000 (23:30 +0200)]
Don't store the whole real number. Use toFixed() to prevent precision craziness

11 years agoUse qFuzzyCompare() for evComp settings
Mohammed Sameer [Wed, 19 Dec 2012 21:27:53 +0000 (23:27 +0200)]
Use qFuzzyCompare() for evComp settings

11 years agoAdded touch focus
Mohammed Sameer [Wed, 19 Dec 2012 20:56:23 +0000 (22:56 +0200)]
Added touch focus

11 years agoAdded QtCamAutoFocus::setRegionOfInterest()
Mohammed Sameer [Wed, 19 Dec 2012 19:45:39 +0000 (21:45 +0200)]
Added QtCamAutoFocus::setRegionOfInterest()

11 years agoDon't show rounded corners
Mohammed Sameer [Sun, 16 Dec 2012 19:52:08 +0000 (21:52 +0200)]
Don't show rounded corners

11 years agoFirst implementation of touch focus. Backend bits are still missing
Mohammed Sameer [Sun, 16 Dec 2012 17:00:32 +0000 (19:00 +0200)]
First implementation of touch focus. Backend bits are still missing

11 years agoFixed painting to take into account offsets introduced by QPainter
Mohammed Sameer [Sun, 16 Dec 2012 19:00:42 +0000 (21:00 +0200)]
Fixed painting to take into account offsets introduced by QPainter

11 years agoAdded renderArea property to Camera
Mohammed Sameer [Sat, 15 Dec 2012 19:06:06 +0000 (21:06 +0200)]
Added renderArea property to Camera

11 years agoDelete renderer when we are destroyed
Mohammed Sameer [Sat, 15 Dec 2012 17:42:18 +0000 (19:42 +0200)]
Delete renderer when we are destroyed

11 years agoUse a message listener to detect auto focus acquisition instead of constructing QtCam...
Mohammed Sameer [Sat, 15 Dec 2012 02:41:32 +0000 (04:41 +0200)]
Use a message listener to detect auto focus acquisition instead of constructing QtCamAutoFocus

11 years agoAdded notification when focus gets acquired
Mohammed Sameer [Sat, 15 Dec 2012 01:15:10 +0000 (03:15 +0200)]
Added notification when focus gets acquired

11 years agoDon't try to unregister the status handlers unless we have a device and listener.
Mohammed Sameer [Fri, 14 Dec 2012 22:36:15 +0000 (00:36 +0200)]
Don't try to unregister the status handlers unless we have a device and listener.
This avoids a crash.

11 years agoDecrease the size of the corners a bit
Mohammed Sameer [Fri, 14 Dec 2012 21:59:29 +0000 (23:59 +0200)]
Decrease the size of the corners a bit

11 years agoHide focus reticle if we cannot focus while a particular scene mode is active
Mohammed Sameer [Fri, 14 Dec 2012 21:57:06 +0000 (23:57 +0200)]
Hide focus reticle if we cannot focus while a particular scene mode is active

11 years agoblink reticle during focusing and show colors to indicate status of focus
Mohammed Sameer [Fri, 14 Dec 2012 21:10:28 +0000 (23:10 +0200)]
blink reticle during focusing and show colors to indicate status of focus

11 years agoChange AutoFocus status when start or stop autoFocus gets called. Backend doesn't...
Mohammed Sameer [Fri, 14 Dec 2012 21:09:50 +0000 (23:09 +0200)]
Change AutoFocus status when start or stop autoFocus gets called. Backend doesn't do it

11 years agoonly do auto focus if caf has not succedded
Mohammed Sameer [Fri, 14 Dec 2012 20:36:13 +0000 (22:36 +0200)]
only do auto focus if caf has not succedded

11 years agoAdded auto focus starting and stopping.
Mohammed Sameer [Fri, 14 Dec 2012 20:33:09 +0000 (22:33 +0200)]
Added auto focus starting and stopping.

A long press should start auto focus, releasing finger outside capture button will
stop it. Also stop it when we get the preview image.

11 years agoAdded a custom Button (CaptureButton) to expose more properties and signals
Mohammed Sameer [Fri, 14 Dec 2012 20:32:37 +0000 (22:32 +0200)]
Added a custom Button (CaptureButton) to expose more properties and signals

11 years agoHandling failure to acquire recording resources now works
Mohammed Sameer [Fri, 14 Dec 2012 20:31:27 +0000 (22:31 +0200)]
Handling failure to acquire recording resources now works

11 years agoMoved all image capture logic to its own function
Mohammed Sameer [Fri, 14 Dec 2012 17:58:24 +0000 (19:58 +0200)]
Moved all image capture logic to its own function

11 years agoDon't turn reticle into red if CAF fails.
Mohammed Sameer [Fri, 14 Dec 2012 17:46:25 +0000 (19:46 +0200)]
Don't turn reticle into red if CAF fails.

11 years agoAdded a focus reticle. It indicates CAF status only for now.
Mohammed Sameer [Fri, 14 Dec 2012 17:10:52 +0000 (19:10 +0200)]
Added a focus reticle. It indicates CAF status only for now.

11 years agoCleaned up debugging output
Mohammed Sameer [Thu, 13 Dec 2012 23:08:59 +0000 (01:08 +0200)]
Cleaned up debugging output

11 years agoDon't release resources on pipeline error.
Mohammed Sameer [Thu, 13 Dec 2012 23:06:38 +0000 (01:06 +0200)]
Don't release resources on pipeline error.

11 years agoAdded a label below the camera icon in standby page to indicate that resources were...
Mohammed Sameer [Thu, 13 Dec 2012 23:05:58 +0000 (01:05 +0200)]
Added a label below the camera icon in standby page to indicate that resources were lost and killed the banner

11 years agoDon't ignore errors while stopping the pipeline.
Mohammed Sameer [Thu, 13 Dec 2012 22:45:35 +0000 (00:45 +0200)]
Don't ignore errors while stopping the pipeline.
This reverts commit 4b5634ce74ce85fbf0a5dbbcf85bd89bc3b1b42e manually.

11 years agoReworking resource policy and pipeline handling to use states and transitions
Mohammed Sameer [Thu, 13 Dec 2012 02:01:10 +0000 (04:01 +0200)]
Reworking resource policy and pipeline handling to use states and transitions

11 years agoDon't show an error if we lose resources and window is not active
Mohammed Sameer [Wed, 12 Dec 2012 23:59:34 +0000 (01:59 +0200)]
Don't show an error if we lose resources and window is not active

11 years agostop camera and show error if resources get hijacked not released
Mohammed Sameer [Wed, 12 Dec 2012 23:57:21 +0000 (01:57 +0200)]
stop camera and show error if resources get hijacked not released

11 years agoAdded TrackerStore to be used for creating a virtual file before image/video gets...
Mohammed Sameer [Wed, 12 Dec 2012 22:28:29 +0000 (00:28 +0200)]
Added TrackerStore to be used for creating a virtual file before image/video gets saved

Also some fixes for post capture

11 years agoAdded TODO about camera freezing when closed while recording
Mohammed Sameer [Wed, 12 Dec 2012 16:07:06 +0000 (18:07 +0200)]
Added TODO about camera freezing when closed while recording

11 years agoFixes for recording duration:
Mohammed Sameer [Wed, 12 Dec 2012 15:49:46 +0000 (17:49 +0200)]
Fixes for recording duration:
1) Don't set triggeredOnStart otherwise we always start with 1 second shown in the label
2) Fix for "ReferenceError: Can't find variable: duration"
3) Don't reset duration value when timer starts (Not needed)

11 years agoReplace the topmost rectangle with a ToolBar and show creation time
Mohammed Sameer [Wed, 12 Dec 2012 15:41:45 +0000 (17:41 +0200)]
Replace the topmost rectangle with a ToolBar and show creation time

11 years agoPostCapturePage can now play video
Mohammed Sameer [Tue, 11 Dec 2012 19:21:40 +0000 (21:21 +0200)]
PostCapturePage can now play video

11 years agoReworked and simplified.
Mohammed Sameer [Tue, 11 Dec 2012 13:19:24 +0000 (15:19 +0200)]
Reworked and simplified.

We now just use the QuillFile image directly for painting.

11 years agoReworked
Mohammed Sameer [Tue, 11 Dec 2012 02:29:52 +0000 (04:29 +0200)]
Reworked

11 years agohandle the case when page doesn't need pipeline
Mohammed Sameer [Tue, 11 Dec 2012 02:29:15 +0000 (04:29 +0200)]
handle the case when page doesn't need pipeline

11 years agoSet default camera mode to image
Mohammed Sameer [Tue, 11 Dec 2012 01:01:52 +0000 (03:01 +0200)]
Set default camera mode to image

11 years agoReworked video recording
Mohammed Sameer [Mon, 10 Dec 2012 00:16:33 +0000 (02:16 +0200)]
Reworked video recording
We now have a dedicated RecordingPage.
This greatly simplifies policy handling.

11 years agoobsolete TODO items
Mohammed Sameer [Sun, 9 Dec 2012 14:19:43 +0000 (16:19 +0200)]
obsolete TODO items

11 years agoDon't show standby widget if the page is not active.
Mohammed Sameer [Sun, 9 Dec 2012 03:13:40 +0000 (05:13 +0200)]
Don't show standby widget if the page is not active.

11 years agoCall handlePipeline() when we acquire resources.
Mohammed Sameer [Sun, 9 Dec 2012 03:10:36 +0000 (05:10 +0200)]
Call handlePipeline() when we acquire resources.

CameraResources is synchronous.
If we are moving from a page to a page and both have acquired resources then
we will not get any signals from CameraResources

11 years agoReworking PostCapture
Mohammed Sameer [Sun, 9 Dec 2012 01:01:14 +0000 (03:01 +0200)]
Reworking PostCapture

11 years agoset pathItem to 1 and modify the path line accordingly
Mohammed Sameer [Sat, 8 Dec 2012 22:57:44 +0000 (00:57 +0200)]
set pathItem to 1 and modify the path line accordingly

having 3 items for the path line will make the UI more smooth but
it will cost us a lot of start up time.

11 years agoStop viewfinder after the pipeline reaches idle state.
Mohammed Sameer [Sat, 8 Dec 2012 22:50:41 +0000 (00:50 +0200)]
Stop viewfinder after the pipeline reaches idle state.

It might be that a frame arrives after we stop the viewfinder but before
we stop the pipeline.
That frame will reinitialize the viewfinder again

11 years agoStop viewfinder if there is an error
Mohammed Sameer [Sat, 8 Dec 2012 22:49:55 +0000 (00:49 +0200)]
Stop viewfinder if there is an error

11 years agoMove PostCapture delegate to its own component
Mohammed Sameer [Sat, 8 Dec 2012 21:47:40 +0000 (23:47 +0200)]
Move PostCapture delegate to its own component

11 years agoDon't show the error unless page is Active
Mohammed Sameer [Sat, 8 Dec 2012 20:38:44 +0000 (22:38 +0200)]
Don't show the error unless page is Active

11 years agoupdate() is a signal not a slot. Use the correct macro
Mohammed Sameer [Sat, 8 Dec 2012 18:38:46 +0000 (20:38 +0200)]
update() is a signal not a slot. Use the correct macro

11 years agoVideoTorch and VideoMute are now properties of Camera
Mohammed Sameer [Sat, 8 Dec 2012 18:06:38 +0000 (20:06 +0200)]
VideoTorch and VideoMute are now properties of Camera

Renamed Mute to VideoMute
VideoTorch state is now stored and restored upon startup

11 years agoReworked QML capabilities.
Mohammed Sameer [Sat, 8 Dec 2012 17:01:49 +0000 (19:01 +0200)]
Reworked QML capabilities.

various capabilities are now properties of Camera and cannot be constructed
manually.
This fixes the issue with various properties not being set correctly upon startup.

11 years agoCode cleanup
Mohammed Sameer [Fri, 7 Dec 2012 23:59:44 +0000 (01:59 +0200)]
Code cleanup

11 years agoresetting Camera will cause the mode to be changed.
Mohammed Sameer [Fri, 7 Dec 2012 23:34:59 +0000 (01:34 +0200)]
resetting Camera will cause the mode to be changed.

main component reacts to that so let's move the code to the main component's onCompleted

11 years agoDon't try to show a page upon startup
Mohammed Sameer [Fri, 7 Dec 2012 23:32:55 +0000 (01:32 +0200)]
Don't try to show a page upon startup

Camera will emit modeChanged() when the mode gets changed during startup
and this is used to set the correct page

11 years agoOne cannot set mode and deviceId. Use camera::reset() instead.
Mohammed Sameer [Fri, 7 Dec 2012 23:25:54 +0000 (01:25 +0200)]
One cannot set mode and deviceId. Use camera::reset() instead.

This will simplify the code for QML bindings.

11 years agoAdded AutoFocus QML component
Mohammed Sameer [Wed, 31 Oct 2012 01:15:41 +0000 (03:15 +0200)]
Added AutoFocus QML component

11 years agoMerged QtCamCaf and QtCamAutoFocus
Mohammed Sameer [Wed, 31 Oct 2012 00:57:53 +0000 (02:57 +0200)]
Merged QtCamCaf and QtCamAutoFocus

11 years agoAdded QtCamAutoFocus
Mohammed Sameer [Wed, 31 Oct 2012 00:14:50 +0000 (02:14 +0200)]
Added QtCamAutoFocus