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

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

    Path.t()

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

  • extension

    String.t()

    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

    Membrane.Event.t()

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

Pads

:input

Availability:always
Caps:any
Demand unit:buffers
Direction:input
Mode:pull
Name:input

Link to this section Summary

Types

t()

Struct containing options for Membrane.File.Sink.Multi

Functions

Returns pads descriptions for Membrane.File.Sink.Multi

Returns description of options available for this module

Link to this section Types

Specs

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

Specs

default_naming_fun(Path.t(), non_neg_integer(), String.t()) :: Path.t()

Specs

membrane_pads() :: [{Membrane.Pad.name_t(), Membrane.Pad.description_t()}]

Returns pads descriptions for Membrane.File.Sink.Multi

Specs

options() :: keyword()

Returns description of options available for this module