FLAC__stream_decoder_init_ogg_FILE

Initialize the decoder instance to decode Ogg FLAC files.

This flavor of initialization sets up the decoder to decode from a plain Ogg FLAC file. For non-stdio streams, you must use FLAC__stream_decoder_init_ogg_stream() and provide callbacks for the I/O.

This function should be called after FLAC__stream_decoder_new() and FLAC__stream_decoder_set_*() but before any of the FLAC__stream_decoder_process_*() functions. Will set and return the decoder state, which will be FLAC__STREAM_DECODER_SEARCH_FOR_METADATA if initialization succeeded.

\note Support for Ogg FLAC in the library is optional. If this library has been built without support for Ogg FLAC, this function will return \c FLAC__STREAM_DECODER_INIT_STATUS_UNSUPPORTED_CONTAINER.

\param decoder An uninitialized decoder instance. \param file An open FLAC file. The file should have been opened with mode \c "rb" and rewound. The file becomes owned by the decoder and should not be manipulated by the client while decoding. Unless \a file is \c stdin, it will be closed when FLAC__stream_decoder_finish() is called. Note however that seeking will not work when decoding from \c stdout since it is not seekable. \param write_callback See FLAC__StreamDecoderWriteCallback. This pointer must not be \c NULL. \param metadata_callback See FLAC__StreamDecoderMetadataCallback. This pointer may be \c NULL if the callback is not desired. \param error_callback See FLAC__StreamDecoderErrorCallback. This pointer must not be \c NULL. \param client_data This value will be supplied to callbacks in their \a client_data argument. \assert \code decoder != NULL \endcode \code file != NULL \endcode \retval FLAC__StreamDecoderInitStatus \c FLAC__STREAM_DECODER_INIT_STATUS_OK if initialization was successful; see FLAC__StreamDecoderInitStatus for the meanings of other return values.

Meta