open Types (* * print the list of packet sizes. INTERNAL FUNCTION *) let print_packet_sizes packets = let rec _pps packets = match packets with | [] -> print_string "]"; print_newline () | [s] -> print_int s; _pps [] | s::t -> print_int s; print_string ", " ; _pps t in print_string "["; _pps packets;; (* * print a page. UTILITY FUNCTION. *) let print_rawPage p = print_oogg32 p.serialno; print_string ": gp "; print_granulepos p.granulepos; print_string " seq "; print_oogg32 p.sequenceno; if p.continued then print_string " (CONTINUATION)"; if p.bos then print_string " (BOS)"; if p.eos then print_string " (EOS)"; if not p.last_packet_complete then print_string " (CONTINUED)"; print_newline (); print_string "\t\t"; print_packet_sizes p.packet_sizes; print_newline ();; (* * print a page stream. UTILITY FUNCTION. *) let rec print_rawPageStream ps = match ps with parser | [< 'p >] -> print_rawPage p; print_rawPageStream ps | [< >] -> ();; let print_page p = print_mediaType p.identity; print_string " "; (match p.time with | None -> Printf.printf "None\n" | Some t -> Printf.printf "%.3f\n" t); print_rawPage p.raw;; let rec print_pageStream ps = match ps with parser | [< 'p >] -> print_page p ; print_pageStream ps | [< >] -> ();;