How to get chromaprint with tee working with gst-launch

Hi! I’m trying to figure out how to get chromaprint working with gst-launch.

This is a working attempt:

gst-launch-1.0 -m audiotestsrc ! chromaprint duration=1 ! fakesink audiotestsrc ! audioconvert ! autoaudiosink

But in this example I used two sources. I tried to use tee instead:

 gst-launch-1.0 -m audiotestsrc ! audioconvert ! tee name=t ! queue ! chromaprint duration=1 ! fakesink t. ! queue ! autoaudiosink
 gst-launch-1.0 -m audiotestsrc ! audioconvert ! tee name=t ! queue ! autoaudiosink t. ! queue ! chromaprint duration=1 ! fakesink

I don’t see the fingerprints in either case… How can I do it?

I see that it works with tee, but it takes some seconds. However the first line that I posted gives the fingerprint instantly.

In the first pipeline the sink is fakesink, which by default processes data as fast as possible without synchronizing on the clock. That’s why you see the chromaprint notified very quickly.

If you use fakeaudiosink or fakesink sync=1 you should see a similar behavior as in the pipelines making use of tee and autoaudiosink.

Also if you tee to one fakesink and any other sink synchronizing on the clock, I think the fakesink will then implicitely gets synchronized too.