Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/gplay.py
diff options
context:
space:
mode:
authorerikb <erikb@574bc980-5f2d-0410-acbc-c8f9f0eb14e0>2007-08-03 16:41:49 (GMT)
committer erikb <erikb@574bc980-5f2d-0410-acbc-c8f9f0eb14e0>2007-08-03 16:41:49 (GMT)
commit346f6c8d59631570b5a5e20ed2ecbb845eb8fa7e (patch)
treedb0caf153fb7c48fdc2adc9b5890ac01dd2ae49a /gplay.py
parentd7dc92a671cf4a70f901cc418445e0d103784ff2 (diff)
beginning integration of the slider widget
git-svn-id: http://mediamods.com/public-svn/camera-activity/Record.activity@285 574bc980-5f2d-0410-acbc-c8f9f0eb14e0
Diffstat (limited to 'gplay.py')
-rw-r--r--gplay.py22
1 files changed, 18 insertions, 4 deletions
diff --git a/gplay.py b/gplay.py
index 08a5b44..6394068 100644
--- a/gplay.py
+++ b/gplay.py
@@ -38,10 +38,12 @@ class Gplay:
self.ca = pca
self.window = None
self.players = []
+ self.playing = False
self.nextMovie()
def nextMovie(self):
if ( len(self.players) > 0 ):
+ self.playing = False
self.getPlayer().set_property("video-sink", None)
self.getPlayer().get_bus().disconnect(self.SYNC_ID)
self.getPlayer().get_bus().remove_signal_watch()
@@ -68,26 +70,38 @@ class Gplay:
def setLocation(self, location):
if (self.getPlayer().get_property('uri') == location):
- evt = gst.event_new_seek(1.0, gst.FORMAT_TIME, gst.SEEK_FLAG_FLUSH | gst.SEEK_FLAG_ACCURATE, gst.SEEK_TYPE_SET, gst.SECOND*0, gst.SEEK_TYPE_NONE, 0)
- res = self.getPlayer().send_event(evt)
- if res:
- self.getPlayer().set_new_stream_time(0L)
+ self.seek(gst.SECOND*0)
return
self.getPlayer().set_state(gst.STATE_READY)
self.getPlayer().set_property('uri', location)
self.play()
+
+ def seek(self, location):
+ event = gst.event_new_seek(1.0, gst.FORMAT_TIME, gst.SEEK_FLAG_FLUSH | gst.SEEK_FLAG_ACCURATE, gst.SEEK_TYPE_SET, location, gst.SEEK_TYPE_NONE, 0)
+ res = self.player.send_event(event)
+ if res:
+ self.player.set_new_stream_time(0L)
+
def pause(self):
+ self.playing = False
self.getPlayer().set_state(gst.STATE_PAUSED)
def play(self):
+ self.playing = True
self.getPlayer().set_state(gst.STATE_PLAYING)
def stop(self):
+ self.playing = False
self.getPlayer().set_state(gst.STATE_NULL)
self.nextMovie()
+ def get_state(self, timeout=1):
+ return self.getPlayer().get_state(timeout=timeout)
+
+ def is_playing(self):
+ return self.playing
class PlayVideoWindow(gtk.Window):
def __init__(self):