Oleksandr Andrushchenko wrote:
On 08/07/2017 01:27 PM, Clemens Ladisch wrote:
You have to implement period interrupts (and the .pointer callback) based on when the samples are actually moved from/to the backend.
Do you think I can implement this in a slightly different way, without a timer at all, by updating substream->runtime->hw_ptr_base explicitly in the frontend driver?
As far as I am aware, hw_ptr_base is an internal field that drivers are not supposed to change.
Just use your own variable, and return it from the .pointer callback.
So, that way, whenever I get an ack/response from the backend that it has successfully played the buffer
That response should come after every period.
How does that interface work? Is it possible to change the period size, or at least to detect what it is?
Regards, Clemens