view src/flacng/flac_compat112.h @ 3162:e387614b9be9

alsa-ng: Import rewritten ALSA plugin. This is still woefully incomplete, but supports basic playback. This driver uses the "safe" ALSA API subset, including use of blocking I/O. Right now, it is hardcoded to use "default". Do not complain about bugs in this plugin.
author William Pitcock <nenolod@atheme.org>
date Thu, 14 May 2009 21:05:11 -0500
parents aa94631d1a02
children
line wrap: on
line source

#ifndef FLAC_COMPAT112_H
#define FLAC_COMPAT112_H

#if !defined(FLAC_API_VERSION_CURRENT)

/* Basic stream decoder type */
#define FLAC__StreamDecoder FLAC__SeekableStreamDecoder

/* Stream decoder functions */
#define FLAC__StreamDecoderReadStatus FLAC__SeekableStreamDecoderReadStatus 
#define FLAC__StreamDecoderSeekStatus FLAC__SeekableStreamDecoderSeekStatus
#define FLAC__StreamDecoderTellStatus FLAC__SeekableStreamDecoderTellStatus
#define FLAC__StreamDecoderLengthStatus FLAC__SeekableStreamDecoderLengthStatus
#define FLAC__stream_decoder_new FLAC__seekable_stream_decoder_new
#define FLAC__stream_decoder_set_metadata_respond FLAC__seekable_stream_decoder_set_metadata_respond
#define FLAC__stream_decoder_process_single FLAC__seekable_stream_decoder_process_single
#define FLAC__stream_decoder_seek_absolute FLAC__seekable_stream_decoder_seek_absolute
#define FLAC__stream_decoder_get_state FLAC__seekable_stream_decoder_get_state
#define FLAC__stream_decoder_flush FLAC__seekable_stream_decoder_flush
#define FLAC__stream_decoder_reset FLAC__seekable_stream_decoder_reset
#define FLAC__stream_decoder_process_until_end_of_metadata FLAC__seekable_stream_decoder_process_until_end_of_metadata
#define FLAC__stream_decoder_delete FLAC__seekable_stream_decoder_delete
#define FLAC__StreamDecoderInitStatusString FLAC__SeekableStreamDecoderStateString
#define FLAC__StreamDecoderStateString FLAC__SeekableStreamDecoderStateString

/* Constants and types */
#define FLAC__StreamDecoderInitStatus FLAC__SeekableStreamDecoderState
#define FLAC__STREAM_DECODER_SEEK_STATUS_ERROR FLAC__SEEKABLE_STREAM_DECODER_SEEK_STATUS_ERROR
#define FLAC__STREAM_DECODER_SEEK_STATUS_OK FLAC__SEEKABLE_STREAM_DECODER_SEEK_STATUS_OK
#define FLAC__STREAM_DECODER_TELL_STATUS_ERROR FLAC__SEEKABLE_STREAM_DECODER_TELL_STATUS_ERROR
#define FLAC__STREAM_DECODER_TELL_STATUS_OK FLAC__SEEKABLE_STREAM_DECODER_TELL_STATUS_OK
#define FLAC__STREAM_DECODER_LENGTH_STATUS_ERROR FLAC__SEEKABLE_STREAM_DECODER_LENGTH_STATUS_ERROR
#define FLAC__STREAM_DECODER_LENGTH_STATUS_OK FLAC__SEEKABLE_STREAM_DECODER_LENGTH_STATUS_OK
#define FLAC__STREAM_DECODER_INIT_STATUS_OK FLAC__SEEKABLE_STREAM_DECODER_OK
#define FLAC__STREAM_DECODER_LENGTH_STATUS_UNSUPPORTED FLAC__SEEKABLE_STREAM_DECODER_LENGTH_STATUS_OK
#define FLAC__STREAM_DECODER_END_OF_STREAM FLAC__SEEKABLE_STREAM_DECODER_END_OF_STREAM

FLAC__SeekableStreamDecoderState FLAC__stream_decoder_init_stream(
    FLAC__SeekableStreamDecoder*  decoder,
    FLAC__SeekableStreamDecoderReadCallback read_callback,
    FLAC__SeekableStreamDecoderSeekCallback     seek_callback,
    FLAC__SeekableStreamDecoderTellCallback     tell_callback,
    FLAC__SeekableStreamDecoderLengthCallback   length_callback,
    FLAC__SeekableStreamDecoderEofCallback      eof_callback,
    FLAC__SeekableStreamDecoderWriteCallback    write_callback,
    FLAC__SeekableStreamDecoderMetadataCallback     metadata_callback,
    FLAC__SeekableStreamDecoderErrorCallback    error_callback,
    void *      client_data);

#endif

#endif