+++ /dev/null
-from gi.repository import Gst, GES, GLib
-
-import os
-
-class Simple:
- def __init__(self, uri):
- timeline = GES.Timeline()
- trackv = GES.Track.video_raw_new()
- self.layer = GES.Layer()
- self.pipeline = GES.TimelinePipeline()
- self.pipeline.add_timeline(timeline)
-
-
- timeline.add_track(trackv)
- timeline.add_layer(self.layer)
-
- GES.Asset.new_async(GES.UriClip, uri, None, self.discoveredCb, None)
- self.loop = GLib.MainLoop()
- self.loop.run()
-
- def discoveredCb(self, asset, result, blop):
- self.layer.add_asset(asset, long(0), long(0), long(10 * Gst.SECOND), 1.0, GES.TrackType.VIDEO)
- self.start()
-
- def busMessageCb(self, bus, message, udata):
- if message.type == Gst.MessageType.EOS:
- print "EOS"
- self.loop.quit()
- if message.type == Gst.MessageType.ERROR:
- print "ERROR"
- self.loop.quit()
-
- def start(self):
- self.pipeline.set_state(Gst.State.PLAYING)
- self.pipeline.get_bus().add_watch(GLib.PRIORITY_DEFAULT, self.busMessageCb, None)
-
-if __name__ == "__main__":
- if len(os.sys.argv) < 2:
- print "You must specify a file URI"
- exit(-1)
- GES.init()
-
- # And try!
- Simple(os.sys.argv[1])