Home ⌂Doc Index ◂Up ▴

oggz_seek.h File Reference

Seeking within files. More...

Go to the source code of this file.

Typedefs

typedef ogg_int64_t(* OggzMetric )(OGGZ *oggz, long serialno, ogg_int64_t granulepos, void *user_data)
 This is the signature of a function to correlate Ogg streams.

Functions

ogg_int64_t oggz_tell_units (OGGZ *oggz)
 Query the current offset in milliseconds, or custom units as specified by a Metric function you have provided.
ogg_int64_t oggz_seek_units (OGGZ *oggz, ogg_int64_t units, int whence)
 Seek to an offset in milliseconds, or custom units as specified by a Metric function you have provided.
ogg_int64_t oggz_tell_granulepos (OGGZ *oggz)
 Provide the exact stored granulepos (from the page header) if relevant to the current packet, or a constructed granulepos if the stored granulepos does not belong to this packet, or -1 if this codec does not have support for granulepos interpolation.
oggz_off_t oggz_tell (OGGZ *oggz)
 Query the file offset in bytes corresponding to the data read.
oggz_off_t oggz_seek (OGGZ *oggz, oggz_off_t offset, int whence)
 Seek to a specific byte offset.
int oggz_get_preroll (OGGZ *oggz, long serialno)
 Retrieve the preroll of a logical bitstream.
int oggz_set_preroll (OGGZ *oggz, long serialno, int preroll)
 Specify the preroll of a logical bitstream.
int oggz_get_granuleshift (OGGZ *oggz, long serialno)
 Retrieve the granuleshift of a logical bitstream.
int oggz_set_granuleshift (OGGZ *oggz, long serialno, int granuleshift)
 Specify the granuleshift of a logical bitstream.
int oggz_get_granulerate (OGGZ *oggz, long serialno, ogg_int64_t *granulerate_n, ogg_int64_t *granulerate_d)
 Retrieve the granulerate of a logical bitstream.
int oggz_set_granulerate (OGGZ *oggz, long serialno, ogg_int64_t granule_rate_numerator, ogg_int64_t granule_rate_denominator)
 Specify the granulerate of a logical bitstream.
int oggz_set_metric (OGGZ *oggz, long serialno, OggzMetric metric, void *user_data)
 Set the OggzMetric to use for an OGGZ handle.
int oggz_set_data_start (OGGZ *oggz, oggz_off_t offset)
 Tell Oggz to remember the given offset as the start of data.
ogg_int64_t oggz_bounded_seek_set (OGGZ *oggz, ogg_int64_t unit_target, ogg_int64_t offset_begin, ogg_int64_t offset_end)
 Seeks Oggz to time unit_target, but with the bounds of the offset range [offset_begin, offset_end].

Detailed Description

Seeking within files.


Function Documentation

ogg_int64_t oggz_bounded_seek_set ( OGGZ oggz,
ogg_int64_t  unit_target,
ogg_int64_t  offset_begin,
ogg_int64_t  offset_end 
)

Seeks Oggz to time unit_target, but with the bounds of the offset range [offset_begin, offset_end].

This is useful when seeking in network streams where only parts of a media are buffered, and retrieving unbuffered parts is expensive.

Parameters:
oggz An OGGZ handle previously opened for reading
unit_target The seek target, in milliseconds, or custom units
offset_begin Start of offset range to seek inside, in bytes
offset_end End of offset range to seek inside, in bytes, pass -1 for end of media
Returns:
The new position, in milliseconds or custom units
Return values:
-1 on failure (unit_target is not within range)
Generated on Sat Apr 24 09:13:55 2010 for liboggz by  doxygen 1.6.3


Home ⌂Doc Index ◂Up ▴