avcodec/h264, videotoolbox: return AVERROR_INVALIDDATA when no frames are produced
authorAman Gupta <aman@tmm1.net>
Mon, 25 Sep 2017 23:45:53 +0000 (16:45 -0700)
committerAman Gupta <aman@tmm1.net>
Mon, 13 Nov 2017 22:32:27 +0000 (14:32 -0800)
The only reason videotoolbox wouldn't produce frames is if the data fed
to it was invalid, so returning AVERROR_INVALIDDATA makes sense here.

Further, it means AVERROR_EXTERNAL can be used in further commits to signal
fatal VideoToolbox errors, letting the user know that they need to fallback to
another decoder.

Signed-off-by: Aman Gupta <aman@tmm1.net>
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/h264dec.c

index aed23c4..517f6ac 100644 (file)
@@ -824,7 +824,7 @@ static int output_frame(H264Context *h, AVFrame *dst, H264Picture *srcp)
     int ret;
 
     if (src->format == AV_PIX_FMT_VIDEOTOOLBOX && src->buf[0]->size == 1)
-        return AVERROR_EXTERNAL;
+        return AVERROR_INVALIDDATA;
 
     ret = av_frame_ref(dst, src);
     if (ret < 0)