Stop/Restart pipeline

Sebastian de Castelberg sebu at
Fri Nov 4 02:21:17 PDT 2011

Hi list,

the following simple alsa to alsa loopback pipeline can be
stopped/restarted by sending the appropriate signals USR1/USR2

  gst-launch alsasrc ! alsasink
  kill -SIGUSR2 $PID
  # Caught SIGUSR2 - Stop request.
  kill -SIGUSR1 $PID
  # Caught SIGUSR1 - Play request.
  # New clock: GstAudioSrcClock

When I try the same with this pipe (channel swapping), gstreamer quits
as soon as the Play request is sent:

  gst-launch alsasrc ! queue ! deinterleave name=d    \
        interleave name=i ! alsasink                             \
        d.src0 ! queue ! i.sink1                                    \
        d.src1 ! queue ! audioconvert ! i.sink0


  kill -SIGUSR2 $PID
  kill -SIGUSR1 $PID

As soon as the SIGUSR1 signal is sent, the pipeline stops with the
following message:

  Caught SIGUSR2 - Stop request.
  Caught SIGUSR1 - Play request.
  New clock: GstAudioSrcClock
  ERROR: from element /GstPipeline:pipeline0/GstAlsaSrc:alsasrc0:
Internal data flow error.
  Additional debug info:
  gstbasesrc.c(2550): gst_base_src_loop ():
  streaming task paused, reason not-linked (-1)
  Execution ended after 92610870836 ns.
  Setting pipeline to PAUSED ...
  Setting pipeline to READY ...
  Setting pipeline to NULL ...
  Freeing pipeline ...

Any suggestions on how to stop and resume this pipe?
Thanks for your help


sebastian de castelberg | lindenbachstrasse 47 | 8006 zuerich | +41789130580 | sdecastelberg [twitter/skype/fb/github/linkedin/]

More information about the gstreamer-devel mailing list