diff --git a/ext/qt/qtitem.cc b/ext/qt/qtitem.cc index b20a6fb5da..65b883eab8 100644 --- a/ext/qt/qtitem.cc +++ b/ext/qt/qtitem.cc @@ -178,6 +178,12 @@ QtGLVideoItem::getForceAspectRatio() return this->priv->force_aspect_ratio; } +bool +QtGLVideoItem::itemInitialized() +{ + return m_openGlContextInitialized; +} + QSGNode * QtGLVideoItem::updatePaintNode(QSGNode * oldNode, UpdatePaintNodeData * updatePaintNodeData) @@ -290,7 +296,7 @@ QtGLVideoItem::onSceneGraphInitialized () GST_DEBUG ("%p created wrapped GL context %" GST_PTR_FORMAT, this, this->priv->other_context); - emit itemInitialized(); + emit itemInitializedChanged(); } void diff --git a/ext/qt/qtitem.h b/ext/qt/qtitem.h index 8cffc24454..065d043eaf 100644 --- a/ext/qt/qtitem.h +++ b/ext/qt/qtitem.h @@ -64,6 +64,11 @@ class InitializeSceneGraph; class QtGLVideoItem : public QQuickItem, protected QOpenGLFunctions { Q_OBJECT + + Q_PROPERTY(bool itemInitialized + READ itemInitialized + NOTIFY itemInitializedChanged) + public: QtGLVideoItem(); ~QtGLVideoItem(); @@ -72,13 +77,14 @@ public: void getDAR(gint *, gint *); void setForceAspectRatio(bool); bool getForceAspectRatio(); + bool itemInitialized(); QSharedPointer getInterface() { return proxy; }; /* private for C interface ... */ QtGLVideoItemPrivate *priv; Q_SIGNALS: - void itemInitialized(); + void itemInitializedChanged(); private Q_SLOTS: void handleWindowChanged(QQuickWindow * win);