DirectShow: implemented QCameraViewfinderSettingsControl2.

Change-Id: I42ed49676e2fbc7207d8fe4579ad1fc0d62df138
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
This commit is contained in:
Yoann Lopes
2014-12-19 20:08:58 +01:00
parent 4e07ff99f6
commit 5a0a3791a1
7 changed files with 283 additions and 54 deletions

View File

@@ -91,6 +91,12 @@ public:
void setSurface(QAbstractVideoSurface* surface);
QCameraViewfinderSettings viewfinderSettings() const;
void setViewfinderSettings(const QCameraViewfinderSettings &settings);
QList<QCameraViewfinderSettings> supportedViewfinderSettings() const
{ return m_supportedViewfinderSettings; }
Q_SIGNALS:
void statusChanged(QCamera::Status);
void imageExposed(int id);
@@ -105,7 +111,6 @@ private Q_SLOTS:
private:
void setStatus(QCamera::Status status);
void populateCommonResolutions();
void onFrameAvailable(const char *frameData, long len);
void saveCapturedImage(int id, const QImage &image, const QString &path);
@@ -126,9 +131,10 @@ private:
// Source (camera)
QString m_sourceDeviceName;
IBaseFilter* m_sourceFilter;
AM_MEDIA_TYPE m_sourcePreferredFormat;
QSize m_sourcePreferredResolution;
bool m_needsHorizontalMirroring;
QList<AM_MEDIA_TYPE> m_supportedFormats;
QList<QCameraViewfinderSettings> m_supportedViewfinderSettings;
AM_MEDIA_TYPE m_sourceFormat;
// Preview
IBaseFilter *m_previewFilter;
@@ -140,6 +146,8 @@ private:
QVideoSurfaceFormat m_previewSurfaceFormat;
QVideoFrame::PixelFormat m_previewPixelFormat;
QSize m_previewSize;
QCameraViewfinderSettings m_viewfinderSettings;
QCameraViewfinderSettings m_actualViewfinderSettings;
// Image capture
QString m_imageCaptureFileName;