/* generic.h */
/* Uses Replay codecs to play generic sound from file or memory */
#ifndef GENERIC_H
#define GENERIC_H

#ifndef REPLAY_H
#include "replay.h"
#endif

#define GENERIC_CHUNK_SIZE 8192

/* Retuns 0 if successful;
   size is size of data, not total size */
int
generic_build_chunk_table(long int offset, size_t size);

_kernel_oserror *
generic_prepare(const char *file, size_t size, long int offset,
                const char *codec, int from_file,
                replay_handle *handle, int *chunk_size);

/* Much as above but for a sample which already has an opened fmstream
   eg to read WAV chunks */
_kernel_oserror *
generic_prepare_already_open(size_t size, long int offset,
                             int from_file, const char *codec, int *chunk_size);

#endif
