summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--elements/gstqtvideosink/gstqtglvideosink.cpp2
-rw-r--r--elements/gstqtvideosink/openglsurfacepainter.cpp17
-rw-r--r--elements/gstqtvideosink/qtvideosinkdelegate.cpp13
-rw-r--r--elements/gstqtvideosink/qtvideosinkdelegate.h8
-rw-r--r--src/QGst/Ui/graphicsvideosurface.cpp3
-rw-r--r--src/QGst/Ui/videowidget.cpp3
6 files changed, 25 insertions, 21 deletions
diff --git a/elements/gstqtvideosink/gstqtglvideosink.cpp b/elements/gstqtvideosink/gstqtglvideosink.cpp
index f7786ae..e74d312 100644
--- a/elements/gstqtvideosink/gstqtglvideosink.cpp
+++ b/elements/gstqtvideosink/gstqtglvideosink.cpp
@@ -125,7 +125,7 @@ void GstQtGLVideoSink::set_property(GObject *object, guint prop_id,
switch (prop_id) {
case PROP_GLCONTEXT:
- sinkBase->delegate->setGLContext(static_cast<QGLContext*>(g_value_get_pointer(value)));
+ sinkBase->delegate->setGLContext(static_cast<QOpenGLContext*>(g_value_get_pointer(value)));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
diff --git a/elements/gstqtvideosink/openglsurfacepainter.cpp b/elements/gstqtvideosink/openglsurfacepainter.cpp
index b3598ec..63a0d21 100644
--- a/elements/gstqtvideosink/openglsurfacepainter.cpp
+++ b/elements/gstqtvideosink/openglsurfacepainter.cpp
@@ -16,6 +16,7 @@
*/
#include "openglsurfacepainter.h"
#include <QtCore/qmath.h>
+#include <QOpenGLContext>
#ifndef GL_TEXTURE0
# define GL_TEXTURE0 0x84C0
@@ -51,8 +52,8 @@ OpenGLSurfacePainter::OpenGLSurfacePainter()
, m_videoColorMatrix(GST_VIDEO_COLOR_MATRIX_UNKNOWN)
{
#ifndef QT_OPENGL_ES
- glActiveTexture = (_glActiveTexture) QGLContext::currentContext()->getProcAddress(
- QLatin1String("glActiveTexture"));
+ glActiveTexture = (_glActiveTexture) QOpenGLContext::currentContext()->getProcAddress(
+ "glActiveTexture");
#endif
}
@@ -382,18 +383,18 @@ ArbFpSurfacePainter::ArbFpSurfacePainter()
: OpenGLSurfacePainter()
, m_programId(0)
{
- const QGLContext *context = QGLContext::currentContext();
+ const QOpenGLContext *context = QOpenGLContext::currentContext();
glProgramStringARB = (_glProgramStringARB) context->getProcAddress(
- QLatin1String("glProgramStringARB"));
+ "glProgramStringARB");
glBindProgramARB = (_glBindProgramARB) context->getProcAddress(
- QLatin1String("glBindProgramARB"));
+ "glBindProgramARB");
glDeleteProgramsARB = (_glDeleteProgramsARB) context->getProcAddress(
- QLatin1String("glDeleteProgramsARB"));
+ "glDeleteProgramsARB");
glGenProgramsARB = (_glGenProgramsARB) context->getProcAddress(
- QLatin1String("glGenProgramsARB"));
+ "glGenProgramsARB");
glProgramLocalParameter4fARB = (_glProgramLocalParameter4fARB) context->getProcAddress(
- QLatin1String("glProgramLocalParameter4fARB"));
+ "glProgramLocalParameter4fARB");
}
void ArbFpSurfacePainter::init(const BufferFormat &format)
diff --git a/elements/gstqtvideosink/qtvideosinkdelegate.cpp b/elements/gstqtvideosink/qtvideosinkdelegate.cpp
index 24d581e..be765ea 100644
--- a/elements/gstqtvideosink/qtvideosinkdelegate.cpp
+++ b/elements/gstqtvideosink/qtvideosinkdelegate.cpp
@@ -24,6 +24,7 @@
#include <QCoreApplication>
#include <QStack>
#include <QPainter>
+#include <QOpenGLContext>
#define QSIZE_FORMAT "(%d x %d)"
#define QSIZE_FORMAT_ARGS(size) \
@@ -173,7 +174,7 @@ void QtVideoSinkDelegate::paint(QPainter *painter, const QRectF & targetArea)
#ifndef GST_QT_VIDEO_SINK_NO_OPENGL
if (m_glContext) {
- Q_ASSERT_X(m_glContext == QGLContext::currentContext(),
+ Q_ASSERT_X(m_glContext == QOpenGLContext::currentContext(),
"qtvideosink - paint",
"Please use a QPainter that is initialized to paint on the "
"GL surface that has the same context as the one given on the glcontext property"
@@ -258,12 +259,12 @@ void QtVideoSinkDelegate::paint(QPainter *painter, const QRectF & targetArea)
#ifndef GST_QT_VIDEO_SINK_NO_OPENGL
-QGLContext *QtVideoSinkDelegate::glContext() const
+QOpenGLContext *QtVideoSinkDelegate::glContext() const
{
return m_glContext;
}
-void QtVideoSinkDelegate::setGLContext(QGLContext *context)
+void QtVideoSinkDelegate::setGLContext(QOpenGLContext *context)
{
if (m_glContext == context)
return;
@@ -272,7 +273,7 @@ void QtVideoSinkDelegate::setGLContext(QGLContext *context)
m_supportedPainters = Generic;
if (m_glContext) {
- m_glContext->makeCurrent();
+// m_glContext->makeCurrent();
const QByteArray extensions(reinterpret_cast<const char *>(glGetString(GL_EXTENSIONS)));
GST_LOG_OBJECT(m_sink, "Available GL extensions: %s", extensions.constData());
@@ -283,8 +284,8 @@ void QtVideoSinkDelegate::setGLContext(QGLContext *context)
#endif
#ifndef QT_OPENGL_ES_2
- if (QGLShaderProgram::hasOpenGLShaderPrograms(m_glContext)
- && extensions.contains("ARB_shader_objects"))
+ if (/*QGLShaderProgram::hasOpenGLShaderPrograms(m_glContext)
+ &&*/ extensions.contains("ARB_shader_objects"))
#endif
m_supportedPainters |= Glsl;
}
diff --git a/elements/gstqtvideosink/qtvideosinkdelegate.h b/elements/gstqtvideosink/qtvideosinkdelegate.h
index 5ae342f..f5f6ee7 100644
--- a/elements/gstqtvideosink/qtvideosinkdelegate.h
+++ b/elements/gstqtvideosink/qtvideosinkdelegate.h
@@ -27,7 +27,7 @@
#include <QSet>
#include <QReadWriteLock>
-class QGLContext;
+class QOpenGLContext;
class QtVideoSinkDelegate : public QObject
@@ -110,8 +110,8 @@ public:
#ifndef GST_QT_VIDEO_SINK_NO_OPENGL
// glcontext property
- QGLContext *glContext() const;
- void setGLContext(QGLContext *context);
+ QOpenGLContext *glContext() const;
+ void setGLContext(QOpenGLContext *context);
#endif
// paint action
@@ -132,7 +132,7 @@ private:
PainterTypes m_supportedPainters;
#ifndef GST_QT_VIDEO_SINK_NO_OPENGL
- QGLContext *m_glContext;
+ QOpenGLContext *m_glContext;
#endif
// colorbalance interface properties
diff --git a/src/QGst/Ui/graphicsvideosurface.cpp b/src/QGst/Ui/graphicsvideosurface.cpp
index 74b2d97..4f1c0c4 100644
--- a/src/QGst/Ui/graphicsvideosurface.cpp
+++ b/src/QGst/Ui/graphicsvideosurface.cpp
@@ -21,6 +21,7 @@
#ifndef QTGSTREAMER_UI_NO_OPENGL
# include <QtOpenGL/QGLWidget>
+#include <QOpenGLContext>
#endif
namespace QGst {
@@ -52,7 +53,7 @@ ElementPtr GraphicsVideoSurface::videoSink() const
if (!d->videoSink.isNull()) {
glw->makeCurrent();
- d->videoSink->setProperty("glcontext", (void*) QGLContext::currentContext());
+ d->videoSink->setProperty("glcontext", (void*) QOpenGLContext::currentContext());
glw->doneCurrent();
if (d->videoSink->setState(QGst::StateReady) != QGst::StateChangeSuccess) {
diff --git a/src/QGst/Ui/videowidget.cpp b/src/QGst/Ui/videowidget.cpp
index 75435b5..bb783fd 100644
--- a/src/QGst/Ui/videowidget.cpp
+++ b/src/QGst/Ui/videowidget.cpp
@@ -40,6 +40,7 @@
#ifndef QTGSTREAMER_UI_NO_OPENGL
# include <QtOpenGL/QGLWidget>
+# include <QOpenGLContext>
#endif
namespace QGst {
@@ -186,7 +187,7 @@ public:
m_renderer = new QtVideoSinkRenderer(sink, m_glWidget);
m_glWidget->makeCurrent();
- sink->setProperty("glcontext", (void*) QGLContext::currentContext());
+ sink->setProperty("glcontext", (void*) QOpenGLContext::currentContext());
m_glWidget->doneCurrent();
}