Class virtual Output.output


class virtual output : content_kind:Frame.content_kind -> output_kind:string -> ?name:string -> infallible:bool -> on_start:(unit -> unit) -> on_stop:(unit -> unit) -> Lang.value -> bool -> object .. end
Given abstract start stop and send methods, creates an output. Takes care of pulling the data out of the source, type checkings, maintains a queue of last ten metadata and setups standard Server commands, including start/stop.
Inherits
method stype : Source.source_t
method remaining : int
method output_get_ready : unit
method output : unit
method private get_frame : Frame.t -> unit
method abort_track : unit
val mutable request_start : bool
val mutable request_stop : bool
method is_active : bool
An infallible (normal) output can always stream. Both fallible and infallible outputs may not always be outputting (sending data to the world using #output_send). Outputting can only be done when streaming. The following two methods give those two aspects of the current status, #is_active tells if the source is outputting and #is_ready tells whether it is streaming or can start streaming.
method is_ready : bool
method private add_metadata : Request.metadata -> unit
method private metadata_queue : Request.metadata Queue.t
method private virtual output_reset : unit
method private virtual output_send : Frame.t -> unit
method private virtual output_start : unit
method private virtual output_stop : unit