[FFmpeg-cvslog] Merge commit '984736dd9e5b50987a5910e22495304e4a6d975c'
James Almer
git at videolan.org
Wed Oct 4 02:56:52 EEST 2017
ffmpeg | branch: master | James Almer <jamrial at gmail.com> | Tue Oct 3 20:35:17 2017 -0300| [5678b2a82074e4926ce0b73dc4e1190c8dfcd35d] | committer: James Almer
Merge commit '984736dd9e5b50987a5910e22495304e4a6d975c'
* commit '984736dd9e5b50987a5910e22495304e4a6d975c':
lavc: make sure not to return EAGAIN from codecs
Merged-by: James Almer <jamrial at gmail.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=5678b2a82074e4926ce0b73dc4e1190c8dfcd35d
---
libavcodec/aacdec.c | 6 +++---
libavcodec/qsv.c | 8 +++++---
2 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/libavcodec/aacdec.c b/libavcodec/aacdec.c
index f3656c056a..fe50871476 100644
--- a/libavcodec/aacdec.c
+++ b/libavcodec/aacdec.c
@@ -458,7 +458,7 @@ static int read_audio_mux_element(struct LATMContext *latmctx,
} else if (!latmctx->aac_ctx.avctx->extradata) {
av_log(latmctx->aac_ctx.avctx, AV_LOG_DEBUG,
"no decoder config found\n");
- return AVERROR(EAGAIN);
+ return 1;
}
if (latmctx->audio_mux_version_A == 0) {
int mux_slot_length_bytes = read_payload_length_info(latmctx, gb);
@@ -495,8 +495,8 @@ static int latm_decode_frame(AVCodecContext *avctx, void *out,
if (muxlength > avpkt->size)
return AVERROR_INVALIDDATA;
- if ((err = read_audio_mux_element(latmctx, &gb)) < 0)
- return err;
+ if ((err = read_audio_mux_element(latmctx, &gb)))
+ return (err < 0) ? err : avpkt->size;
if (!latmctx->initialized) {
if (!avctx->extradata) {
diff --git a/libavcodec/qsv.c b/libavcodec/qsv.c
index b9e2cd990d..56ca9df262 100644
--- a/libavcodec/qsv.c
+++ b/libavcodec/qsv.c
@@ -94,15 +94,17 @@ static const struct {
{ MFX_ERR_LOCK_MEMORY, AVERROR(EIO), "failed to lock the memory block" },
{ MFX_ERR_NOT_INITIALIZED, AVERROR_BUG, "not initialized" },
{ MFX_ERR_NOT_FOUND, AVERROR(ENOSYS), "specified object was not found" },
- { MFX_ERR_MORE_DATA, AVERROR(EAGAIN), "expect more data at input" },
- { MFX_ERR_MORE_SURFACE, AVERROR(EAGAIN), "expect more surface at output" },
+ /* the following 3 errors should always be handled explicitly, so those "mappings"
+ * are for completeness only */
+ { MFX_ERR_MORE_DATA, AVERROR_UNKNOWN, "expect more data at input" },
+ { MFX_ERR_MORE_SURFACE, AVERROR_UNKNOWN, "expect more surface at output" },
+ { MFX_ERR_MORE_BITSTREAM, AVERROR_UNKNOWN, "expect more bitstream at output" },
{ MFX_ERR_ABORTED, AVERROR_UNKNOWN, "operation aborted" },
{ MFX_ERR_DEVICE_LOST, AVERROR(EIO), "device lost" },
{ MFX_ERR_INCOMPATIBLE_VIDEO_PARAM, AVERROR(EINVAL), "incompatible video parameters" },
{ MFX_ERR_INVALID_VIDEO_PARAM, AVERROR(EINVAL), "invalid video parameters" },
{ MFX_ERR_UNDEFINED_BEHAVIOR, AVERROR_BUG, "undefined behavior" },
{ MFX_ERR_DEVICE_FAILED, AVERROR(EIO), "device failed" },
- { MFX_ERR_MORE_BITSTREAM, AVERROR(EAGAIN), "expect more bitstream at output" },
{ MFX_ERR_INCOMPATIBLE_AUDIO_PARAM, AVERROR(EINVAL), "incompatible audio parameters" },
{ MFX_ERR_INVALID_AUDIO_PARAM, AVERROR(EINVAL), "invalid audio parameters" },
======================================================================
More information about the ffmpeg-cvslog
mailing list