Changeset 713
- Timestamp:
- 2005-01-23 18:46:28 (4 years ago)
- Files:
-
- liboggz/trunk/src/examples/seek-stress.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
liboggz/trunk/src/examples/seek-stress.c
r575 r713 33 33 #include <stdio.h> 34 34 #include <stdlib.h> 35 #include <string.h> 35 36 #include <oggz/oggz.h> 36 37 37 static int got_an_eos= 0;38 static int has_skeleton = 0; 38 39 39 40 static int 40 41 read_packet (OGGZ * oggz, ogg_packet * op, long serialno, void * user_data) 41 42 { 43 unsigned char * header = op->packet; 44 42 45 #if 0 43 46 if (got_an_eos) { … … 56 59 #endif 57 60 58 return OGGZ_STOP_OK; 61 if (op->b_o_s) { 62 if (op->bytes >= 8 && !strncmp ((char *)header, "fishead", 8)) 63 has_skeleton = 1; 64 return OGGZ_CONTINUE; 65 } else if (op->e_o_s) { 66 return OGGZ_STOP_OK; 67 } else { 68 if (has_skeleton) return OGGZ_CONTINUE; 69 else return OGGZ_STOP_OK; 70 } 71 return OGGZ_CONTINUE; 59 72 } 60 73 … … 64 77 printf ("Attempt seek to %lld ms:\n", units); 65 78 units = oggz_seek_units (oggz, units, SEEK_SET); 66 printf ("%08l lx: %lld ms\n", oggz_tell (oggz), oggz_tell_units (oggz));79 printf ("%08lx: %lld ms\n", oggz_tell (oggz), oggz_tell_units (oggz)); 67 80 return units; 68 81 } … … 87 100 88 101 while ((n = oggz_read (oggz, 1024)) > 0); 89 while ((n = oggz_read (oggz, 1024)) > 0);90 while ((n = oggz_read (oggz, 1024)) > 0);91 102 oggz_set_data_start (oggz, oggz_tell (oggz)); 92 103 93 104 max_units = oggz_seek_units (oggz, 0, SEEK_END); 94 printf ("%08l lx: %lld ms\n", oggz_tell (oggz), oggz_tell_units (oggz));105 printf ("%08lx: %lld ms\n", oggz_tell (oggz), oggz_tell_units (oggz)); 95 106 96 107 try_seek_units (oggz, max_units / 2);