/usr/lib/ocaml/flac/ogg_flac.mli is in libflac-ocaml-dev 0.1.1-3build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | (*
* Copyright 2003-2010 Savonet team
*
* This file is part of Ocaml-flac.
*
* Ocaml-flac is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* Ocaml-flac is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Ocaml-flac; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*)
(* Author; Romain Beauxis <toots@rastageeks.org> *)
(** {1 Ogg/flac encoder/decoder modules for OCaml} *)
(** Decode ogg/flac data *)
module Decoder :
sig
(** {3 Usage} *)
(** Usage is similar to the case
* of the native FLAC decoder, using
* the appropriate ogg/flac decoding
* callbacks.
*
* The main difference is that in the
* case of the ogg/flac decoding, the
* exception [Ogg.Not_enough_data] may
* be raised if the ogg stream used to
* create the decoder does not contain
* enough data. In this case, you should
* feed more data into the ogg stream and
* call the decoding function again.
*
* This remark is valid for both the
* [Flac.Decoder.init] and [Flac.Decoder.process]
* functions. *)
(** {3 Types} *)
(** Variant type for ogg/flac decoder *)
type ogg
(** Check if an ogg packet is the first
* packet of an ogg/flac stream. *)
val check_packet : Ogg.Stream.packet -> bool
(** Create a set of callbacks to decode an ogg/flac stream *)
val get_callbacks : Flac.Decoder.write -> ogg Flac.Decoder.callbacks
(** Create an ogg/flac decoder *)
val create : Ogg.Stream.packet -> Ogg.Stream.t -> ogg Flac.Decoder.callbacks -> ogg Flac.Decoder.dec
(** Update the [Ogg.Stream.t] associated
* to the decoder. *)
val update_ogg_stream : ogg Flac.Decoder.t -> Ogg.Stream.t -> unit
end
(** Encode ogg/flac data *)
module Encoder :
sig
(** {3 Usage} *)
(** Usage is similar to the case
* of the native FLAC encoder, using
* the appropriate ogg/flac encoding
* callbacks. *)
(** {3 Types} *)
(** Variant type for ogg/flac encoder *)
type ogg
(** Create a set of ogg/flac callbacks to
* encoder an ogg/flac stream *)
val callbacks : ogg Flac.Encoder.callbacks
(** Create an ogg/flac encoder.
*
* The returned value contains an encoder value
* that can be used with the functions from the
* [Flac.Encoder] module, as well as an initial
* ogg packet, that should be placed in its own
* page at the beginning of the ogg stream, and
* then the remaining initial packets, containing
* comments data, that should be placed in some ogg
* pages before and not containing any audio data.
* See ogg stream documentation for more information
* on ogg data muxing. *)
val create :
?comments:(string * string) list ->
Flac.Encoder.params ->
Ogg.Stream.t ->
ogg Flac.Encoder.t * Ogg.Stream.packet * (Ogg.Stream.packet list)
(** Terminate an ogg/flac encoder. Causes the encoder
* to flush remaining encoded data. The encoder should not
* be used anymore afterwards. *)
val finish : ogg Flac.Encoder.t -> unit
end
(** Ogg/flac skeleton module *)
module Skeleton :
sig
(** Generate a flac fisbone packet with
* these parameters, to use in an ogg skeleton.
* Default value for [start_granule] is [Int64.zero],
* Default value for [headers] is ["Content-type","audio/x-flac"]
*
* See: http://xiph.org/ogg/doc/skeleton.html. *)
val fisbone :
?start_granule:Int64.t ->
?headers:(string * string) list ->
serialno:Nativeint.t -> samplerate:Int64.t -> unit -> Ogg.Stream.packet
end
|