mod-audio / mod-distortion

Analog distortion emulation lv2 plugins
GNU General Public License v3.0
21 stars 5 forks source link

Segmentation fault on sample_count larger than 256 samples. #1

Open shanipribadi opened 10 years ago

shanipribadi commented 10 years ago

The current implementation of DS1 uses a hardcoded TAMANHO_DO_BUFFER of size 2048, and a total 8x upsampling (2x on the first stage, and 4x on the second stage). This causes a segfault on sample_count larger than 256 samples. I was using jalv.gtk with jack_bufsize=1024 samples (that translates to sample_count=1024 samples). After 8x upsampling the buffer needs to have 8192 samples in my case.

A quick fix is increasing the hardcoded buffer size. But a proper fix would be to use lv2 buf-size extension and the property bufsz:maxBlockLength to determine the buffer size.

Also it would be better that the buffer size for each stage is calculated depending on the amount of upsampling used for each stage.

mrcouts commented 10 years ago

Hey!

I have just fixed this bug. Now you can use any buffer size you want. Thank you very much for your analisys. I'm sorry for fixing this bug just today.

greets

André

2014-01-25 10:38 GMT-02:00 Shani Pribadi notifications@github.com:

The current implementation of DS1 uses a hardcoded TAMANHO_DO_BUFFER of size 2048, and a total 8x upsampling (2x on the first stage, and 4x on the second stage). This causes a segfault on sample_count larger than 256 samples. I was using jalv.gtk with jack_bufsize=1024 samples (that translates to sample_count=1024 samples). After 8x upsampling the buffer needs to have 8192 samples in my case.

A quick fix is increasing the hardcoded buffer size. But a proper fix would be to use lv2 buf-size extension and the property bufsz:maxBlockLength to determine the buffer size.

Also it would be better that the buffer size for each stage is calculated depending on the amount of upsampling used for each stage.

Reply to this email directly or view it on GitHubhttps://github.com/portalmod/mod-distortion/issues/1 .