void VideoImplService::setActiveVideoSource(QString uid) { mActiveVideoSource = mEmptyVideoSource; std::vector<VideoSourcePtr> sources = this->getVideoSources(); for (unsigned i=0; i<sources.size(); ++i) if (sources[i]->getUid()==uid) mActiveVideoSource = sources[i]; // set active stream in all probes if stream is present: TrackingService::ToolMap tools = mBackend->tracking()->getTools(); for (TrackingService::ToolMap::iterator iter=tools.begin(); iter!=tools.end(); ++iter) { ProbePtr probe = iter->second->getProbe(); if (!probe) continue; if (!probe->getAvailableVideoSources().count(uid)){ report("No active streams"); continue; } probe->setActiveStream(uid); } emit activeVideoSourceChanged(); }
bool TestVideoConnectionWidget::canStream(QString filename) { this->show(); QTest::qWaitForWindowActive(this); this->setupWidgetToRunStreamer(filename); QTest::mouseClick(mConnectButton, Qt::LeftButton); //connect REQUIRE(waitForQueuedSignal(mServices->video().get(), SIGNAL(connected(bool)), 1000)); REQUIRE(waitForQueuedSignal(mServices->video().get(), SIGNAL(activeVideoSourceChanged()), 30000)); cx::VideoSourcePtr stream = mServices->video()->getActiveVideoSource(); REQUIRE(waitForQueuedSignal(stream.get(), SIGNAL(newFrame()), 1000)); bool canStream = stream->isStreaming(); QTest::mouseClick(mConnectButton, Qt::LeftButton); //disconnect this->close(); return canStream; }
USAcquisition::USAcquisition(AcquisitionPtr base, QObject* parent) : QObject(parent), mBase(base), mReady(true), mInfoText("") { mCore.reset(new USSavingRecorder()); connect(mCore.get(), SIGNAL(saveDataCompleted(QString)), this, SLOT(checkIfReadySlot())); connect(mCore.get(), SIGNAL(saveDataCompleted(QString)), this, SIGNAL(saveDataCompleted(QString))); connect(this->getServices()->tracking().get(), &TrackingService::stateChanged, this, &USAcquisition::checkIfReadySlot); connect(this->getServices()->tracking().get(), SIGNAL(activeToolChanged(const QString&)), this, SLOT(checkIfReadySlot())); connect(this->getServices()->video().get(), SIGNAL(activeVideoSourceChanged()), this, SLOT(checkIfReadySlot())); connect(this->getServices()->video().get(), &VideoService::connected, this, &USAcquisition::checkIfReadySlot); connect(mBase.get(), SIGNAL(started()), this, SLOT(recordStarted())); connect(mBase.get(), SIGNAL(acquisitionStopped()), this, SLOT(recordStopped()), Qt::QueuedConnection); connect(mBase.get(), SIGNAL(cancelled()), this, SLOT(recordCancelled())); this->checkIfReadySlot(); }