1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-04-14 00:58:38 +02:00

shorten: only calculate output size when returning decoded samples, otherwise

just set data_size to zero.
This commit is contained in:
Justin Ruggles 2011-09-14 18:54:42 -04:00
parent e9e37f2d10
commit 0f97c5014b

View File

@ -385,6 +385,7 @@ static int shorten_decode_frame(AVCodecContext *avctx,
int ret; int ret;
if ((ret = read_header(s)) < 0) if ((ret = read_header(s)) < 0)
return ret; return ret;
*data_size = 0;
} }
else else
{ {
@ -423,8 +424,9 @@ static int shorten_decode_frame(AVCodecContext *avctx,
break; break;
} }
case FN_QUIT: case FN_QUIT:
goto frame_done; break;
} }
*data_size = 0;
} else { } else {
/* process audio command */ /* process audio command */
int residual_size = 0; int residual_size = 0;
@ -510,12 +512,12 @@ static int shorten_decode_frame(AVCodecContext *avctx,
if (s->cur_chan == s->channels) { if (s->cur_chan == s->channels) {
samples = interleave_buffer(samples, s->channels, s->blocksize, s->decoded); samples = interleave_buffer(samples, s->channels, s->blocksize, s->decoded);
s->cur_chan = 0; s->cur_chan = 0;
goto frame_done;
}
}
}
frame_done:
*data_size = (int8_t *)samples - (int8_t *)data; *data_size = (int8_t *)samples - (int8_t *)data;
} else {
*data_size = 0;
}
}
}
// s->last_blocksize = s->blocksize; // s->last_blocksize = s->blocksize;
s->bitindex = get_bits_count(&s->gb) - 8*((get_bits_count(&s->gb))/8); s->bitindex = get_bits_count(&s->gb) - 8*((get_bits_count(&s->gb))/8);