hc
2024-03-22 a0752693d998599af469473b8dc239ef973a012f
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
29
30
31
32
#!/usr/bin/env python3
"""A simple test that uses gst1-python to run a fake videotestsrc for 100
frames
"""
import sys
import gi
gi.require_version('Gst', '1.0')
from gi.repository import Gst, GLib  # noqa: E402
 
 
def on_message(bus, message, loop):
    print('Received Gst.Message.type: {}'.format(message.type))
    if message.type == Gst.MessageType.EOS:
        loop.quit()
    return True
 
 
def main():
    # Initializes Gstreamer
    Gst.init(sys.argv)
    pipeline = Gst.parse_launch("videotestsrc num-buffers=100 ! fakevideosink")
    bus = pipeline.get_bus()
    bus.add_signal_watch()
    pipeline.set_state(Gst.State.PLAYING)
    loop = GLib.MainLoop()
    bus.connect("message", on_message, loop)
    loop.run()
    pipeline.set_state(Gst.State.NULL)
 
 
if __name__ == '__main__':
    main()