defmodule Membrane.ERTMP.Native do @moduledoc false use Rustler, otp_app: :membrane_ertmp_plugin, crate: :ertmp @type client() :: reference() @spec connect(String.t(), 1..65_535, String.t(), String.t(), boolean()) :: client() | {:error, String.t()} def connect(_host, _port, _app, _stream_key, _use_tls), do: :erlang.nif_error(:nif_not_loaded) @spec send_video_config(client(), non_neg_integer(), atom(), binary()) :: :ok | {:error, String.t()} def send_video_config(_client, _track_id, _codec, _data), do: :erlang.nif_error(:nif_not_loaded) @spec send_video( client(), non_neg_integer(), atom(), non_neg_integer(), non_neg_integer(), binary(), boolean() ) :: :ok | {:error, String.t()} def send_video(_client, _track_id, _codec, _pts_ns, _dts_ns, _data, _is_keyframe), do: :erlang.nif_error(:nif_not_loaded) @spec send_audio_config(client(), non_neg_integer(), atom(), binary(), atom()) :: :ok | {:error, String.t()} def send_audio_config(_client, _track_id, _codec, _data, _channels), do: :erlang.nif_error(:nif_not_loaded) @spec send_audio(client(), non_neg_integer(), atom(), non_neg_integer(), binary()) :: :ok | {:error, String.t()} def send_audio(_client, _track_id, _codec, _pts_ns, _data), do: :erlang.nif_error(:nif_not_loaded) end