[FFmpeg-cvslog] ffmpeg: Check av_parser_change() for failure

Michael Niedermayer git at videolan.org
Fri Aug 21 03:38:53 CEST 2015


ffmpeg | branch: master | Michael Niedermayer <michael at niedermayer.cc> | Fri Aug 21 03:02:55 2015 +0200| [ac0ba6f233698f02ebb75b03242e94333dbe13d4] | committer: Michael Niedermayer

ffmpeg: Check av_parser_change() for failure

No testcase known

Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

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

 ffmpeg.c |    9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/ffmpeg.c b/ffmpeg.c
index 530b3aa..c26b581 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -1866,10 +1866,15 @@ static void do_streamcopy(InputStream *ist, OutputStream *ost, const AVPacket *p
        && ost->enc_ctx->codec_id != AV_CODEC_ID_MPEG2VIDEO
        && ost->enc_ctx->codec_id != AV_CODEC_ID_VC1
        ) {
-        if (av_parser_change(ost->parser, ost->st->codec,
+        int ret = av_parser_change(ost->parser, ost->st->codec,
                              &opkt.data, &opkt.size,
                              pkt->data, pkt->size,
-                             pkt->flags & AV_PKT_FLAG_KEY)) {
+                             pkt->flags & AV_PKT_FLAG_KEY);
+        if (ret < 0) {
+            av_log(NULL, AV_LOG_FATAL, "av_parser_change failed\n");
+            exit_program(1);
+        }
+        if (ret) {
             opkt.buf = av_buffer_create(opkt.data, opkt.size, av_buffer_default_free, NULL, 0);
             if (!opkt.buf)
                 exit_program(1);



More information about the ffmpeg-cvslog mailing list