00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 #ifndef __OGGZ_SEEK_H__
00034 #define __OGGZ_SEEK_H__
00035
00097 ogg_int64_t oggz_tell_units (OGGZ * oggz);
00098
00107 ogg_int64_t oggz_seek_units (OGGZ * oggz, ogg_int64_t units, int whence);
00108
00117 ogg_int64_t
00118 oggz_tell_granulepos (OGGZ * oggz);
00119
00132 oggz_off_t oggz_tell (OGGZ * oggz);
00133
00141 oggz_off_t oggz_seek (OGGZ * oggz, oggz_off_t offset, int whence);
00142
00143 #ifdef _UNIMPLEMENTED
00144 long oggz_seek_packets (OGGZ * oggz, long serialno, long packets, int whence);
00145 #endif
00146
00268 int oggz_get_granuleshift (OGGZ * oggz, long serialno);
00269
00282 int oggz_set_granuleshift (OGGZ * oggz, long serialno, int granuleshift);
00283
00296 int oggz_get_granulerate (OGGZ * oggz, long serialno,
00297 ogg_int64_t * granulerate_n,
00298 ogg_int64_t * granulerate_d);
00299
00313 int oggz_set_granulerate (OGGZ * oggz, long serialno,
00314 ogg_int64_t granule_rate_numerator,
00315 ogg_int64_t granule_rate_denominator);
00316
00334 typedef ogg_int64_t (*OggzMetric) (OGGZ * oggz, long serialno,
00335 ogg_int64_t granulepos, void * user_data);
00336
00359 int oggz_set_metric (OGGZ * oggz, long serialno, OggzMetric metric,
00360 void * user_data);
00361
00362 #ifdef _UNIMPLEMENTED
00363
00419 typedef int (*OggzOrder) (OGGZ * oggz, ogg_packet * op, void * target,
00420 void * user_data);
00426 int oggz_set_order (OGGZ * oggz, long serialno, OggzOrder order,
00427 void * user_data);
00428
00429 long oggz_seek_byorder (OGGZ * oggz, void * target);
00430
00431 #endif
00432
00446 int oggz_set_data_start (OGGZ * oggz, oggz_off_t offset);
00450 #endif