Threading in callbacks

moritz.vieli moritz.vieli at gmail.com
Sun Dec 30 23:47:59 UTC 2018


Hi Tim

Thanks a lot for your fast reply!

The pipe looks like this:
[uridecodebin] -> [audioconvert] -|
[uridecodebin] -> [audioconvert] -> [audiomixer] -> [queue] -> [alsasink]
[uridecodebin] -> [audioconvert] -|
...
[filesrc] -> [midiparse] -> [queue] -> [appsink]
[filesrc] -> [midiparse] -> [queue] -> [appsink]
...

The AppSink already produces the errors with this code:
/Sample sample = element.pullSample();
logger.info(sample.getBuffer().map(false),
midiCompositionFile.getMidiRoutingList());
sample.dispose();
return FlowReturn.OK;/

There is no problem, if the AppSink does not read the buffers from the
samples:
/Sample sample = element.pullSample();
sample.dispose();
return FlowReturn.OK;/

The more MIDI events there are, the more ALSA xruns I get. However, already
small amounts of MIDI events, like e.g. 5 per second already introduce the
problem. But some events may be thrown at exactly the same time. Maybe this
is a problem?

Best,
Moritz





--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/


More information about the gstreamer-devel mailing list