tap property

Stream<PcmFrame> Function(AudioEffect filter, {required TapSide side}) tap
final

Per-filter PCM tap — emits PcmFrames captured at the chosen TapSide of filter's slot in the af chain. Use TapSide.pre for "input signal" overlays, TapSide.post for "output signal" overlays in a per-filter editor.

The tap is lazy: the engine activates the matching hook in the audio chain only while at least one listener is attached, and tears down on the last cancel. Multiple subscribers to the same (filter, side) share a single underlying tap.

filter is one of the typed AudioEffect values — the same 86 filters surfaced as *Settings fields on AudioEffects, so every reachable filter is named at compile time. Live streams without an active af chain emit no frames; the stream is silent (no error) when the loaded libmpv does not expose the filter-tap property.

Implementation

final Stream<PcmFrame> Function(
  AudioEffect filter, {
  required TapSide side,
}) tap;