diff --git a/ChangeLog b/ChangeLog index 17ec4dd686..4ff0b14ea5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2004-03-18 Thomas Vander Stichele + + * examples/gst/player.py: + update for new API. Use Enter to pause pipeline. + * examples/gst/vorbisplay.py: + update for new API + 2004-03-18 Thomas Vander Stichele * configure.ac: diff --git a/examples/gst/player.py b/examples/gst/player.py index 08b7bf60fc..eccbd24214 100755 --- a/examples/gst/player.py +++ b/examples/gst/player.py @@ -1,3 +1,4 @@ +#!/usr/bin/env python import os import sys @@ -5,31 +6,59 @@ import gst def found_tags(element, source, tags): for tag in tags.keys(): - print gst.tag_get_nick(tag), tags[tag] + print "%s: %s" % (gst.tag_get_nick(tag), tags[tag]) + +#def error(source, error, debug): + +def deep_notify(*args): + pass + +def error(*args): + print args def playfile(filename): bin = gst.Pipeline('player') + bin.connect('deep-notify', deep_notify) + bin.connect('error', error) source = gst.Element('filesrc', 'src') source.set_property('location', filename) spider = gst.Element('spider', 'spider') spider.connect('found-tag', found_tags) - + sink = gst.Element('osssink', 'sink') + #sink.set_property('release-device', 1) bin.add_many(source, spider, sink) - gst.element_link_many(source, spider, sink) + if not gst.element_link_many(source, spider, sink): + print "ERROR: could not link" + sys.exit (1) print 'Playing:', os.path.basename(filename) - bin.set_state(gst.STATE_PLAYING) + if not bin.set_state(gst.STATE_PLAYING): + print "ERROR: could not set bin to playing" + sys.exit (1) - try: - while bin.iterate(): - pass - except KeyboardInterrupt: - pass - + playing = 1 + while playing: + try: + if not bin.iterate(): + playing = 0 + except KeyboardInterrupt: + if not bin.set_state(gst.STATE_PAUSED): + print "ERROR: could not set bin to paused" + sys.exit (1) + print "Paused. Press Enter to go back to playing." + try: + sys.stdin.readline () + if not bin.set_state(gst.STATE_PLAYING): + print "ERROR: could not set bin to playing" + sys.exit (1) + print "Playing." + except KeyboardInterrupt: + playing = 0 + print "DONE playing" bin.set_state(gst.STATE_NULL) def main(args): diff --git a/examples/gst/vorbisplay.py b/examples/gst/vorbisplay.py index acb9dd0e30..577a66c774 100755 --- a/examples/gst/vorbisplay.py +++ b/examples/gst/vorbisplay.py @@ -22,7 +22,7 @@ # import sys -from gstreamer import * +from gst import * def gst_props_debug_entry(entry, level=0): name = entry.get_name()