ffmpeg | branch: release/2.6 | Andreas Cadhalpun 
<andreas.cadhal...@googlemail.com> | Tue Apr 28 00:30:51 2015 +0200| 
[d35086d715067c9e317a5d2f8c598a5d377df1ae] | committer: Andreas Cadhalpun

apedec: set s->samples only when init_frame_decoder succeeded

Otherwise range_start_decoding is not necessarily run and thus
ctx->rc.range still 0 in range_dec_normalize leading to an infinite
loop.

Signed-off-by: Andreas Cadhalpun <andreas.cadhal...@googlemail.com>
Signed-off-by: Michael Niedermayer <michae...@gmx.at>
(cherry picked from commit 464c49155ce7ffc88ed39eb2511e7a75565c24be)
Signed-off-by: Andreas Cadhalpun <andreas.cadhal...@googlemail.com>

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

 libavcodec/apedec.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/apedec.c b/libavcodec/apedec.c
index 536361c..ffd54c1 100644
--- a/libavcodec/apedec.c
+++ b/libavcodec/apedec.c
@@ -1461,13 +1461,13 @@ static int ape_decode_frame(AVCodecContext *avctx, void 
*data,
                    nblocks);
             return AVERROR_INVALIDDATA;
         }
-        s->samples = nblocks;
 
         /* Initialize the frame decoder */
         if (init_frame_decoder(s) < 0) {
             av_log(avctx, AV_LOG_ERROR, "Error reading frame header\n");
             return AVERROR_INVALIDDATA;
         }
+        s->samples = nblocks;
     }
 
     if (!s->data) {

_______________________________________________
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

Reply via email to