mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-21 10:55:51 +02:00
avcodec/cuvid: Always check for internal errors during parsing
The cuvid parser is basically undocumented, and although you'd think that a failed callback would result in the overall parse call returning an error, that is not true. So, we end up silently trying to keep going as if nothing is wrong, which doesn't achieve anything. Solution: check the internal error flag every time. Signed-off-by: Philip Langdale <philipl@overt.org> Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
This commit is contained in:
parent
b257266ee8
commit
4029f05c8b
@ -272,8 +272,13 @@ static int cuvid_decode_frame(AVCodecContext *avctx, void *data, int *got_frame,
|
||||
av_packet_unref(&filtered_packet);
|
||||
|
||||
if (ret < 0) {
|
||||
if (ctx->internal_error)
|
||||
ret = ctx->internal_error;
|
||||
goto error;
|
||||
}
|
||||
|
||||
// cuvidParseVideoData doesn't return an error just because stuff failed...
|
||||
if (ctx->internal_error) {
|
||||
av_log(avctx, AV_LOG_ERROR, "cuvid decode callback error\n");
|
||||
ret = ctx->internal_error;
|
||||
goto error;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user