rendered paste body#!/usr/bin/env python2.4import sys, Image, timeimport pgmrenderimport pygstpygst.require ("0.10")import gstfrom pgm import render, logfrom pgm.layout import window, groupfrom pgm.form import rectangle, stroke, color, image, labelfrom pgm.timing import controller, modifier, keyframelog.set_level(log.DEBUG)def handle_events(events): for event in events: event_type = event.type if event_type == pgmrender.DELETE: sys.exit(0)def main(args): title = 'Stream' if len(args) != 1: print 'Usage: %s mediafile' % sys.argv[0] return 1 pgmrender.init('opengl1') win = pgmrender.create_window() win.set_title(title, title) drb1 = pgmrender.create_surface() drb1.set_position(0, 0) drb1.set_size(800, 600) win.add_drawable(drb1, pgmrender.DRAWABLE_FAR) lbl = label.Label() lbl.text = "Pigment label" win.add(lbl) pipeline = gst.parse_launch("gnomevfssrc name=src ! decodebin name=d ! " \ "queue ! ffmpegcolorspace ! " \ "pgmrendersink name=sink ") src_element = pipeline.get_by_name('src') src_element.set_property('location', sys.argv[1]) sink_element = pipeline.get_by_name('sink') sink_element.set_property('drawable', drb1) pipeline.set_state(gst.STATE_PLAYING) win.start_loop() while 1: events = win.get_events() handle_events(events) win.update() time.sleep(0.025)if __name__ == '__main__': sys.exit(main(sys.argv[1:]))