[gstreamer-bugs] [Bug 341667] New: XML pipeline output incorrect, or gst-xmllaunch broken
GStreamer (bugzilla.gnome.org)
bugzilla-daemon at bugzilla.gnome.org
Sat May 13 10:37:45 PDT 2006
Do not reply to this via email (we are currently unable to handle email
responses and they get discarded). You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=341667
GStreamer | don't know | Ver: HEAD CVS
Summary: XML pipeline output incorrect, or gst-xmllaunch broken
Product: GStreamer
Version: HEAD CVS
Platform: Other
OS/Version: All
Status: UNCONFIRMED
Severity: major
Priority: Normal
Component: don't know
AssignedTo: gstreamer-bugs at lists.sourceforge.net
ReportedBy: gnome at jonobacon.org
QAContact: gstreamer-bugs at lists.sourceforge.net
GNOME version: 2.13/2.14
GNOME milestone: Unspecified
Please describe the problem:
While hacking on some code, we figured it would be useful to dump a pipeline
into XML and to then run that XML through gst-xmllaunch. This provides a nice
way of checking if the pipeline works independent of the rest of the
application
code.
To test this I used the following script:
#!/usr/bin/python
import pygst
pygst.require("0.10")
import gst
import gtk
class Main:
def __init__(self):
self.pipe = "audiotestsrc ! alsasink"
self.bin = gst.parse_launch(self.pipe)
gst.xml_write_file(self.bin, open("sinesrc.xml", "w"))
self.bin.set_state(gst.STATE_PLAYING)
start=Main()
gtk.main()
The sinesrc.xml file that it spits out is this:
<?xml version="1.0"?>
<gstreamer xmlns:gst="http://gstreamer.net/gst-core/1.0/">
<gst:element>
<gst:name>pipeline0</gst:name>
<gst:type>pipeline</gst:type>
<gst:param>
<gst:name>name</gst:name>
<gst:value>pipeline0</gst:value>
</gst:param>
<gst:param>
<gst:name>delay</gst:name>
<gst:value>0</gst:value>
</gst:param>
<gst:param>
<gst:name>auto-flush-bus</gst:name>
<gst:value>TRUE</gst:value>
</gst:param>
<gst:children>
<gst:element>
<gst:name>alsasink0</gst:name>
<gst:type>alsasink</gst:type>
<gst:param>
<gst:name>name</gst:name>
<gst:value>alsasink0</gst:value>
</gst:param>
<gst:param>
<gst:name>preroll-queue-len</gst:name>
<gst:value>0</gst:value>
</gst:param>
<gst:param>
<gst:name>sync</gst:name>
<gst:value>TRUE</gst:value>
</gst:param>
<gst:param>
<gst:name>max-lateness</gst:name>
<gst:value>-1</gst:value>
</gst:param>
<gst:param>
<gst:name>qos</gst:name>
<gst:value>FALSE</gst:value>
</gst:param>
<gst:param>
<gst:name>buffer-time</gst:name>
<gst:value>200000</gst:value>
</gst:param>
<gst:param>
<gst:name>latency-time</gst:name>
<gst:value>10000</gst:value>
</gst:param>
<gst:param>
<gst:name>provide-clock</gst:name>
<gst:value>TRUE</gst:value>
</gst:param>
<gst:param>
<gst:name>device</gst:name>
<gst:value>default</gst:value>
</gst:param>
<gst:param>
<gst:name>device-name</gst:name>
<gst:value/>
</gst:param>
<gst:pad>
<gst:name>sink</gst:name>
<gst:peer>audiotestsrc0.src</gst:peer>
</gst:pad>
</gst:element>
<gst:element>
<gst:name>audiotestsrc0</gst:name>
<gst:type>audiotestsrc</gst:type>
<gst:param>
<gst:name>name</gst:name>
<gst:value>audiotestsrc0</gst:value>
</gst:param>
<gst:param>
<gst:name>blocksize</gst:name>
<gst:value>4096</gst:value>
</gst:param>
<gst:param>
<gst:name>num-buffers</gst:name>
<gst:value>-1</gst:value>
</gst:param>
<gst:param>
<gst:name>typefind</gst:name>
<gst:value>FALSE</gst:value>
</gst:param>
<gst:param>
<gst:name>samplesperbuffer</gst:name>
<gst:value>1024</gst:value>
</gst:param>
<gst:param>
<gst:name>wave</gst:name>
<gst:value>0</gst:value>
</gst:param>
<gst:param>
<gst:name>freq</gst:name>
<gst:value>440.000000</gst:value>
</gst:param>
<gst:param>
<gst:name>volume</gst:name>
<gst:value>1.000000</gst:value>
</gst:param>
<gst:param>
<gst:name>is-live</gst:name>
<gst:value>FALSE</gst:value>
</gst:param>
<gst:param>
<gst:name>timestamp-offset</gst:name>
<gst:value>0</gst:value>
</gst:param>
<gst:pad>
<gst:name>src</gst:name>
<gst:peer>alsasink0.sink</gst:peer>
</gst:pad>
</gst:element>
</gst:children>
</gst:element>
</gstreamer>
When I feed this file into gst-xmllaunch-0.10 it doesnt work, and this is the
output:
jono at forge:~/pythontests$ gst-xmllaunch-0.10 sinesrc.xml
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
ERROR: from element /pipeline0/audiotestsrc0: Internal data flow error.
Additional debug info:
gstbasesrc.c(1479): gst_base_src_loop (): /pipeline0/audiotestsrc0:
streaming task paused, reason not-linked
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
FREEING pipeline ...
There is no audio.
Steps to reproduce:
1. Follow the above steps.
2.
3.
Actual results:
The pipeline doesn't work.
Expected results:
The pipeline is executed correctly.
Does this happen every time?
Tested with two different pipelines that I know work.
Other information:
--
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the Gstreamer-bugs
mailing list