sample_gst1_python.py 803 B

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