[FFmpeg-cvslog] libdcadec: search for frames that start late in a packet

James Almer git at videolan.org
Sun May 24 18:17:15 CEST 2015


ffmpeg | branch: master | James Almer <jamrial at gmail.com> | Sun May 24 01:24:32 2015 -0300| [c5a07f1f8404d61a344662d1cc430b1a708a9dae] | committer: James Almer

libdcadec: search for frames that start late in a packet

Based on commit 4ae15605f6298d8369a1f1374596b52a3839c703

Reviewed-by: Hendrik Leppkes <h.leppkes at gmail.com>
Signed-off-by: James Almer <jamrial at gmail.com>

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

 libavcodec/libdcadec.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/libavcodec/libdcadec.c b/libavcodec/libdcadec.c
index 9ea61fa..890d270 100644
--- a/libavcodec/libdcadec.c
+++ b/libavcodec/libdcadec.c
@@ -58,7 +58,10 @@ static int dcadec_decode_frame(AVCodecContext *avctx, void *data,
         if (!s->buffer)
             return AVERROR(ENOMEM);
 
-        if ((ret = avpriv_dca_convert_bitstream(avpkt->data, avpkt->size, s->buffer, s->buffer_size)) < 0)
+        for (i = 0, ret = AVERROR_INVALIDDATA; i < input_size - 3 && ret < 0; i++)
+            ret = avpriv_dca_convert_bitstream(input + i, input_size - i, s->buffer, s->buffer_size);
+
+        if (ret < 0)
             return ret;
 
         input      = s->buffer;



More information about the ffmpeg-cvslog mailing list