viewgit/index.php:465 Only variables should be passed by reference [2048]
viewgit/index.php:466 Non-static method GeSHi::get_language_name_from_extension() should not be called statically [2048]
# # -*- coding: utf-8 -*- # # Implementazione del Widget per gestire il video # import pygtk, gtk, gst class VideoWidget(gtk.DrawingArea): def __init__(self): ## Creo la drawing area e la coloro ## di nero gtk.DrawingArea.__init__(self) self.set_size_request(320,320) self.unset_flags(gtk.DOUBLE_BUFFERED) def do_expose_event(self, event): if self.imagesink: self.imagesink.expose() return False else: return True def set_sink(self, sink): assert self.window.xid self.imagesink = sink self.imagesink.set_xwindow_id(self.window.xid) def start_video(self, uri): """Start video playing with the specified URI""" self.player = gst.element_factory_make("playbin", "player") self.player.set_property("uri", uri) bus = self.player.get_bus() bus.enable_sync_message_emission() bus.add_signal_watch() bus.connect("sync-message::element", self.on_sync_message) bus.connect("message", self.on_message) self.player.set_state(gst.STATE_PLAYING) def on_sync_message(self, bus, message): if message.structure is None: return if message.structure.get_name() == 'prepare-xwindow-id': gtk.gdk.threads_enter() # gtk.gdk.display.get_default.sync() self.set_sink(message.src) message.src.set_property("force-aspect-ratio", True) gtk.gdk.threads_leave() def on_message(self, bus, message): if message.type == gst.MESSAGE_ERROR: err, debug = message.parse_error() print err, debug def reset(self): drawable = self.window width, height = drawable.get_size() print width, height # Creo il graphic context, sperando che si # aggiorni. gc = gtk.gdk.GC(drawable, gtk.gdk.Color(2,15,70), gtk.gdk.Color(0,67,0) ) drawable.draw_rectangle(gc, True, 5, 5, width, height) ## Qua dovremmo far vedere che la finestra ## diventa nera e invece non lo fa self.realize() def registerXID(self): self.XID = self.window.xid