sig
exception Incorrect_stream_type
module type S =
sig
type t
val length : Generator.S.t -> int
val remaining : Generator.S.t -> int
val clear : Generator.S.t -> unit
val fill : Generator.S.t -> Frame.t -> unit
val remove : Generator.S.t -> int -> unit
val add_metadata : Generator.S.t -> Frame.metadata -> unit
end
module Generator :
sig
type 'a t
val create : unit -> 'a Generator.Generator.t
val clear : 'a Generator.Generator.t -> unit
val length : 'a Generator.Generator.t -> int
val remove : 'a Generator.Generator.t -> int -> unit
val put : 'a Generator.Generator.t -> 'a -> int -> int -> unit
val get :
'a Generator.Generator.t -> int -> ('a * int * int * int) list
end
module From_frames :
sig
type t
val create : unit -> Generator.From_frames.t
val clear : Generator.From_frames.t -> unit
val length : Generator.From_frames.t -> int
val remaining : Generator.From_frames.t -> int
val add_metadata : Generator.From_frames.t -> Frame.metadata -> unit
val add_break : Generator.From_frames.t -> unit
val remove : Generator.From_frames.t -> int -> unit
val feed :
Generator.From_frames.t ->
?copy:bool ->
?breaks:int list ->
?metadata:(int * Frame.metadata) list ->
Frame.content -> int -> int -> unit
val feed_from_frame : Generator.From_frames.t -> Frame.t -> unit
val fill : Generator.From_frames.t -> Frame.t -> unit
end
module From_audio_video :
sig
type t
type mode = [ `Audio | `Both | `Undefined | `Video ]
val create :
Generator.From_audio_video.mode -> Generator.From_audio_video.t
val mode :
Generator.From_audio_video.t -> Generator.From_audio_video.mode
val set_mode :
Generator.From_audio_video.t ->
Generator.From_audio_video.mode -> unit
val audio_length : Generator.From_audio_video.t -> int
val video_length : Generator.From_audio_video.t -> int
val length : Generator.From_audio_video.t -> int
val remaining : Generator.From_audio_video.t -> int
val add_metadata :
Generator.From_audio_video.t -> Frame.metadata -> unit
val add_break :
?sync:[ `Drop | `Ignore | `Strict ] ->
Generator.From_audio_video.t -> unit
val put_audio :
Generator.From_audio_video.t ->
Frame.audio_t array -> int -> int -> unit
val put_video :
Generator.From_audio_video.t ->
Frame.video_t array -> int -> int -> unit
val fill : Generator.From_audio_video.t -> Frame.t -> unit
val remove : Generator.From_audio_video.t -> int -> unit
val clear : Generator.From_audio_video.t -> unit
end
module type S_Asio =
sig
type t
val length : Generator.S_Asio.t -> int
val audio_length : Generator.S_Asio.t -> int
val video_length : Generator.S_Asio.t -> int
val remaining : Generator.S_Asio.t -> int
val clear : Generator.S_Asio.t -> unit
val fill : Generator.S_Asio.t -> Frame.t -> unit
val add_metadata : Generator.S_Asio.t -> Frame.metadata -> unit
val add_break :
?sync:[ `Drop | `Ignore | `Strict ] -> Generator.S_Asio.t -> unit
val put_audio :
Generator.S_Asio.t -> Frame.audio_t array -> int -> int -> unit
val put_video :
Generator.S_Asio.t -> Frame.video_t array -> int -> int -> unit
val set_mode :
Generator.S_Asio.t ->
[ `Audio | `Both | `Undefined | `Video ] -> unit
end
module From_audio_video_plus :
sig
type t
type mode = [ `Audio | `Both | `Undefined | `Video ]
type overfull = [ `Drop_old of int ]
val create :
?lock:Mutex.t ->
?overfull:Generator.From_audio_video_plus.overfull ->
kind:Frame.content_kind ->
log:(string -> unit) ->
Generator.From_audio_video_plus.mode ->
Generator.From_audio_video_plus.t
val mode :
Generator.From_audio_video_plus.t -> Generator.From_audio_video.mode
val set_mode :
Generator.From_audio_video_plus.t ->
Generator.From_audio_video.mode -> unit
val audio_length : Generator.From_audio_video_plus.t -> int
val video_length : Generator.From_audio_video_plus.t -> int
val length : Generator.From_audio_video_plus.t -> int
val remaining : Generator.From_audio_video_plus.t -> int
val set_rewrite_metadata :
Generator.From_audio_video_plus.t ->
(Frame.metadata -> Frame.metadata) -> unit
val add_metadata :
Generator.From_audio_video_plus.t -> Frame.metadata -> unit
val add_break :
?sync:[ `Drop | `Ignore | `Strict ] ->
Generator.From_audio_video_plus.t -> unit
val put_audio :
Generator.From_audio_video_plus.t ->
Frame.audio_t array -> int -> int -> unit
val put_video :
Generator.From_audio_video_plus.t ->
Frame.video_t array -> int -> int -> unit
val fill : Generator.From_audio_video_plus.t -> Frame.t -> unit
val remove : Generator.From_audio_video_plus.t -> int -> unit
val clear : Generator.From_audio_video_plus.t -> unit
end
end