[gst-devel] Re: [gst-cvs] richardb gst-plugins: gst-plugins/gst/synaesthesia/

Richard Boulton richard at tartarus.org
Fri Mar 1 07:04:46 CET 2002


On Fri, 2002-03-01 at 14:31, Richard Boulton wrote:
> Log message:
> Initial rough version of new synaesthesia plugin.
> Works like goom: reads audio in, and outputs raw video.
> It currently works for a short time, and then freezes: I've no idea why.
> But at least it works a little. ;-)

I've looked into this a little.  The pipeline I was using was:

gst-launch filesrc \
  location="file.ogg" ! vorbisdec ! tee silent=true \
  'tee1.src%d!' { queue ! synaesthesia ! colorspace ! xvideosink } \
  'tee1.src%d!' osssink

The result is that the music plays, with visualisation, for about 20
seconds, and then stops

it seems that the problem is that the queue is gettting full, and
blocking when more data is ready to be added to it:  if I turn full
debug messages on, I get:
DEBUG( 5008: 0)gst_queue_chain:300: [queue1] locking t:1024
DEBUG( 5008: 0)gst_queue_chain:302: [queue1] locked t:1024
DEBUG( 5008: 0)gst_queue_chain:320: [queue1] adding buffer 0x811fd08 of
size 512
DEBUG( 5008: 0)gst_queue_chain:358: [queue1] pre full wait,
level:100/100
DEBUG( 5008: 0)gst_queue_chain:385: [queue1] waiting for not_full,
level:100/100


I've tried a few other things:

  I tried with "goom" and "chart" instead of synaesthesia: the behaviour
  was the same.

  I tried without the osssink (but keeping the tee there).  The
  visualisation played the entire file without any problem.

  I tried with two visualisations (synaesthesia going to xvideosink,
  goom going to sdlvideosink) - this worked fine.  (And looked very
  pretty).

  I tried with two visualisations, and an osssink.  This failed:
  blocking after 20 seconds, as with a single visualisation.

I'm guessing that it might be something to do with timestamps, but
really I've no clue and no time to investigate...

-- 
Richard




More information about the gstreamer-devel mailing list