jack and goom plugins together, possible? (erroneous pipeline, could not connect...)

Wim Taymans wim.taymans at gmail.com
Thu Feb 24 01:57:31 PST 2011


On 02/24/2011 10:53 AM, Douglas McClendon wrote:
> 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

try

   gst-launch -v jackaudiosrc ! audioconvert ! goom2k1 ! 
ffmpegcolorspace ! xvimagesink

You can see that you need to convert when using gst-inspect on 
jackaudiosrc and goom2k1
because jack outputs float samples and goom only accepts integer samples.

Wim


>
> 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
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



More information about the gstreamer-devel mailing list