mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
libxvid: Return meaningful error messages
This commit is contained in:
parent
18f4fa251b
commit
a1e2c47cd4
@ -474,7 +474,7 @@ static av_cold int xvid_encode_init(AVCodecContext *avctx)
|
|||||||
if (!x->twopassbuffer || !x->old_twopassbuffer) {
|
if (!x->twopassbuffer || !x->old_twopassbuffer) {
|
||||||
av_log(avctx, AV_LOG_ERROR,
|
av_log(avctx, AV_LOG_ERROR,
|
||||||
"Xvid: Cannot allocate 2-pass log buffers\n");
|
"Xvid: Cannot allocate 2-pass log buffers\n");
|
||||||
return -1;
|
return AVERROR(ENOMEM);
|
||||||
}
|
}
|
||||||
x->twopassbuffer[0] =
|
x->twopassbuffer[0] =
|
||||||
x->old_twopassbuffer[0] = 0;
|
x->old_twopassbuffer[0] = 0;
|
||||||
@ -487,22 +487,22 @@ static av_cold int xvid_encode_init(AVCodecContext *avctx)
|
|||||||
rc2pass2.bitrate = avctx->bit_rate;
|
rc2pass2.bitrate = avctx->bit_rate;
|
||||||
|
|
||||||
fd = ff_tempfile("xvidff.", &x->twopassfile);
|
fd = ff_tempfile("xvidff.", &x->twopassfile);
|
||||||
if (fd == -1) {
|
if (fd < 0) {
|
||||||
av_log(avctx, AV_LOG_ERROR, "Xvid: Cannot write 2-pass pipe\n");
|
av_log(avctx, AV_LOG_ERROR, "Xvid: Cannot write 2-pass pipe\n");
|
||||||
return -1;
|
return fd;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!avctx->stats_in) {
|
if (!avctx->stats_in) {
|
||||||
av_log(avctx, AV_LOG_ERROR,
|
av_log(avctx, AV_LOG_ERROR,
|
||||||
"Xvid: No 2-pass information loaded for second pass\n");
|
"Xvid: No 2-pass information loaded for second pass\n");
|
||||||
return -1;
|
return AVERROR_INVALIDDATA;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strlen(avctx->stats_in) >
|
if (strlen(avctx->stats_in) >
|
||||||
write(fd, avctx->stats_in, strlen(avctx->stats_in))) {
|
write(fd, avctx->stats_in, strlen(avctx->stats_in))) {
|
||||||
close(fd);
|
close(fd);
|
||||||
av_log(avctx, AV_LOG_ERROR, "Xvid: Cannot write to 2-pass pipe\n");
|
av_log(avctx, AV_LOG_ERROR, "Xvid: Cannot write to 2-pass pipe\n");
|
||||||
return -1;
|
return AVERROR(EIO);
|
||||||
}
|
}
|
||||||
|
|
||||||
close(fd);
|
close(fd);
|
||||||
@ -770,7 +770,7 @@ static int xvid_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
|||||||
return 0;
|
return 0;
|
||||||
av_log(avctx, AV_LOG_ERROR,
|
av_log(avctx, AV_LOG_ERROR,
|
||||||
"Xvid: Encoding Error Occurred: %i\n", xerr);
|
"Xvid: Encoding Error Occurred: %i\n", xerr);
|
||||||
return -1;
|
return xerr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -52,7 +52,7 @@ int ff_tempfile(const char *prefix, char **filename)
|
|||||||
/* -----common section-----*/
|
/* -----common section-----*/
|
||||||
if (!(*filename)) {
|
if (!(*filename)) {
|
||||||
av_log(NULL, AV_LOG_ERROR, "ff_tempfile: Cannot allocate file name\n");
|
av_log(NULL, AV_LOG_ERROR, "ff_tempfile: Cannot allocate file name\n");
|
||||||
return -1;
|
return AVERROR(ENOMEM);
|
||||||
}
|
}
|
||||||
#if !HAVE_MKSTEMP
|
#if !HAVE_MKSTEMP
|
||||||
fd = avpriv_open(*filename, O_RDWR | O_BINARY | O_CREAT, 0444);
|
fd = avpriv_open(*filename, O_RDWR | O_BINARY | O_CREAT, 0444);
|
||||||
@ -67,7 +67,7 @@ int ff_tempfile(const char *prefix, char **filename)
|
|||||||
/* -----common section-----*/
|
/* -----common section-----*/
|
||||||
if (fd < 0) {
|
if (fd < 0) {
|
||||||
av_log(NULL, AV_LOG_ERROR, "ff_tempfile: Cannot open temporary file %s\n", *filename);
|
av_log(NULL, AV_LOG_ERROR, "ff_tempfile: Cannot open temporary file %s\n", *filename);
|
||||||
return -1;
|
return AVERROR(EIO);
|
||||||
}
|
}
|
||||||
return fd; /* success */
|
return fd; /* success */
|
||||||
}
|
}
|
||||||
@ -80,9 +80,9 @@ av_cold int ff_xvid_rate_control_init(MpegEncContext *s)
|
|||||||
xvid_plugin_2pass2_t xvid_2pass2 = { 0 };
|
xvid_plugin_2pass2_t xvid_2pass2 = { 0 };
|
||||||
|
|
||||||
fd = ff_tempfile("xvidrc.", &tmp_name);
|
fd = ff_tempfile("xvidrc.", &tmp_name);
|
||||||
if (fd == -1) {
|
if (fd < 0) {
|
||||||
av_log(NULL, AV_LOG_ERROR, "Can't create temporary pass2 file.\n");
|
av_log(NULL, AV_LOG_ERROR, "Can't create temporary pass2 file.\n");
|
||||||
return -1;
|
return fd;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < s->rc_context.num_entries; i++) {
|
for (i = 0; i < s->rc_context.num_entries; i++) {
|
||||||
|
Loading…
Reference in New Issue
Block a user