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