In the destroy we first remove all listeners and then we clean up the
memory. Move the memory cleanup to a separate function to make it easier
to refcount later.
af3ad7bf9f set the fd and MAPPABLE
flag on buffer data when it was allocated inline in shared mem, even
for MemPtr data. In the client-node however we don't pass along this
fd and so we also should not pass the MAPPABLE flag for MemPtr data.
This fixes an issue in older clients that blindly try to map the fd when
the MAPPABLE flag is set, even when there is no fd (and there is already
a data pointer).
Fixes#5003
When the dynamic data flag is set on the buffer data, it means the
consumer can deal with any data pointer set on the buffer and we can
simply pass the one from upstream to downstream. If the flag is not set,
we need to copy the buffer data.
See #5009
When we recalculate the headroom we also update the latency in frames.
We should express this latency in the graph rate. This is usually the
rate that is suggested in the target_rate but when we are forcing our
own rate (mostly when using IRQ or when in DSD/IEC mode) we should
ignore that value and use our own rate that we will force instead.
Fixes#4977
This introduces the following changes:
* Using the time at which the command was received
* Preparation for the unsollicited notifications
* New folder holding all the AECP_AEM commands/responses and utils
* Improving the code-reusability by using common handlers
This introduces the following changes:
* Using the time at which the command was received
* Preparation for the unsollicited notifications
* New folder holding all the AECP_AEM commands/responses and utils
* Improving the code-reusability by using common handlers
Add feedback and feedforward controls to the delay. This makes it
possible to make comb and allpass filters with the delay to build
custom reverb effects.
built:
* es_builder: create stream with state variables and counters
* acmp: do not use the stream list, go through the descriptor to find
the index
* stream: do not store redundant information such as the index and
descriptor
* internal: removing the stream server and function associated to it
module-avb: internal, stream: removing server_find_stream
Otherwise we might end up with partial channels when code doesn't
check the unpositioned flag. It's better to set everything to unknown
when there is a mismatch between channel count and layout.