Membrane plugin for merging multiple input streams into a single output.
It can be used for collecting data from multiple inputs and sending it through one output.
It is part of Membrane Multimedia Framework.
The package can be installed by adding membrane_funnel_plugin to your list of dependencies in mix.exs:
def deps do
[
{:membrane_funnel_plugin, "~> 0.9.2"}
]
endPlaying this pipeline should merge two files a.txt and b.txt into file c.txt
defmodule FunnelDemo do
use Membrane.Pipeline
def handle_init(_) do
children = [
a_source: %Membrane.File.Source{location: "a.txt"},
b_source: %Membrane.File.Source{location: "b.txt"},
funnel: Membrane.Funnel,
sink: %Membrane.File.Sink{location: "c.txt"}
]
links = [
link(:a_source) |> to(:funnel),
link(:b_source) |> to(:funnel),
link(:funnel) |> to(:sink)
]
spec = %ParentSpec{children: children, links: links}
{{:ok, spec: spec, playback: :playing}, %{}}
end
endCopyright 2020, Software Mansion
Licensed under the Apache License, Version 2.0