• David Reid's avatar
    Update to node processing. · 7a8ebd7f
    David Reid authored
    Previously, processing a node would involve a temporary buffer
    allocated on the stack. Because this was fixed size, it would result in
    processing being sub-divided into chunks in order to avoid overflowing
    that buffer. This becomes an issue when a node needs to have a known
    processing size. An example might be some kind of effect that requires
    processing be in powers of two.
    
    With this commit, the `processingSizeInFrames` variable in
    `ma_node_graph_config` can be used to make it so processing always
    happens in fixed sized chunks. In this situations, it's recommended you
    always call `ma_node_graph_read_pcm_frames()` with a frame count of a
    multiple of `processingSizeInFrames`.
    
    The allocation strategy used here is not optimal and will be improved
    in future commits. It currently allocates a buffer per-node, but since
    the data contained within it is transient in nature, it should be
    possible to use a global fixed sized stack that supports allocating a
    variable amount of space within the stack buffer.
    7a8ebd7f
miniaudio.h 3.81 MB
The source could not be displayed because it is larger than 1 MB. You can load it anyway or download it instead.