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
00096 ogg_int64_t oggz_tell_units (OGGZ * oggz);
00097
00106 ogg_int64_t oggz_seek_units (OGGZ * oggz, ogg_int64_t units, int whence);
00107
00120 off_t oggz_tell (OGGZ * oggz);
00121
00129 off_t oggz_seek (OGGZ * oggz, off_t offset, int whence);
00130
00131 #ifdef _UNIMPLEMENTED
00132 long oggz_seek_packets (OGGZ * oggz, long serialno, long packets, int whence);
00133 #endif
00134
00256 int oggz_get_granuleshift (OGGZ * oggz, long serialno);
00257
00270 int oggz_set_granuleshift (OGGZ * oggz, long serialno, int granuleshift);
00271
00284 int oggz_get_granulerate (OGGZ * oggz, long serialno,
00285 ogg_int64_t * granulerate_n,
00286 ogg_int64_t * granulerate_d);
00287
00301 int oggz_set_granulerate (OGGZ * oggz, long serialno,
00302 ogg_int64_t granule_rate_numerator,
00303 ogg_int64_t granule_rate_denominator);
00304
00322 typedef ogg_int64_t (*OggzMetric) (OGGZ * oggz, long serialno,
00323 ogg_int64_t granulepos, void * user_data);
00324
00347 int oggz_set_metric (OGGZ * oggz, long serialno, OggzMetric metric,
00348 void * user_data);
00349
00350 #ifdef _UNIMPLEMENTED
00351
00407 typedef int (*OggzOrder) (OGGZ * oggz, ogg_packet * op, void * target,
00408 void * user_data);
00414 int oggz_set_order (OGGZ * oggz, long serialno, OggzOrder order,
00415 void * user_data);
00416
00417 long oggz_seek_byorder (OGGZ * oggz, void * target);
00418
00419 #endif
00420
00434 int oggz_set_data_start (OGGZ * oggz, off_t offset);
00438 #endif