<div dir="ltr"><div>Hi, I'd appreciate some help with asiosink.</div><div><br></div>Issue:<div>I'm trying to figure out how to produce a smooth playback on asiosink. Asiosink produces popping noise while playing back from audiotestsrc. Depending on buffer-size. Larger buffer sizes cause the CLI output to lag significantly.<div><br></div><div>Explanation:</div><div><br></div></div><div>gst-launch-1.0.exe audiotestsrc ! audio/x-raw, samplerate=48000, channels=2 ! audioconvert ! queue ! asiosink device-clsid={CLID here} output-channels=0,1</div><div><br></div><div>The ASIO device I'm currently using is ASIO4ALL. The pipeline, with default buffer-size settings produces a distorted noise. Depending on buffer-size, there are popping sounds in the output. At smaller values, the pops are frequent, at larger values infrequent. Buffer sizes in a "magic" range around 1024 sound OK, without any pops, though I haven't tested it by recording and analysing the waveform. However, there's also a lag - at buffer sizes of a few 1000 (e.g. 16384), the pipeline freezes for a while AFTER it's started playing (the clock appears, freezes at 0). Even at 1024, the clock doesn't always update each second, but jumps sometimes.</div><div><br></div><div>My guess is that the command-line output lag at larger buffer sizes and how the frequency of the popping sound depends on buffer size suggest that there's some kind of (performance?) issue with filling the buffer - each time the buffer needs to be refilled, the audio hardware doesn't get data or something like that, which produces a pop.</div><div><br></div><div>Right now I don't have access to a "real" ASIO device so I'm using ASIO4ALL for testing, which might not be ideal, but it works well with the sounddevice Python package that I've been using so far for ASIO playback, so I'm assuming the problem is somewhere in gstreamer.</div><div><br></div><div>My question is, how to set up asiosink for a smooth, pop-free, lag-free playback? I've tried to change all sorts of settings in ASIO4ALL, but none of those seem to have mattered. I've also tried to change some other parameters in asiosink, such as blocksize, but haven't gotten any smarter, and there isn't much documentation available.</div><div><br></div><div>I'm attaching 2 logs taken with GST_DEBUG=asio*:8, one for buffer size 1024 and another for 512. The latter one has frequent pops, but that doesn't seem to appear in the logs. Before anyone asks, the pops come even with no debug logging set.</div></div>