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