Membrane Element: File v0.2.0 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

  • split_event: Event causing switching to a new file

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