コード例 #1
0
void FramelessMainWindow::playbackStarted()
{
//  qDebug() << "playbackStarted 1";
    updateVideoSize();
    m_video->show();
    if ( isMaximized() ) showFullScreen();
    m_control->show();
    m_closeControl->show();
//  m_control->raise();
//  qDebug() << "playbackStarted 2";
}
コード例 #2
0
ファイル: videowidget.cpp プロジェクト: Mr-Kumar-Abhishek/qt
        AbstractVideoRenderer *VideoWidget::getRenderer(int graphIndex, RendererType type, bool autoCreate)
        {
            int index = graphIndex * 2 + type;
            if (m_renderers[index] == 0 && autoCreate) {
                AbstractVideoRenderer *renderer = 0;
                if (type == Native) {
#ifndef Q_OS_WINCE
                    renderer = new VideoRendererEVR(m_widget);
                    if (renderer->getFilter() == 0) {
                        delete renderer;
                        //EVR not present, let's try VMR
                        renderer = new VideoRendererVMR9(m_widget);
                        if (renderer->getFilter() == 0) {
                            //instanciating the renderer might fail
                            m_noNativeRendererSupported = true;
                            delete renderer;
                            renderer = 0;
                        }
                    }
#else
                    renderer = new VideoRendererVMR9(m_widget);
                    if (renderer->getFilter() == 0) {
                        //instanciating the renderer might fail
                        m_noNativeRendererSupported = true;
                        delete renderer;
                        renderer = 0;
                    }
#endif
                }

                if (renderer == 0) {
                    type = NonNative;
                    index = graphIndex * 2 + type;
                    if (m_renderers[index] == 0)
                        renderer = new VideoRendererSoft(m_widget); //this always succeeds
                    else
                        renderer = m_renderers[index];
                }

                m_renderers[index] = renderer;

                //be sure to update all the things that needs an update
                applyMixerSettings();
                updateVideoSize();

            }
            return m_renderers[index];
        }
コード例 #3
0
ファイル: videowidget.cpp プロジェクト: Mr-Kumar-Abhishek/qt
        void VideoWidget::setCurrentGraph(int index)
        {
            for(int i = 0; i < 2; ++i) {
                if (AbstractVideoRenderer *renderer = getRenderer(i, Native))
                    renderer->setActive(index == i);
            }

            //be sure to update all the things that needs an update
            applyMixerSettings();
            updateVideoSize();

            AbstractVideoRenderer *r = m_widget->currentRenderer();

            //we determine dynamically if it is native or non native
            r = getRenderer(index, !r || r->isNative() ? Native : NonNative);
			if (!r)
				r = getRenderer(index, NonNative);
            m_widget->setCurrentRenderer(r);
        }
コード例 #4
0
ファイル: videowidget.cpp プロジェクト: Mr-Kumar-Abhishek/qt
 void VideoWidget::connected(BackendNode *, const InputPin&)
 {
     //in case of a connection, we simply reapply the mixer settings
     applyMixerSettings();
     updateVideoSize();
 }
コード例 #5
0
ファイル: videowidget.cpp プロジェクト: Mr-Kumar-Abhishek/qt
 void VideoWidget::setScaleMode(Phonon::VideoWidget::ScaleMode scaleMode)
 {
     m_scaleMode = scaleMode;
     updateVideoSize();
     m_widget->update();
 }
コード例 #6
0
ファイル: videowidget.cpp プロジェクト: Mr-Kumar-Abhishek/qt
 void VideoWidget::setAspectRatio(Phonon::VideoWidget::AspectRatio aspectRatio)
 {
     m_aspectRatio = aspectRatio;
     updateVideoSize();
     m_widget->update();
 }
コード例 #7
0
ファイル: videowidget.cpp プロジェクト: Mr-Kumar-Abhishek/qt
 void VideoWidget::notifyVideoLoaded()
 {
     updateVideoSize();
     m_widget->updateGeometry();
 }
コード例 #8
0
void FramelessMainWindow::resizeEvent( QResizeEvent *evt )
{
    QMainWindow::resizeEvent( evt );
    updateVideoSize();
}