Hi Joonas,

On Thu, 24 Feb 2011 09:47:14 pm ext Joonas Tanskanen wrote:
> 
> Hi Dmytro
> 
> 
> Thanks for your comments.
> 
> 
> > it's not very clear how to express such limitations in QCamera APIs.
> > For example in video recording mode the capture resolution/rate
> matches
> > the viefinder one.
> 
> QCameraControl could also have methods for querying supported viewfinder
> resolutions and frame rates, like QImageCapture has
> supportedResolutions() method. In video recording mode the methods could
> just return the resolution and framerate that have currently been
> configured for capture.
> 
> > One possible solution to have this feature supported right now is to
> > add extra properties to QCameraControl (viewfinderResolution/rate) and
> 
> > QCameraImageCapture (preview resolution property) of camerabin
> backend.
> 
> You mean adding dynamic properties and then handling property changes
> through QObject::eventFilter()? 
> 

It's possible to add a property to CameraBinControl, something like

class CameraBinControl : public QCameraControl
{
    Q_OBJECT
    Q_PROPERTY(QSize viewfinderResolution READ viewfinderResolution WRITE  
setViewfinderResolution)
public:
    QSize viewfinderResolution() const;
public slots:
    void setViewfinderResolution(const QSize&);
...

and on the application side to have
cameraControl->setProperty("viewfinderResolution", size);

It would be nice for such properties to be forwarded to QCamera (and similar 
media objects like QMediaPlayer),
but this is not implemented yet.

This method can be also used to expose new and platform specific features,
compatibility is not promised for such extended properties.

Regards
  Dmytro.

> 
> > It's important to ensure the suitable resolutions is selected when no
> > viewfinder/preview settings are set.
> 
> If viewfinder/preview settings are not selected the backend would work
> as currently.
> 
> 
> > The API changes should be discussed, since they can't be changes once
> > released, so in the short run it's probably worth to
> > expose a few extra properties of QCameraControl and
> QCameraImageCapture,
> > and desing the related changes to API once
> > the applications requirements and limitations or expected target
> platforms
> > are more clear.
> 
> Yes, you are right. Better to avoid public API changes at his point.
> Using dynamic properties with QCamera, QCameraControl, QImageCapture and
> QImageCaptureControl is enough to implement these features for our
> purposes.
> 
> 
> 
> Br,
> Joonas
> 
> -----Original Message-----
> From: Dmytro Poplavskiy [mailto:[email protected]] 
> Sent: 24. helmikuuta 2011 8:59
> To: [email protected]
> Cc: Joonas Tanskanen
> Subject: Re: [Qt-mobility-feedback] Adding support for setting
> viewfinder and preview image resolution to Camera API
> 
> Hi Joonas,
> 
> On Fri, 18 Feb 2011 02:30:49 am ext Joonas Tanskanen wrote:
> > Hi
> > 
> > 
> > I have some questions for Camera API maintainers.
> > 
> > I found that Camera API doesn't provide way to set viewfinder
> resolution or preview image resolution. Do you have any plans to add
> support for these features? We need these features for reference camera
> application which I am implementing for meego handset platform. I
> thought that maybe I could add support for these features by myself.
> > 
> 
> It's useful to specify the viewfinder and image preview resolutions, but
> the supportes (and efficiently supported)
> set of resolutions is likely to be limited, it's not very clear how to
> express such limitations in QCamera APIs.
> For example in video recording mode the capture resolution/rate matches
> the viefinder one.
> 
> One possible solution to have this feature supported right now is to
> add extra properties to QCameraControl (viewfinderResolution/rate) and 
> QCameraImageCapture (preview resolution property) of camerabin backend.
> 
> It's possible to do without breaking BC and find what is
> necessary/suitable
> and quite easy to implement on backend side.
> 
> > 
> > My plan is following:
> > 
> > 
> > 1. add new methods to QCameraImageCapture for setting preview image
> resolution and viewfinder resolution:
> > 
> > 
> > QImageEncoderSettings previewSettings() const;
> > void setPreviewSettings(const QImageEncoderSettings& settings);
> > 
> > QVideoEncoderSettings viewfinderSettings() const;
> > void setViewfinderSettings(const QVideoEncoderSettings& settings);
> > 
> > 
> > 
> > 2. Implement QMediaControl plugins QCameraViewfinderControl and
> QCameraViewfinderControl. These are used to transfer preview image and
> viewfinder settings to camera backend.
> > 
> > 
> > 
> > 3. Modify CameraBinSession to set preview and viewfinder caps to
> camerabin.
> > 
> > 
> > 
> > I am able to implement support for camerabin backend only. In case of
> other backends(s60, mediacapture) setPreviewSettings() and
> setViewfinderSettings() would do nothing. Is that a problem? 
> 
> It's important to ensure the suitable resolutions is selected when no
> viewfinder/preview settings are set.
> 
> > If I implement this change and make a submit request will it be
> accepted? We need to resolve this problem somehow for MeeGo handset
> camera UI and I thought that with same effort I could make general
> solution for this. 
> > If API change required by this is not acceptable we have to consider
> to implement some kind of meego only solution which doesn't change
> public API.
> 
> The API changes should be discussed, since they can't be changes once
> released, so in the short run it's probably worth to
> expose a few extra properties of QCameraControl and QCameraImageCapture,
> and desing the related changes to API once
> the applications requirements and limitations or expected target
> platforms are more clear.
> 
> I'm thinking about extending QCamera API to provide more captured image
> related metadata (like exposure settings, histogram, etc),
> preview resolution could be part of those setttings as well.
> 
> Regards
>   Dmytro.
> 
> > 
> > Any comments are welcome, especially from Camera API maintainers :)
> > 
> > 
> > Br,
> > 
> > Joonas
> > 
> > 
> > 
> > ________________________________
> > SASKEN BUSINESS DISCLAIMER: This message may contain confidential,
> proprietary or legally privileged information. In case you are not the
> original intended Recipient of the message, you must not, directly or
> indirectly, use, disclose, distribute, print, or copy any part of this
> message and you are requested to delete it and inform the sender. Any
> views expressed in this message are those of the individual sender
> unless otherwise stated. Nothing contained in this message shall be
> construed as an offer or acceptance of any offer by Sasken Communication
> Technologies Limited ("Sasken") unless sent with that express intent and
> with due authority of Sasken. Sasken has taken enough precautions to
> prevent the spread of viruses. However the company accepts no liability
> for any damage caused by any virus transmitted by this email.
> > Read Disclaimer at http://www.sasken.com/extras/mail_disclaimer.html
> > 
> 
_______________________________________________
Qt-mobility-feedback mailing list
[email protected]
http://lists.qt.nokia.com/mailman/listinfo/qt-mobility-feedback

Reply via email to