Membrane Element: File v0.2.2 Membrane.Element.File.Sink.Multi View Source

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 file000, file001, ...

The event type, which starts writing to a next file, is passed as atom in split_on option. It defaults to :split.

Link to this section Summary

Types

t()

Struct containing options for Membrane.Element.File.Sink.Multi

Functions

Returns pads specification for Membrane.Element.File.Sink.Multi

Returns description of options available for this module

Link to this section Types

Link to this type

t() View Source
t() :: %Membrane.Element.File.Sink.Multi{
  location: String.t(),
  extension: String.t(),
  naming_fun: (String.t(), non_neg_integer(), String.t() -> String.t()),
  split_event: any()
}

Struct containing options for Membrane.Element.File.Sink.Multi

  • split_event - Event causing switching to a new file

    Defaults to Membrane.Element.File.SplitEvent

  • naming_fun - 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, ...

    Defaults to &Membrane.Element.File.Sink.Multi.default_naming_fun/3

  • extension - Extension of the file, should be preceeded with dot (.). It is passed to the naming function.

    Defaults to ""

  • location - Base path to the file, will be passed to the naming function

Link to this section Functions

Link to this function

default_naming_fun(path, i, ext) View Source

Returns pads specification for Membrane.Element.File.Sink.Multi

They are the following:

  • Pad :input

    • availability: :always
    • caps: :any
    • demand unit: :buffers
    • direction: :input
    • mode: :pull

Returns description of options available for this module