I was playing a bit with the new alsa driver, and I found that for my first hw device, it crashed like this:
``` stefan@quadcorn:~/src/3rd-tree/ghbeast (master *% u=)$ LANG=C beast beast: unable to acquire soft realtime priority: Permission denied beast-0.15.0: bse/bseengineutils.cc:632: bse_engine_const_zeros: assertion failed: smaller_than_BSE_STREAM_MAX_VALUES <= (1024 ) beast-0.15.0: pcm.c:1424: snd_pcm_writei: Assertion `size == 0 || buffer' failed. ``` The problem is that bseengineutils.cc imposes a limit on how big a const zeros float block can be, and on my device, the amount of zero data for the retrigger was larger than 1024 floats, so the driver ended up trying to write a null pointer. I fixed this crash, and I think I also found another mistake here: n_channels was not taken into account by your original code (buffer_length / 2 would be wrong), so in the fixed version it uses n_channels * sizeof (int16) bytes per frame. You can view, comment on, or merge this pull request online at: https://github.com/tim-janik/beast/pull/127 -- Commit Summary -- * BSE: driver-alsa.cc: fix crash in retrigger code -- File Changes -- M bse/driver-alsa.cc (3) -- Patch Links -- https://github.com/tim-janik/beast/pull/127.patch https://github.com/tim-janik/beast/pull/127.diff -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/tim-janik/beast/pull/127
_______________________________________________ beast mailing list [email protected] https://mail.gnome.org/mailman/listinfo/beast
