#!/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()