gr-dsd
gr-dsd copied to clipboard
Fixed-length audio buffer should be replaced
The gr-dsd block functions as a derived from gr_sync_decimator, and so is expected to provide exactly one output sample for each six input samples (since the input rate is 48000 and the output rate is 8000). Audio output from DSD is bursty, so sometimes we get more back than we can return in the block's work function. Thus there is a buffer (named "output_buffer") that buffers any excess. Because I was lazy, I made this a fixed-length buffer (80000 bytes long), and there is no overflow checking. There's probably a limit to how far ahead DSD can get, but this needs to be investigated. Or the fixed-length buffer could be replaced with one that expands as needed.