View Source Membrane.File.Sink.Multi (Membrane File plugin v0.13.1)

Element that writes buffers to a set of files. File is switched on event.

Files are named according to naming_fun passed in options. This function receives sequential number of file and should return string. It defaults to path/to/file0.ext, path/to/file1.ext, ...

The event type, which starts writing to a next file is passed by split_event option. It defaults to Membrane.File.SplitEvent.


Element options

Passed via struct Membrane.File.Sink.Multi.t/0

  • location


    Base path to the file, will be passed to the naming function

  • extension


    Default value: ""
    Extension of the file, should be preceeded with dot (.). It is passed to the naming function.

  • naming_fun

    (Path.t(), non_neg_integer, String.t() -> Path.t())

    Default value: &Membrane.File.Sink.Multi.default_naming_fun/3
    Function accepting base path, sequential number and file extension, and returning file path as a string. Default one generates path/to/file0.ext, path/to/file1.ext, ...

  • split_event


    Default value: Membrane.File.SplitEvent
    Event causing switching to a new file





Accepted formats


Availability :always
Demand mode :manual
Demand unit :buffers
Direction :input
Mode :pull
Name :input

Link to this section Summary



Struct containing options for Membrane.File.Sink.Multi


Returns description of options available for this module

Link to this section Types

@type t() :: %Membrane.File.Sink.Multi{
  extension: String.t(),
  location: Path.t(),
  naming_fun: (Path.t(), non_neg_integer(), String.t() -> Path.t()),
  split_event: Membrane.Event.t()

Struct containing options for Membrane.File.Sink.Multi

Link to this section Functions

Link to this function

default_naming_fun(path, i, ext)

View Source
@spec default_naming_fun(Path.t(), non_neg_integer(), String.t()) :: Path.t()
@spec options() :: keyword()

Returns description of options available for this module