diff options
Diffstat (limited to 'src/mainwindow.cc')
-rw-r--r-- | src/mainwindow.cc | 38 |
1 files changed, 7 insertions, 31 deletions
diff --git a/src/mainwindow.cc b/src/mainwindow.cc index d7faf2d..81ea65c 100644 --- a/src/mainwindow.cc +++ b/src/mainwindow.cc @@ -41,18 +41,18 @@ MainWindow::MainWindow(QString v4ldev, QString adev, */ 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(int,Frame)), - this, SLOT(newImage(int,Frame))); + VideoWidget *vw = new VideoWidget(idx, *i); + videowidgets.push_back(vw); + connect(*i, SIGNAL(newAudio(int,Frame)), &aoh, SLOT(newAudio(int,Frame))); - video[idx] = new QLabel(NULL); - video[idx]->resize(640,480); - video[idx]->show(); + + connect(*i, SIGNAL(newImage(int,Frame)), + vw, SLOT(newImage(int,Frame))); + i++; idx++; } @@ -103,27 +103,3 @@ void MainWindow::updateStatus() ; statusBar()->showMessage(status); } - -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"); - if(img.isNull()) { - printf("Invalid image\n"); - return; - } - - // printf("img->w: %d\n", img.width()); - // printf("img->h: %d\n", img.height()) - - QLabel *l = video[peer]; - QPixmap p; - p.convertFromImage(img); - l->setPixmap(p); - - free(frame.data); - - // printf("v"); fflush(stdout); -} |