Changeset 3195
- Timestamp:
- 2007-08-16 03:20:18 (1 year ago)
- Files:
-
- oogg/trunk/oogg_dump_packets.ml (modified) (1 diff)
- oogg/trunk/packet.ml (modified) (1 diff)
- oogg/trunk/streamSort.ml (modified) (4 diffs)
- oogg/trunk/streamSort.mli (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
oogg/trunk/oogg_dump_packets.ml
r3194 r3195 4 4 let pps = Packet.to_packetStream ps;; 5 5 let ppps = Packet.reconstruct_timing pps;; 6 let all_streams = Packet.sort ppps;; 7 Packet_util.print_packetStream 8 (*ppps;;*) 9 (snd (List.nth all_streams (int_of_string Sys.argv.(2))));; 6 Packet_util.print_packetStream ppps;; oogg/trunk/packet.ml
r3194 r3195 115 115 let eq = (=) 116 116 let get_key p = p.p_page.raw.serialno 117 let is_first p = p.p_page.raw.bos && p.p_pageno = 0117 let is_first p = p.p_page.raw.bos 118 118 let is_last p = p.p_page.raw.eos 119 let printKey s = print_oogg32 s 119 120 end;; 120 121 oogg/trunk/streamSort.ml
r3194 r3195 7 7 val is_first : s -> bool 8 8 val is_last : s -> bool 9 val printKey : k -> unit 9 10 end;; 10 11 … … 21 22 ( 22 23 Stream.junk i; 23 (I.get_key page, ref (Some [page]))::(get_first_pages i) 24 let q = Queue.create () in 25 Queue.add page q; 26 (I.get_key page, ref (Some q))::(get_first_pages i) 24 27 ) 25 28 | Some page -> [] in … … 31 34 match !cache with 32 35 | None -> None 33 | Some (h::t) ->36 | Some q when not (Queue.is_empty q) -> 34 37 ( 38 let h = Queue.take q in 35 39 if I.is_last h 36 40 then cache := None 37 else cache := Some t;41 else cache := Some q; 38 42 Some h 39 43 ) 40 | Some [] -> 41 ( let p = Stream.next i in 44 | Some _ -> 45 try ( 46 let p = Stream.next i in 42 47 let ik = I.get_key p in 43 48 if ik = k then ( … … 48 53 (match !icache with 49 54 | None -> raise PagesAfterEOS 50 | Some l -> icache := Some (l @ [p]));55 | Some q -> Queue.add p q); 51 56 get_next_page k 52 57 ) 53 ) in58 ) with Stream.Failure -> None in 54 59 55 60 let generator k _ = get_next_page k in oogg/trunk/streamSort.mli
r3194 r3195 7 7 val is_first : s -> bool 8 8 val is_last : s -> bool 9 val printKey : k -> unit 9 10 end;; 10 11