mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 12:11:13 +00:00
updates for new API
Original commit message from CVS: updates for new API
This commit is contained in:
parent
afb7288015
commit
1fa929dc79
3 changed files with 47 additions and 11 deletions
|
@ -1,3 +1,10 @@
|
|||
2004-03-18 Thomas Vander Stichele <thomas at apestaart dot org>
|
||||
|
||||
* 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 <thomas at apestaart dot org>
|
||||
|
||||
* configure.ac:
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
#
|
||||
|
||||
import sys
|
||||
from gstreamer import *
|
||||
from gst import *
|
||||
|
||||
def gst_props_debug_entry(entry, level=0):
|
||||
name = entry.get_name()
|
||||
|
|
Loading…
Reference in a new issue