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]. |
|
This is the signature of a function to correlate Ogg streams. If every position in an Ogg stream can be described by a metric (eg. time) then define this function that returns some arbitrary unit value. This is the normal use of Oggz for media streams. The meaning of units is arbitrary, but must be consistent across all logical bitstreams; for example a conversion of the time offset of a given packet into nanoseconds or a similar stream-specific subdivision may be appropriate.
|
|
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.
|
|
Retrieve the granulerate of a logical bitstream.
|
|
Retrieve the granuleshift of a logical bitstream.
|
|
Retrieve the preroll of a logical bitstream.
|
|
Seek to a specific byte offset.
|
|
Seek to an offset in milliseconds, or custom units as specified by a Metric function you have provided.
|
|
Tell Oggz to remember the given offset as the start of data. This informs the seeking mechanism that when seeking back to unit 0, go to the given offset, not to the start of the file, which is usually codec headers. The usual usage is: oggz_set_data_start (oggz, oggz_tell (oggz));
|
|
Specify the granulerate of a logical bitstream.
|
|
Specify the granuleshift of a logical bitstream.
|
|
Set the OggzMetric to use for an OGGZ handle.
|
|
Specify the preroll of a logical bitstream.
|
|
Query the file offset in bytes corresponding to the data read.
|
|
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.
|
|
Query the current offset in milliseconds, or custom units as specified by a Metric function you have provided.
|