I am having trouble with several bugs in my gstreamer application and
I believe it is a result of using the libraries in a way that they are
just not meant to be used. The general idea of what I want to do if
fairly straight forward. I want to have a directory of sound files
which I pick from randomly and sample from them over and over. So
basically I'll pick a random amount of time to sleep, then pick a
random file, pick a random starting point within the file, and a
random amount of time to play for. Once the clip is done, I pick
another in the same way.
I am currently using gnonlin for this but am having a lot of trouble.
I don't want to get into the technical details because I have a few
times on this mailing list and it's not getting me very far. I think
mostly because gnonlin is designed to set up a time line, and then
play it. Adding things in the middle of playing is confusing it.
I tried to perform this effect with a basic adder element. I used
gobject.timeout_add to add a filesrc | audioconvert to link to a new
pad on the adder in the middle of another file playing. What happened
is the whole adder stopped sending out data and EOS was sent. I think
also adder works in this way that does not allow dynamic playing.
Are there any elements in gstreamer that work in this dynamic way? I
think I might have to jump ship and use a typical sound library that
permits playing of sound files without a pipeline. It seems the
general philosophy of gstreamer is to setup a stream, play it, and
then take it down. I just want to check to make sure there's not
something obvious that I'm missing before I move on and rewrite my