[FFmpeg-cvslog] avformat/mlvdec: Use AVFormatContext->open_cb()

Michael Niedermayer git at videolan.org
Mon May 11 23:00:45 CEST 2015


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Mon May 11 22:38:21 2015 +0200| [62a1e0035a1438883510f47e8d9af0df5d3e9b53] | committer: Michael Niedermayer

avformat/mlvdec: Use AVFormatContext->open_cb()

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

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

 libavformat/mlvdec.c |    9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/libavformat/mlvdec.c b/libavformat/mlvdec.c
index 9d821bb..aa1ba60 100644
--- a/libavformat/mlvdec.c
+++ b/libavformat/mlvdec.c
@@ -28,6 +28,7 @@
 #include "libavutil/intreadwrite.h"
 #include "libavutil/rational.h"
 #include "avformat.h"
+#include "avio_internal.h"
 #include "internal.h"
 #include "riff.h"
 
@@ -331,11 +332,17 @@ static int read_header(AVFormatContext *avctx)
     if (strlen(avctx->filename) > 2) {
         int i;
         char *filename = av_strdup(avctx->filename);
+        AVOpenCallback open_func = avctx->open_cb;
+
         if (!filename)
             return AVERROR(ENOMEM);
+
+        if (!open_func)
+            open_func = ffio_open2_wrapper;
+
         for (i = 0; i < 100; i++) {
             snprintf(filename + strlen(filename) - 2, 3, "%02d", i);
-            if (avio_open2(&mlv->pb[i], filename, AVIO_FLAG_READ, &avctx->interrupt_callback, NULL) < 0)
+            if (open_func(avctx, &mlv->pb[i], filename, AVIO_FLAG_READ, &avctx->interrupt_callback, NULL) < 0)
                 break;
             if (check_file_header(mlv->pb[i], guid) < 0) {
                 av_log(avctx, AV_LOG_WARNING, "ignoring %s; bad format or guid mismatch\n", filename);



More information about the ffmpeg-cvslog mailing list