OSDN Git Service

extractor: Underp mpeg4 fastpath
authorRicardo Cerqueira <cyanogenmod@cerqueira.org>
Thu, 22 May 2014 15:54:02 +0000 (16:54 +0100)
committerRicardo Cerqueira <cyanogenmod@cerqueira.org>
Thu, 22 May 2014 15:54:02 +0000 (16:54 +0100)
Only run this _after_ validating the result of avformat_open_input()

Change-Id: Ib7969a7f723ba58219476ceb541e8dd24c7c922b

libstagefright/FFmpegExtractor/FFmpegExtractor.cpp

index 8094f1a..c3dcd4b 100644 (file)
@@ -1791,6 +1791,11 @@ static const char *SniffFFMPEGCommon(const char *url, float *confidence, bool fa
 
        err = avformat_open_input(&ic, url, NULL, NULL);
 
+       if (err < 0) {
+        ALOGE("%s: avformat_open_input failed, err:%s", url, av_err2str(err));
+               goto fail;
+       }
+
        if (ic->iformat != NULL && ic->iformat->name != NULL &&
                findMatchingContainer(ic->iformat->name) != NULL &&
                !strcasecmp(findMatchingContainer(ic->iformat->name),
@@ -1801,11 +1806,6 @@ static const char *SniffFFMPEGCommon(const char *url, float *confidence, bool fa
                }
        }
 
-       if (err < 0) {
-        ALOGE("%s: avformat_open_input failed, err:%s", url, av_err2str(err));
-               goto fail;
-       }
-
        opts = setup_find_stream_info_opts(ic, codec_opts);
        nb_streams = ic->nb_streams;
        err = avformat_find_stream_info(ic, opts);