void EncoderSession_destroy(EncoderSession *e)
{
+ if(e->format == FORMAT_FLAC || e->format == FORMAT_OGGFLAC) {
+ size_t i;
+ if(e->fmt.flac.decoder)
+ FLAC__stream_decoder_delete(e->fmt.flac.decoder);
+ e->fmt.flac.decoder = 0;
+ for(i = 0; i < e->fmt.flac.client_data.num_metadata_blocks; i++)
+ FLAC__metadata_object_delete(e->fmt.flac.client_data.metadata_blocks[i]);
+ e->fmt.flac.client_data.num_metadata_blocks = 0;
+ }
+
if(e->fin != stdin)
fclose(e->fin);
int ret = 0;
FLAC__bool verify_error = false;
- /*@@@ can this go in EncoderSession_destroy()? it's duplicated in EncoderSession_finish_error() */
- if(e->format == FORMAT_FLAC || e->format == FORMAT_OGGFLAC) {
- size_t i;
- for(i = 0; i < e->fmt.flac.client_data.num_metadata_blocks; i++)
- FLAC__metadata_object_delete(e->fmt.flac.client_data.metadata_blocks[i]);
- e->fmt.flac.client_data.num_metadata_blocks = 0;
- if(e->fmt.flac.decoder)
- FLAC__stream_decoder_delete(e->fmt.flac.decoder);
- e->fmt.flac.decoder = 0;
- }
-
if(e->encoder) {
fse_state = FLAC__stream_encoder_get_state(e->encoder);
ret = FLAC__stream_encoder_finish(e->encoder)? 0 : 1;
{
FLAC__ASSERT(e->encoder);
- /*@@@ can this go in EncoderSession_destroy()? it's duplicated in EncoderSession_finish_ok() */
- if(e->format == FORMAT_FLAC || e->format == FORMAT_OGGFLAC) {
- size_t i;
- for(i = 0; i < e->fmt.flac.client_data.num_metadata_blocks; i++)
- FLAC__metadata_object_delete(e->fmt.flac.client_data.metadata_blocks[i]);
- e->fmt.flac.client_data.num_metadata_blocks = 0;
- if(e->fmt.flac.decoder)
- FLAC__stream_decoder_delete(e->fmt.flac.decoder);
- e->fmt.flac.decoder = 0;
- }
-
if(e->total_samples_to_encode > 0)
flac__utils_printf(stderr, 2, "\n");