sig
val log : Dtools.Log.t
type file = string
type stream = string
type input = {
read : int -> string * int;
lseek : (int -> int) option;
tell : (unit -> int) option;
length : (unit -> int) option;
}
type 'a decoder = { decode : 'a -> unit; seek : int -> int; }
type stream_decoder =
Decoder.input -> Generator.From_audio_video_plus.t Decoder.decoder
type file_decoder = {
fill : Frame.t -> int;
fseek : int -> int;
close : unit -> unit;
}
val file_decoders :
(metadata:Frame.metadata ->
Decoder.file ->
Frame.content_kind -> (unit -> Decoder.file_decoder) option)
Plug.plug
val image_file_decoders : (Decoder.file -> Image.RGBA32.t option) Plug.plug
val stream_decoders :
(Decoder.stream -> Frame.content_kind -> Decoder.stream_decoder option)
Plug.plug
val conf_decoder : Dtools.Conf.ut
val conf_mime_types : Dtools.Conf.ut
val conf_file_extensions : Dtools.Conf.ut
val test_file :
?log:Dtools.Log.t ->
mimes:string list -> extensions:string list -> string -> bool
val get_file_decoder :
metadata:Frame.metadata ->
Decoder.file ->
Frame.content_kind -> (string * (unit -> Decoder.file_decoder)) option
val get_image_file_decoder : Decoder.file -> Image.RGBA32.t option
val get_stream_decoder :
Decoder.file -> Frame.content_kind -> Decoder.stream_decoder option
module Buffered :
functor (Generator : Generator.S) ->
sig
val file_decoder :
Decoder.file ->
Frame.content_kind ->
(Decoder.input -> Generator.t Decoder.decoder) ->
Generator.t -> Decoder.file_decoder
end
end