Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
type video_data = {
format : video_format;
frame_width : int;
frame_height : int;
y_stride : int;
uv_stride : int;
y : video_plane;
u : video_plane;
v : video_plane;
}
val init_from_file : ?log:(string -> unit) -> string -> t * Unix.file_descr
val init_from_fd : ?log:(string -> unit) -> Unix.file_descr -> t
val get_ogg_sync : t -> Ogg.Sync.t
val reset : t -> unit
val abort : t -> unit
val eos : t -> bool
val get_standard_tracks : t -> standard_tracks
val update_standard_tracks : t -> standard_tracks -> unit
val audio_info : t -> track -> audio_info * metadata
val video_info : t -> track -> video_info * metadata
val get_position : t -> float
val can_seek : t -> bool
val seek : ?relative:bool -> t -> float -> float
val decode_audio : t -> track -> (audio_data -> unit) -> unit
val decode_video : t -> track -> (video_data -> unit) -> unit
type (!'a, !'b) decoder = {
name : string;
info : unit -> 'a * metadata;
decode : ('b -> unit) -> unit;
restart : Ogg.Stream.stream -> unit;
samples_of_granulepos : Stdlib.Int64.t -> Stdlib.Int64.t;
}
type decoders =
| Video of (video_info, video_data) decoder
| Audio of (audio_info, audio_data) decoder
| Unknown
type register_decoder =
(Ogg.Stream.packet -> bool) * (Ogg.Stream.stream -> decoders)
val ogg_decoders : (string, register_decoder) Stdlib.Hashtbl.t