Element for cutting off parts of the stream.
The following setup will preserve one buffer per 10 milliseconds (assuming each buffer lasts caps.duration):
%Membrane.Scissors{
intervals: Stream.iterate(0, & &1 + Membrane.Time.Milliseconds(10)) |> Stream.map(&{&1, 1}),
interval_duration_unit: :buffers,
buffer_duration: fn _buffer, caps -> caps.duration end
}Note that particular codecs may allow the stream to be cut at specific points only or forbid cutting at all.
Add the following line to your deps in mix.exs. Run mix deps.get.
{:membrane_scissors_plugin, "~> 0.8.0"}Copyright 2020, Software Mansion
Licensed under the Apache License, Version 2.0