From f641898bc68c5a100af3515a0463eca9e4fcc012 Mon Sep 17 00:00:00 2001 From: Leonardo Robol Date: Mon, 2 Nov 2009 00:37:26 +0100 Subject: [PATCH] Corretto bug nella pausa e nel play, in attesa di mettere un controllo sul timeout --- RaiTV/VideoWidget.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/RaiTV/VideoWidget.py b/RaiTV/VideoWidget.py index 1dd90a4..91621b6 100644 --- a/RaiTV/VideoWidget.py +++ b/RaiTV/VideoWidget.py @@ -4,7 +4,7 @@ # Implementazione del Widget per gestire il video # -import pygtk, gtk, gst, cairo, threading +import pygtk, gtk, gst, cairo, threading, time class GstPlayer(threading.Thread): @@ -14,6 +14,7 @@ class GstPlayer(threading.Thread): self.video = video self.exit_required = False + self.loading = False def set_sink(self, sink): assert self.xid @@ -36,6 +37,9 @@ class GstPlayer(threading.Thread): err, debug = message.parse_error() print err, debug + def is_loading(self): + return self.loading + def run(self): self.player = gst.element_factory_make("playbin", "player") @@ -46,10 +50,11 @@ class GstPlayer(threading.Thread): bus.connect("sync-message::element", self.on_sync_message) bus.connect("message", self.on_message) + self.loading = True self.player.set_property("uri", self.video) self.player.set_state(gst.STATE_PLAYING) - + self.loading = False while not self.exit_required: pass @@ -59,8 +64,10 @@ class GstPlayer(threading.Thread): self.exit_required = True def pause(self): - self.player.set_state(gst.STATE_PAUSE) + self.player.set_state(gst.STATE_PAUSED) + def play(self): + self.player.set_state(gst.STATE_PLAYING) class VideoWidget(gtk.DrawingArea): @@ -128,6 +135,10 @@ class VideoWidget(gtk.DrawingArea): self.player.start() self.playing = True + ## Aspettiamo 5 secondi + + + def pause(self): self.player.pause() @@ -140,7 +151,7 @@ class VideoWidget(gtk.DrawingArea): def play(self): self.playing = True - self.player.set_state(gst.STATE_PLAYING) + self.player.play() def reset(self): -- 2.1.4