For playback, the decoder is expected to deal with such situations on
its
own and find the block boundaries, meaning at the application level
we can
just push bytes down to the decoder without worrying.
But is this restriction guaranteed to be applicable to all possible hardwares in future? What happens if you'll get a hardware that doesn't support the byte-unit push for the playback? That said, I see no obvious reason to give a restriction coupled with the stream direction.
Power consumption will be more optimized if we push bytes without looking for block boundaries on the host. But if your hardware requires parsing on the host, there's no impact on the API. You'd just write block-by-block and specify the block length instead of fixed-size value. -Pierre