1#!/usr/bin/env python3
2"""A simple test that uses gst1-python to run a fake videotestsrc for 100
3frames
4"""
5import sys
6import gi
7gi.require_version('Gst', '1.0')
8from gi.repository import Gst, GLib  # noqa: E402
9
10
11def on_message(bus, message, loop):
12    print('Received Gst.Message.type: {}'.format(message.type))
13    if message.type == Gst.MessageType.EOS:
14        loop.quit()
15    return True
16
17
18def main():
19    # Initializes Gstreamer
20    Gst.init(sys.argv)
21    pipeline = Gst.parse_launch("videotestsrc num-buffers=100 ! fakevideosink")
22    bus = pipeline.get_bus()
23    bus.add_signal_watch()
24    pipeline.set_state(Gst.State.PLAYING)
25    loop = GLib.MainLoop()
26    bus.connect("message", on_message, loop)
27    loop.run()
28    pipeline.set_state(Gst.State.NULL)
29
30
31if __name__ == '__main__':
32    main()
33