Ivf.Writer (ivf v0.2.0)

Link to this section Summary

Functions

Append a single frame to the file.

Append multiple frames to the file.

Close the file and adjust the frame count in the file header.

Initialize a new Ivf Writer.

Link to this section Types

@type packet() :: [byte(), ...] | binary()
Link to this type

packet_with_timestamp()

@type packet_with_timestamp() :: {non_neg_integer(), packet()}
@type writer() :: %Ivf.Writer{file: term(), frame_count: term(), props: term()}

Link to this section Functions

Link to this function

append(writer, packet)

@spec append(writer(), packet() | packet_with_timestamp()) :: %Ivf.Writer{
  file: term(),
  frame_count: term(),
  props: term()
}

Append a single frame to the file.

Link to this function

append_all(writer, packets)

@spec append_all(writer(), [packet() | packet_with_timestamp(), ...]) :: writer()

Append multiple frames to the file.

@spec close(writer()) :: :ok | {:error, atom()}

Close the file and adjust the frame count in the file header.

Link to this function

init(file, props)

@spec init(pid(), %Ivf.Props{
  codec: term(),
  frame_count: term(),
  height: term(),
  time_base: term(),
  width: term()
}) :: %Ivf.Writer{file: term(), frame_count: term(), props: term()}

Initialize a new Ivf Writer.