add ..._get_verify_decoder_error_stats()

This commit is contained in:
Josh Coalson
2002-08-07 23:54:55 +00:00
parent 021cb51e95
commit 589f8c7880
16 changed files with 253 additions and 16 deletions

View File

@@ -61,8 +61,6 @@ typedef enum {
ENCODER_IN_AUDIO = 2
} EncoderStateHint;
/*@@@@ function for getting the error_stats */
/***********************************************************************
*
* Private class method prototypes
@@ -511,6 +509,12 @@ FLAC__StreamEncoderState FLAC__stream_encoder_init(FLAC__StreamEncoder *encoder)
if(FLAC__stream_decoder_init(encoder->private_->verify.decoder) != FLAC__STREAM_DECODER_SEARCH_FOR_METADATA)
return encoder->protected_->state = FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR;
}
encoder->private_->verify.error_stats.absolute_sample = 0;
encoder->private_->verify.error_stats.frame_number = 0;
encoder->private_->verify.error_stats.channel = 0;
encoder->private_->verify.error_stats.sample = 0;
encoder->private_->verify.error_stats.expected = 0;
encoder->private_->verify.error_stats.got = 0;
/*
* write the stream header
@@ -830,6 +834,23 @@ FLAC__StreamDecoderState FLAC__stream_encoder_get_verify_decoder_state(const FLA
return FLAC__STREAM_DECODER_UNINITIALIZED;
}
void FLAC__stream_encoder_get_verify_decoder_error_stats(const FLAC__StreamEncoder *encoder, FLAC__uint64 *absolute_sample, unsigned *frame_number, unsigned *channel, unsigned *sample, FLAC__int32 *expected, FLAC__int32 *got)
{
FLAC__ASSERT(0 != encoder);
if(0 != absolute_sample)
*absolute_sample = encoder->private_->verify.error_stats.absolute_sample;
if(0 != frame_number)
*frame_number = encoder->private_->verify.error_stats.frame_number;
if(0 != channel)
*channel = encoder->private_->verify.error_stats.channel;
if(0 != sample)
*sample = encoder->private_->verify.error_stats.sample;
if(0 != expected)
*expected = encoder->private_->verify.error_stats.expected;
if(0 != got)
*got = encoder->private_->verify.error_stats.got;
}
FLAC__bool FLAC__stream_encoder_get_verify(const FLAC__StreamEncoder *encoder)
{
FLAC__ASSERT(0 != encoder);