+++ /dev/null
-#!/usr/bin/env python
-
-# Get a test sample with:
-# youtube-dl -t http://www.youtube.com/watch?v=yWa-YXiSk2Y
-
-import sys
-
-import gobject
-gobject.threads_init()
-
-import gst
-
-
-class Player:
- def __init__(self, filename):
- self._filename = filename
-
- self._player = gst.element_factory_make("playbin2", "player")
- self._player.set_property("uri", filename)
-
- bus = self._player.get_bus()
- bus.add_signal_watch()
- bus.connect('message::eos', self.on_eos)
-
- def run(self):
- self._player.set_state(gst.STATE_PLAYING)
- loop = gobject.MainLoop()
- loop.run()
-
- def on_eos(self, bus, msg):
- sys.stderr.write(".")
- self._player.seek_simple(gst.FORMAT_TIME, gst.SEEK_FLAG_FLUSH, 0)
-
-
-def main(args):
- def usage():
- sys.stdout.write("usage: %s <URI-OF-MEDIA-FILE>\n" % args[0])
-
- if len(args) != 2:
- usage()
- sys.exit(1)
-
- if not gst.uri_is_valid(args[1]):
- sys.stderr.write("Error: Invalid URI: %s\n" % args[1])
- sys.exit(1)
-
- player = Player(args[1])
- player.run()
-
-if __name__ == '__main__':
- sys.exit(main(sys.argv))