Vorbisfile documentation | vorbisfile version 1.68 - 20030307

# ov_callbacks

declared in "vorbis/codec.h"

The ov_callbacks structure contains file manipulation function prototypes necessary for opening, closing, seeking, and location.

The ov_callbacks structure does not need to be user-defined if you are working with stdio-based file manipulation; the ov_open() call provides default callbacks for stdio. ov_callbacks are defined and passed to ov_open_callbacks() when implementing non-stdio based stream manipulation (such as playback from a memory buffer).

    typedef struct {
      size_t (*read_func)  (void *ptr, size_t size, size_t nmemb, void *datasource);
      int    (*seek_func)  (void *datasource, ogg_int64_t offset, int whence);
      int    (*close_func) (void *datasource);
      long   (*tell_func)  (void *datasource);
    } ov_callbacks;

### Relevant Struct Members

read_func
  Pointer to custom data reading function.
seek_func
  Pointer to custom data seeking function. If the data source is not seekable (or the application wants the data source to be treated as unseekable at all times), the provided seek callback should always return -1 (failure).
close_func
  Pointer to custom data source closure function.
tell_func
  Pointer to custom data location function.

See the callbacks and non-stdio I/O document for more detailed information on required behavior of the various callback functions.

copyright © 2003 Xiph.org | Ogg Vorbis
Vorbisfile documentation | vorbisfile version 1.68 - 20030307