View Source Membrane.File.Source (Membrane File plugin v0.17.0)

Element that reads chunks of data from given file and sends them as buffers through the output pad. May also read from standard input by setting location to :stdin.

Can work in two modes, determined by the seekable? option. Seekable mode is not supported when reading from standard input.

Element options

Passed via struct Membrane.File.Source.t/0

  • location

    Path.t() | :stdin

    Required
    Path to the file or :stdin

  • chunk_size

    pos_integer()

    Default value: 2048
    Size of chunks being read

  • seekable?

    boolean()

    Default value: false
    With seekable?: false, the source will start reading data from the file exactly the moment it starts playing and will read it till the end of file, setting the end_of_stream action on the :output pad when the reading is done. With seekable?: true, the process of reading is driven by receiving Membrane.File.SeekSourceEvent events. The source working in seekable?: true mode won't send any data before that event is received. For more information about how to steer reading in seekable?: true mode, see: Membrane.File.SeekSourceEvent.

Pads

:output

Accepted formats:

%RemoteStream{type: :bytestream}
Direction::output
Availability::always
Flow control::manual
Demand unit:nil

Summary

Types

t()

Struct containing options for Membrane.File.Source

Functions

Returns description of options available for this module

Types

@type t() :: %Membrane.File.Source{
  chunk_size: pos_integer(),
  location: Path.t() | :stdin,
  seekable?: boolean()
}

Struct containing options for Membrane.File.Source

Functions

@spec options() :: keyword()

Returns description of options available for this module