module Sync:sig..end
type 
val create : (int -> string * int) -> tThis function is used to initialize a Sync.t to a known initial value 
 in preparation for manipulation of an Ogg bitstream.
The function passed is used to fill the stream with new data. It receives a number of bytes to read and returns a string read and its size.
val create_from_file : string -> t * Unix.file_descrWrapper around create to open a file as the ogg stream.
val read : t -> Ogg.Page.tRead a page from Sync.t
Raises End_of_stream if the reading function returned an empty string. 
 Raises Out_of_sync if data is not synced and some byte where skiped.
val reset : ?read_func:(int -> string * int) -> t -> unitThis function is used to reset the internal counters of the 
 Sync.t to initial values.
read_func is optional and is a new function to read new data.
val seek : t -> Ogg.Page.tThis function synchronizes the ogg_sync_state struct to the next ogg_page.
This is useful when seeking within a bitstream. page_seek will synchronize to the next page in the bitstream and return information about how many bytes we advanced or skipped in order to do so.