lib/membrane_fake_plugin/sink_buffers.ex
defmodule Membrane.Fake.Sink.Buffers do
@moduledoc """
Fake sink that ignores coming data. It makes demands in buffers.
"""
use Membrane.Sink
def_input_pad :input, demand_unit: :buffers, accepted_format: _any
@impl true
def handle_playing(_ctx, state) do
{[demand: :input], state}
end
@impl true
def handle_write_list(:input, buffers, _ctx, state) do
{[demand: {:input, length(buffers)}], state}
end
end