FLAC__StreamDecoderState EasyFLAC__get_state(const EasyFLAC__StreamDecoder *decoder) { if (decoder->is_oggflac) return OggFLAC__stream_decoder_get_FLAC_stream_decoder_state(decoder->oggflac); else return FLAC__stream_decoder_get_state(decoder->flac); }
FLAC__StreamDecoderState EasyFLAC__init(EasyFLAC__StreamDecoder *decoder) { if (decoder->is_oggflac) { OggFLAC__stream_decoder_init(decoder->oggflac); return OggFLAC__stream_decoder_get_FLAC_stream_decoder_state(decoder->oggflac); } else return FLAC__stream_decoder_init(decoder->flac); }
static FLAC__bool die_s_(const char *msg, const OggFLAC__StreamDecoder *decoder) { OggFLAC__StreamDecoderState state = OggFLAC__stream_decoder_get_state(decoder); if(msg) printf("FAILED, %s", msg); else printf("FAILED"); printf(", state = %u (%s)\n", (unsigned)state, OggFLAC__StreamDecoderStateString[state]); if(state == OggFLAC__STREAM_DECODER_FLAC_STREAM_DECODER_ERROR) { FLAC__StreamDecoderState state_ = OggFLAC__stream_decoder_get_FLAC_stream_decoder_state(decoder); printf(" FLAC stream decoder state = %u (%s)\n", (unsigned)state_, FLAC__StreamDecoderStateString[state_]); } return false; }