jack and goom plugins together, possible? (erroneous pipeline, could not connect...)
Douglas McClendon
dmc.lists at cloudsession.com
Thu Feb 24 01:53:57 PST 2011
I would very much like to be able to use gst to launch goom against a
particular jack port (or jack's system out, or even capture would be fine).
For testing purposes, I just launch jack as
'jackd -r -d dummy'
this works for me to launch goom(2k1) with gst against a bogus source
gst-launch -v audiotestsrc ! goom2k1 ! ffmpegcolorspace ! xvimagesink
but when I try what I think is the right thing
gst-launch -v jackaudiosrc ! goom2k1 ! ffmpegcolorspace ! xvimagesink
it gives
WARNING: erroneous pipeline: could not link jackaudiosrc0 to goom2k10
while a base test of jackaudiosrc does appear to work
[sysuser at sci-zyx ~]$ gst-launch -v jackaudiosrc connect=1 !
jackaudiosink connect=1
Setting pipeline to PAUSED ...
/GstPipeline:pipeline0/GstJackAudioSrc:jackaudiosrc0: actual-buffer-time
= 192000
/GstPipeline:pipeline0/GstJackAudioSrc:jackaudiosrc0:
actual-latency-time = 21333
/GstPipeline:pipeline0/GstJackAudioSrc:jackaudiosrc0.GstPad:src: caps =
audio/x-raw-float, endianness=(int)1234
, width=(int)32, rate=(int)48000, channels=(int)2,
channel-positions=(GstAudioChannelPosition)< GST_AUDIO_CHANN
EL_POSITION_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT >
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstAudioSrcClock
/GstPipeline:pipeline0/GstJackAudioSink:jackaudiosink0.GstPad:sink: caps
= audio/x-raw-float, endianness=(int)1
234, width=(int)32, rate=(int)48000, channels=(int)2,
channel-positions=(GstAudioChannelPosition)< GST_AUDIO_CH
ANNEL_POSITION_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT >
-----------------
note that with --gst-debug=3, the failed goom launch gives-
...
...
0:00:00.034788030 15172 0x98a6050 INFO GST_PADS
gstutils.c:1046:gst_pad_check_link: trying to link goom2k10:sink and
jackaudiosrc0:src
0:00:00.034808354 15172 0x98a6050 INFO GST_PADS
gstutils.c:1061:gst_pad_check_link: Src pad goom2k10:sink is not source
pad, failed
0:00:00.034862761 15172 0x98a6050 INFO GST_ELEMENT_PADS
gstutils.c:1209:gst_element_get_compatible_pad:<jackaudiosrc0> Could not
find a compatible pad to link to goom2k10:sink
0:00:00.034896215 15172 0x98a6050 ERROR GST_PIPELINE
./grammar.y:614:gst_parse_perform_link: could not link jackaudiosrc0 to
goom2k10
0:00:00.034988127 15172 0x98a6050 INFO GST_PIPELINE
./grammar.y:568:gst_parse_perform_link: linking goom2k10:(any) to
ffmpegcsp0:(any) (0/0) with caps "(NULL)"
...
...
Anyway, it seems maybe I should take libgoom or libvisual and just write
a jack app that bypasses gst, though perhaps using the gst goom plugin
code as a reference.
I would also like very much to be able to save goom output frames, i.e.
for a highrez post-facto video in addition to live visualization. I
figure worst case I can see where the gst goom plugin is pushing a new
frame, and could save that out. I wonder though if there is some
awesome extension to the gst-launch goom pipeline that could case video
frames to be saved, with audio too?
Thanks for any input and/or solutions, peace...
-dmc
More information about the gstreamer-devel
mailing list