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]

  1. #
  2. # -*- coding: utf-8 -*-
  3. #
  4. # Implementazione del Widget per gestire il video
  5. #
  6.  
  7. import pygtk, gtk, gst
  8.  
  9. class VideoWidget(gtk.DrawingArea):
  10.  
  11. def __init__(self):
  12.  
  13. ## Creo la drawing area e la coloro
  14. ## di nero
  15. gtk.DrawingArea.__init__(self)
  16.  
  17. self.set_size_request(320,320)
  18. self.unset_flags(gtk.DOUBLE_BUFFERED)
  19.  
  20. ## Configurazione del player gstreamer
  21. self.player = gst.element_factory_make("playbin", "player")
  22. bus = self.player.get_bus()
  23. bus.enable_sync_message_emission()
  24. bus.add_signal_watch()
  25. bus.connect("sync-message::element", self.on_sync_message)
  26. bus.connect("message", self.on_message)
  27.  
  28.  
  29.  
  30. def do_expose_event(self, event):
  31. if self.imagesink:
  32. self.imagesink.expose()
  33. return False
  34. else:
  35. return True
  36.  
  37. def set_sink(self, sink):
  38. assert self.window.xid
  39. self.imagesink = sink
  40. self.imagesink.set_xwindow_id(self.window.xid)
  41.  
  42. def load_video(self, uri):
  43. """Start video playing with the specified URI"""
  44. self.player.set_property("uri", uri)
  45.  
  46. self.play()
  47.  
  48. def pause(self):
  49. self.player.set_state(gst.STATE_PAUSED)
  50.  
  51. def stop(self):
  52. self.player.set_state(gst.STATE_NULL)
  53.  
  54. def play(self):
  55. self.player.set_state(gst.STATE_PLAYING)
  56.  
  57. def on_sync_message(self, bus, message):
  58. if message.structure is None:
  59. return
  60. if message.structure.get_name() == 'prepare-xwindow-id':
  61. gtk.gdk.threads_enter()
  62. self.set_sink(message.src)
  63. message.src.set_property("force-aspect-ratio", True)
  64. gtk.gdk.threads_leave()
  65.  
  66. def on_message(self, bus, message):
  67. if message.type == gst.MESSAGE_ERROR:
  68. err, debug = message.parse_error()
  69. print err, debug
  70.  
  71. def reset(self):
  72. drawable = self.window
  73. width, height = drawable.get_size()
  74. print width, height
  75. # Creo il graphic context, sperando che si
  76. # aggiorni.
  77. gc = gtk.gdk.GC(drawable,
  78. gtk.gdk.Color(2,15,70),
  79. gtk.gdk.Color(0,67,0)
  80. )
  81.  
  82. drawable.draw_rectangle(gc,
  83. True,
  84. 5,
  85. 5,
  86. width,
  87. height)
  88.  
  89. ## Qua dovremmo far vedere che la finestra
  90. ## diventa nera e invece non lo fa
  91. self.realize()
  92.  
  93. def registerXID(self):
  94. self.XID = self.window.xid
  95.