void ViewFinderWrapper::startCamera() { m_processor = new VideoEncoder(this); connect(m_processor, SIGNAL(queueFull()), this, SLOT(onThreadCongested())); connect(m_processor, SIGNAL(frameProcessed(QByteArray)),this,SIGNAL(newFrameToSend(QByteArray))); m_processor->start(); m_camera = new QCamera(this); QList<QByteArray> cameras = m_camera->availableDevices(); m_camera = new QCamera(cameras.first()); m_camera->setViewfinder(new QCameraViewfinder); if (m_camera) { m_camera->start(); if(m_camera->state()==QCamera::ActiveState){ m_cameraActive = true; startViewFinder(); } else qDebug()<<"camera didn't start"; } }
void VideoWidget::initialize(QStatusBar *bar, SFMViewer *sfmViewer, SceneModel * sceneModel){ // Connect surface to our slot connect(surface, SIGNAL(frameAvailable()), this, SLOT(frameReady())); processor = new ProcessingThread(this); connect(processor, SIGNAL(frameProcessed()), this, SLOT(onFrameProcessed())); connect(processor, SIGNAL(queueFull()), this, SLOT(onThreadCongested())); processor->initialize(bar, sceneModel); processor->setUpdateListener(sfmViewer); processor->start(); }