Esempio n. 1
0
QGstreamerCameraControl::QGstreamerCameraControl(QGstreamerCaptureSession *session)
    :QCameraControl(session),
    m_captureMode(QCamera::CaptureStillImage),
    m_session(session),
    m_state(QCamera::UnloadedState),
    m_status(QCamera::UnloadedStatus),
    m_reloadPending(false)

{
    connect(m_session, SIGNAL(stateChanged(QGstreamerCaptureSession::State)),
            this, SLOT(updateStatus()));

    connect(m_session->imageEncodeControl(), SIGNAL(settingsChanged()),
            SLOT(reloadLater()));
    connect(m_session, SIGNAL(viewfinderChanged()),
            SLOT(reloadLater()));
    connect(m_session, SIGNAL(readyChanged(bool)),
            SLOT(reloadLater()));
}
Esempio n. 2
0
void QGstreamerCameraControl::setCaptureMode(QCamera::CaptureMode mode)
{
    if (m_captureMode == mode)
        return;

    switch (mode) {
    case QCamera::CaptureStillImage:
        m_session->setCaptureMode(QGstreamerCaptureSession::Image);
        break;
    case QCamera::CaptureVideo:
        m_session->setCaptureMode(QGstreamerCaptureSession::AudioAndVideo);
        break;
    }

    emit captureModeChanged(mode);
    updateStatus();
    reloadLater();
}
void QGstreamerCameraControl::setCaptureMode(QCamera::CaptureModes mode)
{
    if (m_captureMode == mode || !isCaptureModeSupported(mode))
        return;

    m_captureMode = mode;

    switch (mode) {
    case QCamera::CaptureViewfinder:
    case QCamera::CaptureStillImage:
        m_session->setCaptureMode(QGstreamerCaptureSession::Image);
        break;
    case QCamera::CaptureVideo:
        m_session->setCaptureMode(QGstreamerCaptureSession::AudioAndVideo);
        break;
    case QCamera::CaptureVideo | QCamera::CaptureStillImage:
        m_session->setCaptureMode(QGstreamerCaptureSession::AudioAndVideoAndImage);
        break;
    }

    emit captureModeChanged(mode);
    updateStatus();
    reloadLater();
}