/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /*************************************************************************** * mainwindow.cc * * Thu Sep 18 19:30:14 CEST 2014 * Copyright 2014 Bent Bisballe Nyeng * deva@aasimon.org ****************************************************************************/ /* * This file is part of SimpleRTP. * * SimpleRTP is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * SimpleRTP is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with SimpleRTP; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ #include "mainwindow.h" #include #include MainWindow::MainWindow(QString v4ldev, OutputStreamer &os, QList &isl) : v4l(v4ldev), ostreamer(os), islist(isl) { /* // Self view: connect(&v4l, SIGNAL(newImage(Frame)), this, SLOT(newImage(Frame))); */ setCentralWidget(new QLabel); int idx = 0; QList::iterator i = islist.begin(); while(i != islist.end()) { VideoWidget *vw = new VideoWidget(idx, *i); videowidgets.push_back(vw); connect(*i, SIGNAL(newAudio(int,Frame)), &aoh, SLOT(newAudio(int,Frame))); connect(*i, SIGNAL(newImage(int,Frame)), vw, SLOT(newImage(int,Frame))); i++; idx++; } /* connect(&aih, SIGNAL(newAudio(framelist_t)), this, SLOT(newAudio(framelist_t))); */ connect(&v4l, SIGNAL(newImage(Frame)), &ostreamer, SLOT(newImage(Frame))); connect(&aih, SIGNAL(newAudio(framelist_t)), &ostreamer, SLOT(newAudio(framelist_t))); connect(&status_timer, SIGNAL(timeout()), this, SLOT(updateStatus())); status_timer.start(1000); statusBar()->showMessage("Starting..."); } void MainWindow::updateStatus() { size_t ob = ostreamer.getTotal() / 60; size_t ib = 0; QList::iterator i = islist.begin(); while(i != islist.end()) { ib += (*i)->getTotal() / 60; i++; } QString iunit = "b/s"; if(ib > 1024) { ib /= 1024; iunit = "kb/s"; } QString ounit = "b/s"; if(ob > 1024) { ob /= 1024; ounit = "kb/s"; } QString status = "In: " + QString::number(ib) + iunit + " - " + "Out: " + QString::number(ob) + ounit ; statusBar()->showMessage(status); }