summaryrefslogtreecommitdiff
path: root/tests/examples/qt/qmloverlay/overlay.py
blob: bf3e18c7a57f03b79c75de7d5669c643aaa36d97 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/usr/bin/env python

import signal
signal.signal(signal.SIGINT, signal.SIG_DFL)

import sys
import gi
gi.require_version('Gst', '1.0')

from gi.repository import Gst, GLib
from PySide2.QtGui import QGuiApplication
from PySide2.QtQuick import QQuickItem

def main(args):
    app = QGuiApplication(args)
    Gst.init(args)

    pipeline = Gst.parse_launch("""videotestsrc ! glupload ! qmlgloverlay name=o ! gldownload ! videoconvert ! autovideosink""")
    o = pipeline.get_by_name('o')
    f = open('overlay.qml', 'r')
    o.set_property('qml-scene', f.read())

    pipeline.set_state(Gst.State.PLAYING)
    app.exec_()
    pipeline.set_state(Gst.State.NULL)

if __name__ == '__main__':
    sys.exit(main(sys.argv))