The state initialization for the batch implementation of the FIR filter works, but the normal intended use isn't to reset the internal state to the initial state every time a chunk of data is processed, it should maintain state between data chunks for all but the very first chunk in which it should initialize state to whatever the user desires.
Basically, if you look at the time domain plot of each output chunk you'll see the filter response as it gets 'charged' because the internal buffer is reset to 0 (by default anyways.)
The state initialization for the batch implementation of the FIR filter works, but the normal intended use isn't to reset the internal state to the initial state every time a chunk of data is processed, it should maintain state between data chunks for all but the very first chunk in which it should initialize state to whatever the user desires.
Basically, if you look at the time domain plot of each output chunk you'll see the filter response as it gets 'charged' because the internal buffer is reset to 0 (by default anyways.)