summaryrefslogtreecommitdiff
path: root/src/mainwindow.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/mainwindow.cc')
-rw-r--r--src/mainwindow.cc40
1 files changed, 17 insertions, 23 deletions
diff --git a/src/mainwindow.cc b/src/mainwindow.cc
index 8a7c44a..d7faf2d 100644
--- a/src/mainwindow.cc
+++ b/src/mainwindow.cc
@@ -26,7 +26,6 @@
*/
#include "mainwindow.h"
-#include <QLabel>
#include <QStatusBar>
#include <stdio.h>
@@ -40,13 +39,21 @@ MainWindow::MainWindow(QString v4ldev, QString adev,
connect(&v4l, SIGNAL(newImage(Frame)),
this, SLOT(newImage(Frame)));
*/
+ setCentralWidget(new QLabel);
+
+ memset(video, 0 ,sizeof(video));
+
+ int idx = 0;
QList<InputStreamer*>::iterator i = islist.begin();
while(i != islist.end()) {
- connect(*i, SIGNAL(newImage(Frame)),
- this, SLOT(newImage(Frame)));
- connect(*i, SIGNAL(newAudio(Frame)),
- &aoh, SLOT(newAudio(Frame)));
- i++;
+ connect(*i, SIGNAL(newImage(int,Frame)),
+ this, SLOT(newImage(int,Frame)));
+ connect(*i, SIGNAL(newAudio(int,Frame)),
+ &aoh, SLOT(newAudio(int,Frame)));
+ video[idx] = new QLabel(NULL);
+ video[idx]->resize(640,480);
+ video[idx]->show();
+ i++; idx++;
}
/*
@@ -64,14 +71,12 @@ MainWindow::MainWindow(QString v4ldev, QString adev,
status_timer.start(1000);
- setCentralWidget(new QLabel());
-
statusBar()->showMessage("Starting...");
}
void MainWindow::updateStatus()
{
- size_t ob = ostreamer.getTotal() / 60;
+ size_t ob = ostreamer.getTotal() / 60;
size_t ib = 0;
QList<InputStreamer*>::iterator i = islist.begin();
while(i != islist.end()) {
@@ -99,8 +104,9 @@ void MainWindow::updateStatus()
statusBar()->showMessage(status);
}
-void MainWindow::newImage(Frame frame)
+void MainWindow::newImage(int peer, Frame frame)
{
+ if(peer >= 10 || video[peer] == NULL) return;
QImage img;
bool res = img.loadFromData((const uchar*)frame.data, frame.size, "JPG");
// printf("processImage() => %s\n", res?"true":"false");
@@ -112,7 +118,7 @@ void MainWindow::newImage(Frame frame)
// printf("img->w: %d\n", img.width());
// printf("img->h: %d\n", img.height())
- QLabel *l = (QLabel*)centralWidget();
+ QLabel *l = video[peer];
QPixmap p;
p.convertFromImage(img);
l->setPixmap(p);
@@ -121,15 +127,3 @@ void MainWindow::newImage(Frame frame)
// printf("v"); fflush(stdout);
}
-
-void MainWindow::newAudio(framelist_t list)
-{
- /*
- framelist_t::iterator i = list.begin();
- while(i != list.end()) {
- sp.playSamples(*i);
- }
- // printf("audio: %d frames\n", list.size());
- */
- // printf("a"); fflush(stdout);
-}