Module Generator.From_audio_video_plus


module From_audio_video_plus: sig .. end
Same as From_audio_video but with two extra features useful for streaming decoders: it is thread safe and supports overfull buffer management.

type t 
type mode = [ `Audio | `Both | `Undefined | `Video ] 
Same as From_audio_video.
type overfull = [ `Drop_old of int ] 
How to handle overfull buffers: drop old data, keeping at most len ticks.
val create : ?lock:Mutex.t ->
?overfull:overfull ->
kind:Frame.content_kind ->
log:(string -> unit) ->
mode -> t
val mode : t -> Generator.From_audio_video.mode
val set_mode : t -> Generator.From_audio_video.mode -> unit
val audio_length : t -> int
val video_length : t -> int
val length : t -> int
val remaining : t -> int
val set_rewrite_metadata : t ->
(Frame.metadata -> Frame.metadata) -> unit
val add_metadata : t -> Frame.metadata -> unit
val add_break : ?sync:[ `Drop | `Ignore | `Strict ] ->
t -> unit
val put_audio : t ->
Frame.audio_t array -> int -> int -> unit
val put_video : t ->
Frame.video_t array -> int -> int -> unit
val fill : t -> Frame.t -> unit
val remove : t -> int -> unit
val clear : t -> unit