Exit ffmpeg if swr_convert() fails.

This commit is contained in:
Carl Eugen Hoyos 2012-02-27 19:01:53 +01:00
parent a4c22e3cac
commit 7b4e1466d4
2 changed files with 5 additions and 1 deletions

View File

@ -1267,6 +1267,10 @@ need_realloc:
buftmp = audio_buf; buftmp = audio_buf;
size_out = swr_convert(ost->swr, ( uint8_t*[]){buftmp}, audio_buf_size / (enc->channels * osize), size_out = swr_convert(ost->swr, ( uint8_t*[]){buftmp}, audio_buf_size / (enc->channels * osize),
(const uint8_t*[]){buf }, size / (dec->channels * isize)); (const uint8_t*[]){buf }, size / (dec->channels * isize));
if (size_out < 0) {
av_log(NULL, AV_LOG_FATAL, "swr_convert failed\n");
exit_program(1);
}
size_out = size_out * enc->channels * osize; size_out = size_out * enc->channels * osize;
} else { } else {
buftmp = buf; buftmp = buf;

View File

@ -106,7 +106,7 @@ void swr_free(struct SwrContext **s);
* @param in input buffers, only the first one need to be set in case of packed audio * @param in input buffers, only the first one need to be set in case of packed audio
* @param in_count number of input samples available in one channel * @param in_count number of input samples available in one channel
* *
* @return number of samples output per channel * @return number of samples output per channel, negative value on error
*/ */
int swr_convert(struct SwrContext *s, uint8_t *out[SWR_CH_MAX], int out_count, int swr_convert(struct SwrContext *s, uint8_t *out[SWR_CH_MAX], int out_count,
const uint8_t *in [SWR_CH_MAX], int in_count); const uint8_t *in [SWR_CH_MAX], int in_count);