[FFmpeg-cvslog] libutvideodec: Check if the decode initializes correctly

Derek Buitenhuis git at videolan.org
Mon Nov 7 22:03:51 CET 2011


ffmpeg | branch: master | Derek Buitenhuis <derek.buitenhuis at gmail.com> | Mon Nov  7 12:02:30 2011 -0500| [159609512c163c512827a5d41b2553f1dd9f2abc] | committer: Michael Niedermayer

libutvideodec: Check if the decode initializes correctly

Actually check the return value of DecodeBegin, to make
sure that it has encountered no errors.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis at gmail.com>
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=159609512c163c512827a5d41b2553f1dd9f2abc
---

 libavcodec/libutvideo.cpp |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/libavcodec/libutvideo.cpp b/libavcodec/libutvideo.cpp
index 10c47c2..7e770a7 100644
--- a/libavcodec/libutvideo.cpp
+++ b/libavcodec/libutvideo.cpp
@@ -51,6 +51,7 @@ static av_cold int utvideo_decode_init(AVCodecContext *avctx)
     UtVideoContext *utv = (UtVideoContext *)avctx->priv_data;
     UtVideoExtra info;
     int format;
+    int begin_ret;
     unsigned int buf_size;
 
     if(avctx->extradata_size != 4*4)
@@ -119,9 +120,17 @@ static av_cold int utvideo_decode_init(AVCodecContext *avctx)
     utv->codec = CCodec::CreateInstance(UNFCC(avctx->codec_tag), "libavcodec");
 
     /* Initialize Decoding */
-    utv->codec->DecodeBegin(format, avctx->width, avctx->height,
+    begin_ret = utv->codec->DecodeBegin(format, avctx->width, avctx->height,
                             CBGROSSWIDTH_WINDOWS, &info, sizeof(UtVideoExtra));
 
+    /* Check to see if the decoder initlized properly */
+    if(begin_ret != 0)
+    {
+        av_log(avctx, AV_LOG_ERROR,
+               "Could not initialize decoder: %d\n", begin_ret);
+        return -1;
+    }
+
     return 0;
 }
 



More information about the ffmpeg-cvslog mailing list