~ubuntu-branches/ubuntu/wily/sflphone/wily

« back to all changes in this revision

Viewing changes to kde/src/widgets/videowidget.cpp

  • Committer: Package Import Robot
  • Author(s): Mark Purcell
  • Date: 2014-01-28 18:23:36 UTC
  • mfrom: (1.1.11)
  • mto: This revision was merged to the branch mainline in revision 24.
  • Revision ID: package-import@ubuntu.com-20140128182336-3xenud1kbnwmf3mz
* New upstream release 
  - Fixes "New Upstream Release" (Closes: #735846)
  - Fixes "Ringtone does not stop" (Closes: #727164)
  - Fixes "[sflphone-kde] crash on startup" (Closes: #718178)
  - Fixes "sflphone GUI crashes when call is hung up" (Closes: #736583)
* Build-Depends: ensure GnuTLS 2.6
  - libucommon-dev (>= 6.0.7-1.1), libccrtp-dev (>= 2.0.6-3)
  - Fixes "FTBFS Build-Depends libgnutls{26,28}-dev" (Closes: #722040)
* Fix "boost 1.49 is going away" unversioned Build-Depends: (Closes: #736746)
* Add Build-Depends: libsndfile-dev, nepomuk-core-dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/***************************************************************************
2
 
 *   Copyright (C) 2011-2013 by Savoir-Faire Linux                         *
 
2
 *   Copyright (C) 2011-2014 by Savoir-Faire Linux                         *
3
3
 *   Author : Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>*
4
4
 *                                                                         *
5
5
 *   This program is free software; you can redistribute it and/or modify  *
16
16
 *   along with this program.  If not, see <http://www.gnu.org/licenses/>. *
17
17
 **************************************************************************/
18
18
#include "videowidget.h"
 
19
 
 
20
//KDE
 
21
#include <KDebug>
 
22
 
 
23
//SFLPhone
19
24
#include "../lib/videorenderer.h"
20
 
#include <KDebug>
21
25
 
22
26
///Constructor
23
27
VideoWidget::VideoWidget(QWidget* parent ,VideoRenderer* renderer) : QWidget(parent),m_Image(nullptr),m_pRenderer(renderer) {
24
28
   setMinimumSize(200,200);
25
29
   setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
26
30
   connect(m_pRenderer,SIGNAL(frameUpdated()),this,SLOT(updateFrame()));
27
 
   connect(VideoModel::getInstance(),SIGNAL(videoStopped()),this,SLOT(stop()));
28
 
   connect(VideoModel::getInstance(),SIGNAL(videoCallInitiated(VideoRenderer*)),this,SLOT(setRenderer(VideoRenderer*)));
 
31
   connect(VideoModel::instance(),SIGNAL(videoStopped()),this,SLOT(stop()));
 
32
   connect(VideoModel::instance(),SIGNAL(videoCallInitiated(VideoRenderer*)),this,SLOT(setRenderer(VideoRenderer*)));
29
33
}
30
34
 
31
35
///Set widget renderer
48
52
void VideoWidget::paintEvent(QPaintEvent* event)
49
53
{
50
54
   Q_UNUSED(event)
51
 
   //if (VideoModel::getInstance()->isPreviewing()) {
52
55
   update();
53
 
   //}
54
56
}
55
57
 
56
58
///Called when a new frame is ready
57
59
void VideoWidget::updateFrame()
58
60
{
59
 
   QSize size(m_pRenderer->getActiveResolution().width(), m_pRenderer->getActiveResolution().height());
 
61
   const QSize size(m_pRenderer->activeResolution().width(), m_pRenderer->activeResolution().height());
60
62
   if (size != minimumSize())
61
63
      setMinimumSize(size);
62
64
   if (m_Image)
63
65
      delete m_Image;
64
 
   //if (!m_Image && VideoModel::getInstance()->isRendering())
65
 
      m_Image = new QImage((uchar*)m_pRenderer->rawData() , size.width(), size.height(), QImage::Format_ARGB32 );
66
 
   //This is the right way to do it, but it does not work
67
 
//    if (!m_Image || (m_Image && m_Image->size() != size))
68
 
//       m_Image = new QImage((uchar*)VideoModel::getInstance()->rawData() , size.width(), size.height(), QImage::Format_ARGB32 );
69
 
//    if (!m_Image->loadFromData(VideoModel::getInstance()->getCurrentFrame())) {
70
 
//       qDebug() << "Loading image failed";
71
 
//    }
 
66
   m_Image = new QImage((uchar*)m_pRenderer->rawData() , size.width(), size.height(), QImage::Format_ARGB32 );
72
67
   repaint();
73
68
}
74
69