<div dir="ltr">Hey - thanks a lot, that really helped. You focused right in on my issue... I guess a lot of libav noobs screw up the read function. OK now I'm getting 

<span style="color:rgb(0,0,0);font-family:monospace,fixed;font-size:13px;white-space:pre-wrap;background-color:rgb(251,252,253)">FFERRTAG( 'I','N','D','A') at least I'm making better progress now... </span><div><span style="color:rgb(0,0,0);font-family:monospace,fixed;font-size:13px;white-space:pre-wrap;background-color:rgb(251,252,253)">Thanks again!</span></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jan 23, 2020 at 3:41 PM drwho <<a href="mailto:drwho@infidigm.net" target="_blank">drwho@infidigm.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  
    
  
  <div>
    <p><br>
    </p>
    <p>avio_alloc_context() is the right direction.  Here is my
      implementation of your "read_fun" which uses a <a href="https://doc.qt.io/qt-5/qiodevice.html" target="_blank">QIODevice</a>
      instead of std::fstream.   libav calls read_fun when it wants
      data.  opaque will point to your ifs.  You need to read from ifs
      and fill libav's buffer (*buf) and then return how many bytes you
      put into the buffer.<br>
    </p>
    <p>static int read_fun(void *opaque, uint8_t *buf, int bufSize)<br>
      {<br>
          QIODevice *dataStream = (QIODevice *) opaque;<br>
          bufSize = FFMIN(bufSize, dataStream->bytesAvailable());<br>
          dataStream->read((char*)buf, bufSize);<br>
      <br>
          return bufSize;<br>
      }<br>
    </p>
    <div>On 2020-01-23 1:22 p.m., Ed Rupp wrote:<br>
    </div>
    <blockquote type="cite">
      
      <div dir="ltr">Hi,
        <div><br>
        </div>
        <div>TL;DR; Any direction on how to feed avformat a buffer of
          bytes (the contents of which are a complete file) instead of a
          file from disk is all I really need.</div>
        <div>Thanks for making this lib it's pretty amazing and I'm just
          getting started...</div>
        <div><br>
        </div>
        <div>
          <div>I'm working within a framework in which I
            receive complete files in the form of a uint8_t* and length.</div>
          <div>At first it seemed like the way to go would be custom
            IO... </div>
          <div>Here's some of the code</div>
          <div>//////////////////////</div>
          <div>AVFormatContext *fmt = avformat_alloc_context();</div>
          <div>std::fstream ifs;</div>
          <div>ifs.read(reinterpret_cast<char*>(my_data_from_framework),
            length);</div>
          <div>uint8_t *buf = (unsigned char*)av_malloc(8192); // magic
            number from web examples</div>
          <div>//The read functions below us fstream operations tellg
            and seekp.</div>
          <div>AVIOContext *avio = avio_alloc_context(buf, 8192, 0,
            (void*)&ifs, read_fun, NULL, seek_fun);</div>
          <div>fmt->pb = avio;</div>
          <div><br>
          </div>
          <div>//Some of the docs I read made it seem like passing a
            NULL for filename would work.</div>
          <div>int status = avformat_open_input(&fmt, NULL,
            NULL,NULL)</div>
          <div>//avformat_open_input is returning -1 and yes the seg
            fault happens at the next call below</div>
          <div><br>
          </div>
          <div>///////////////</div>
          <div><br>
          </div>
          <div>After doing the above I follow up with the following call
            and get a segfault</div>
          <div><br>
          </div>
          <div>avformat_find_stream_info(fmt, NULL);</div>
          <div><br>
          </div>
          <div><br>
          </div>
          <div>The docs and the code in libformat utils.c: init_input
            (see below) make it seem like I should be able to do this
            i.e. set pb on AVFormatContext but its not doing what I
            hoped:</div>
          <div>
            <div style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:13px;line-height:1;font-family:monospace,fixed;min-height:13px;white-space:pre-wrap;padding-left:53px;padding-bottom:0px;margin:0px;color:rgb(0,0,0)"><span style="padding-right:4px;text-align:right;border-right:2px solid rgb(0,255,0);background-color:rgb(232,232,232);white-space:pre-wrap">
  325</span> <span style="color:rgb(128,0,0)">/* Open input file and probe the format if necessary. */</span></div>
            <div style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:13px;line-height:1;font-family:monospace,fixed;min-height:13px;white-space:pre-wrap;padding-left:53px;padding-bottom:0px;margin:0px;color:rgb(0,0,0)"><a name="m_-8241868969817126755_m_-2734092740671854167_l00326" style="color:rgb(61,87,140)"></a><span style="padding-right:4px;text-align:right;border-right:2px solid rgb(0,255,0);background-color:rgb(232,232,232);white-space:pre-wrap"><a href="https://www.ffmpeg.org/doxygen/2.5/libavformat_2utils_8c.html#a18b3e6a0f95cd0b00f35765781f19d36" style="color:rgb(70,101,162);text-decoration-line:none;background-color:rgb(216,216,216)" target="_blank">  326</a></span> <span style="color:rgb(0,128,0)">static</span> <span style="color:rgb(96,64,32)">int</span> <a href="https://www.ffmpeg.org/doxygen/2.5/libavformat_2utils_8c.html#a18b3e6a0f95cd0b00f35765781f19d36" style="color:rgb(70,101,162)" target="_blank">init_input</a>(<a href="https://www.ffmpeg.org/doxygen/2.5/structAVFormatContext.html" title="Format I/O context." style="color:rgb(70,101,162);text-decoration-line:none" target="_blank">AVFormatContext</a> *<a href="https://www.ffmpeg.org/doxygen/2.5/avisynth__c_8h.html#ab87f55bd0280d90925050a4188c14ab5" style="color:rgb(70,101,162);text-decoration-line:none" target="_blank">s</a>, <span style="color:rgb(0,128,0)">const</span> <span style="color:rgb(96,64,32)">char</span> *filename,</div>
            <div style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:13px;line-height:1;font-family:monospace,fixed;min-height:13px;white-space:pre-wrap;padding-left:53px;padding-bottom:0px;margin:0px;color:rgb(0,0,0)"><a name="m_-8241868969817126755_m_-2734092740671854167_l00327" style="color:rgb(61,87,140)"></a><span style="padding-right:4px;text-align:right;border-right:2px solid rgb(0,255,0);background-color:rgb(232,232,232);white-space:pre-wrap">  327</span>                       <a href="https://www.ffmpeg.org/doxygen/2.5/structAVDictionary.html" style="color:rgb(70,101,162);text-decoration-line:none" target="_blank">AVDictionary</a> **<a href="https://www.ffmpeg.org/doxygen/2.5/ffmpeg_8h.html#abdbaa7127ef32aa4c435f3c609b4c2cd" style="color:rgb(70,101,162);text-decoration-line:none" target="_blank">options</a>)</div>
            <div style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:13px;line-height:1;font-family:monospace,fixed;min-height:13px;white-space:pre-wrap;padding-left:53px;padding-bottom:0px;margin:0px;color:rgb(0,0,0)"><a name="m_-8241868969817126755_m_-2734092740671854167_l00328" style="color:rgb(61,87,140)"></a><span style="padding-right:4px;text-align:right;border-right:2px solid rgb(0,255,0);background-color:rgb(232,232,232);white-space:pre-wrap">  328</span> {</div>
            <div style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:13px;line-height:1;font-family:monospace,fixed;min-height:13px;white-space:pre-wrap;padding-left:53px;padding-bottom:0px;margin:0px;color:rgb(0,0,0)"><a name="m_-8241868969817126755_m_-2734092740671854167_l00329" style="color:rgb(61,87,140)"></a><span style="padding-right:4px;text-align:right;border-right:2px solid rgb(0,255,0);background-color:rgb(232,232,232);white-space:pre-wrap">  329</span>     <span style="color:rgb(96,64,32)">int</span> <a href="https://www.ffmpeg.org/doxygen/2.5/avfilter_8c.html#a339672ff94e6199019102f50d317c3d7" style="color:rgb(70,101,162);text-decoration-line:none" target="_blank">ret</a>;</div>
            <div style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:13px;line-height:1;font-family:monospace,fixed;min-height:13px;white-space:pre-wrap;padding-left:53px;padding-bottom:0px;margin:0px;color:rgb(0,0,0)"><a name="m_-8241868969817126755_m_-2734092740671854167_l00330" style="color:rgb(61,87,140)"></a><span style="padding-right:4px;text-align:right;border-right:2px solid rgb(0,255,0);background-color:rgb(232,232,232);white-space:pre-wrap">  330</span>     <a href="https://www.ffmpeg.org/doxygen/2.5/structAVProbeData.html" title="This structure contains the data a format has to probe a file." style="color:rgb(70,101,162);text-decoration-line:none" target="_blank">AVProbeData</a> pd = { filename, NULL, 0 };</div>
            <div style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:13px;line-height:1;font-family:monospace,fixed;min-height:13px;white-space:pre-wrap;padding-left:53px;padding-bottom:0px;margin:0px;color:rgb(0,0,0)"><a name="m_-8241868969817126755_m_-2734092740671854167_l00331" style="color:rgb(61,87,140)"></a><span style="padding-right:4px;text-align:right;border-right:2px solid rgb(0,255,0);background-color:rgb(232,232,232);white-space:pre-wrap">  331</span>     <span style="color:rgb(96,64,32)">int</span> score = <a href="https://www.ffmpeg.org/doxygen/2.5/avformat_8h.html#adeacd8263046043734062588db39bce9" style="color:rgb(70,101,162);text-decoration-line:none" target="_blank">AVPROBE_SCORE_RETRY</a>;</div>
            <div style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:13px;line-height:1;font-family:monospace,fixed;min-height:13px;white-space:pre-wrap;padding-left:53px;padding-bottom:0px;margin:0px;color:rgb(0,0,0)"><a name="m_-8241868969817126755_m_-2734092740671854167_l00332" style="color:rgb(61,87,140)"></a><span style="padding-right:4px;text-align:right;border-right:2px solid rgb(0,255,0);background-color:rgb(232,232,232);white-space:pre-wrap">  332</span> </div>
            <div style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:13px;line-height:1;font-family:monospace,fixed;min-height:13px;white-space:pre-wrap;padding-left:53px;padding-bottom:0px;margin:0px;color:rgb(0,0,0)"><a name="m_-8241868969817126755_m_-2734092740671854167_l00333" style="color:rgb(61,87,140)"></a><span style="padding-right:4px;text-align:right;border-right:2px solid rgb(0,255,0);background-color:rgb(232,232,232);white-space:pre-wrap">  333</span>     <span style="color:rgb(224,128,0)">if</span> (s-><a href="https://www.ffmpeg.org/doxygen/2.5/structAVFormatContext.html#a1e7324262b6b78522e52064daaa7bc87" title="I/O context." style="color:rgb(70,101,162);text-decoration-line:none" target="_blank">pb</a>) {</div>
            <div style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:13px;line-height:1;font-family:monospace,fixed;min-height:13px;white-space:pre-wrap;padding-left:53px;padding-bottom:0px;margin:0px;color:rgb(0,0,0)"><a name="m_-8241868969817126755_m_-2734092740671854167_l00334" style="color:rgb(61,87,140)"></a><span style="padding-right:4px;text-align:right;border-right:2px solid rgb(0,255,0);background-color:rgb(232,232,232);white-space:pre-wrap">  334</span>         s-><a href="https://www.ffmpeg.org/doxygen/2.5/structAVFormatContext.html#a32379cc371463b235d54235d4af06a15" title="Flags modifying the (de)muxer behaviour." style="color:rgb(70,101,162);text-decoration-line:none" target="_blank">flags</a> |= <a href="https://www.ffmpeg.org/doxygen/2.5/avformat_8h.html#ac5fdea71141dcc30346a57df75cf408e" title="The caller has supplied a custom AVIOContext, don't avio_close() it." style="color:rgb(70,101,162);text-decoration-line:none" target="_blank">AVFMT_FLAG_CUSTOM_IO</a>;</div>
            <div style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:13px;line-height:1;font-family:monospace,fixed;min-height:13px;white-space:pre-wrap;padding-left:53px;padding-bottom:0px;margin:0px;color:rgb(0,0,0)"><a name="m_-8241868969817126755_m_-2734092740671854167_l00335" style="color:rgb(61,87,140)"></a><span style="padding-right:4px;text-align:right;border-right:2px solid rgb(0,255,0);background-color:rgb(232,232,232);white-space:pre-wrap">  335</span>         <span style="color:rgb(224,128,0)">if</span> (!s-><a href="https://www.ffmpeg.org/doxygen/2.5/structAVFormatContext.html#a78efc5a53c21c8d81197445207ac4374" title="The input container format." style="color:rgb(70,101,162);text-decoration-line:none" target="_blank">iformat</a>)</div>
            <div style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:13px;line-height:1;font-family:monospace,fixed;min-height:13px;white-space:pre-wrap;padding-left:53px;padding-bottom:0px;margin:0px;color:rgb(0,0,0)"><a name="m_-8241868969817126755_m_-2734092740671854167_l00336" style="color:rgb(61,87,140)"></a><span style="padding-right:4px;text-align:right;border-right:2px solid rgb(0,255,0);background-color:rgb(232,232,232);white-space:pre-wrap">  336</span>             <span style="color:rgb(224,128,0)">return</span> <a href="https://www.ffmpeg.org/doxygen/2.5/group__lavf__decoding.html#ga69e44bd9ade0160a8cd6196aa37505ea" title="Probe a bytestream to determine the input format." style="color:rgb(70,101,162);text-decoration-line:none" target="_blank">av_probe_input_buffer2</a>(s-><a href="https://www.ffmpeg.org/doxygen/2.5/structAVFormatContext.html#a1e7324262b6b78522e52064daaa7bc87" title="I/O context." style="color:rgb(70,101,162);text-decoration-line:none" target="_blank">pb</a>, &s-><a href="https://www.ffmpeg.org/doxygen/2.5/structAVFormatContext.html#a78efc5a53c21c8d81197445207ac4374" title="The input container format." style="color:rgb(70,101,162);text-decoration-line:none" target="_blank">iformat</a>, filename,</div>
            <div style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:13px;line-height:1;font-family:monospace,fixed;min-height:13px;white-space:pre-wrap;padding-left:53px;padding-bottom:0px;margin:0px;color:rgb(0,0,0)"><a name="m_-8241868969817126755_m_-2734092740671854167_l00337" style="color:rgb(61,87,140)"></a><span style="padding-right:4px;text-align:right;border-right:2px solid rgb(0,255,0);background-color:rgb(232,232,232);white-space:pre-wrap">  337</span>                                          s, 0, s-><a href="https://www.ffmpeg.org/doxygen/2.5/structAVFormatContext.html#a7d1f665ecabe03e3d18accbb1ebb32b1" title="number of bytes to read maximally to identify format." style="color:rgb(70,101,162);text-decoration-line:none" target="_blank">format_probesize</a>);</div>
            <div style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:13px;line-height:1;font-family:monospace,fixed;min-height:13px;white-space:pre-wrap;padding-left:53px;padding-bottom:0px;margin:0px;color:rgb(0,0,0)"><a name="m_-8241868969817126755_m_-2734092740671854167_l00338" style="color:rgb(61,87,140)"></a><span style="padding-right:4px;text-align:right;border-right:2px solid rgb(0,255,0);background-color:rgb(232,232,232);white-space:pre-wrap">  338</span>         <span style="color:rgb(224,128,0)">else</span> <span style="color:rgb(224,128,0)">if</span> (s-><a href="https://www.ffmpeg.org/doxygen/2.5/structAVFormatContext.html#a78efc5a53c21c8d81197445207ac4374" title="The input container format." style="color:rgb(70,101,162);text-decoration-line:none" target="_blank">iformat</a>-><a href="https://www.ffmpeg.org/doxygen/2.5/structAVInputFormat.html#a1b30f6647d0c2faf38ba8786d7c3a838" title="Can use flags: AVFMT_NOFILE, AVFMT_NEEDNUMBER, AVFMT_SHOW_IDS, AVFMT_GENERIC_INDEX, AVFMT_TS_DISCONT, AVFMT_NOBINSEARCH, AVFMT_NOGENSEARCH, AVFMT_NO_BYTE_SEEK, AVFMT_SEEK_TO_PTS." style="color:rgb(70,101,162);text-decoration-line:none" target="_blank">flags</a> & <a href="https://www.ffmpeg.org/doxygen/2.5/avformat_8h.html#a752cce390d480521919aa5d8be24ac0b" title="Demuxer will use avio_open, no opened file should be provided by the caller." style="color:rgb(70,101,162);text-decoration-line:none" target="_blank">AVFMT_NOFILE</a>)</div>
            <div style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:13px;line-height:1;font-family:monospace,fixed;min-height:13px;white-space:pre-wrap;padding-left:53px;padding-bottom:0px;margin:0px;color:rgb(0,0,0)"><a name="m_-8241868969817126755_m_-2734092740671854167_l00339" style="color:rgb(61,87,140)"></a><span style="padding-right:4px;text-align:right;border-right:2px solid rgb(0,255,0);background-color:rgb(232,232,232);white-space:pre-wrap">  339</span>             <a href="https://www.ffmpeg.org/doxygen/2.5/log_8c.html#a33c4311b86f031152c5a23b91c4fe862" style="color:rgb(70,101,162);text-decoration-line:none" target="_blank">av_log</a>(s, <a href="https://www.ffmpeg.org/doxygen/2.5/group__lavu__log__constants.html#ga85b57516ca703cc47d9bbe5f4658c716" title="Something somehow does not look correct." style="color:rgb(70,101,162);text-decoration-line:none" target="_blank">AV_LOG_WARNING</a>, <span style="color:rgb(0,32,128)">"Custom AVIOContext makes no sense and "</span></div>
            <div style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:13px;line-height:1;font-family:monospace,fixed;min-height:13px;white-space:pre-wrap;padding-left:53px;padding-bottom:0px;margin:0px;color:rgb(0,0,0)"><a name="m_-8241868969817126755_m_-2734092740671854167_l00340" style="color:rgb(61,87,140)"></a><span style="padding-right:4px;text-align:right;border-right:2px solid rgb(0,255,0);background-color:rgb(232,232,232);white-space:pre-wrap">  340</span>                                       <span style="color:rgb(0,32,128)">"will be ignored with AVFMT_NOFILE format.\n"</span>);</div>
            <div style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:13px;line-height:1;font-family:monospace,fixed;min-height:13px;white-space:pre-wrap;padding-left:53px;padding-bottom:0px;margin:0px;color:rgb(0,0,0)"><a name="m_-8241868969817126755_m_-2734092740671854167_l00341" style="color:rgb(61,87,140)"></a><span style="padding-right:4px;text-align:right;border-right:2px solid rgb(0,255,0);background-color:rgb(232,232,232);white-space:pre-wrap">  341</span>         <span style="color:rgb(224,128,0)">return</span> 0;</div>
            <div style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:13px;line-height:1;font-family:monospace,fixed;min-height:13px;white-space:pre-wrap;padding-left:53px;padding-bottom:0px;margin:0px;color:rgb(0,0,0)"><a name="m_-8241868969817126755_m_-2734092740671854167_l00342" style="color:rgb(61,87,140)"></a><span style="padding-right:4px;text-align:right;border-right:2px solid rgb(0,255,0);background-color:rgb(232,232,232);white-space:pre-wrap">  342</span>     }</div>
            <div style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:13px;line-height:1;font-family:monospace,fixed;min-height:13px;white-space:pre-wrap;padding-left:53px;padding-bottom:0px;margin:0px;color:rgb(0,0,0)"><a name="m_-8241868969817126755_m_-2734092740671854167_l00343" style="color:rgb(61,87,140)"></a><span style="padding-right:4px;text-align:right;border-right:2px solid rgb(0,255,0);background-color:rgb(232,232,232);white-space:pre-wrap">  343</span> </div>
            <div style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:13px;line-height:1;font-family:monospace,fixed;min-height:13px;white-space:pre-wrap;padding-left:53px;padding-bottom:0px;margin:0px;color:rgb(0,0,0)"><a name="m_-8241868969817126755_m_-2734092740671854167_l00344" style="color:rgb(61,87,140)"></a><span style="padding-right:4px;text-align:right;border-right:2px solid rgb(0,255,0);background-color:rgb(232,232,232);white-space:pre-wrap">  344</span>     <span style="color:rgb(224,128,0)">if</span> ((s-><a href="https://www.ffmpeg.org/doxygen/2.5/structAVFormatContext.html#a78efc5a53c21c8d81197445207ac4374" title="The input container format." style="color:rgb(70,101,162);text-decoration-line:none" target="_blank">iformat</a> && s-><a href="https://www.ffmpeg.org/doxygen/2.5/structAVFormatContext.html#a78efc5a53c21c8d81197445207ac4374" title="The input container format." style="color:rgb(70,101,162);text-decoration-line:none" target="_blank">iformat</a>-><a href="https://www.ffmpeg.org/doxygen/2.5/structAVInputFormat.html#a1b30f6647d0c2faf38ba8786d7c3a838" title="Can use flags: AVFMT_NOFILE, AVFMT_NEEDNUMBER, AVFMT_SHOW_IDS, AVFMT_GENERIC_INDEX, AVFMT_TS_DISCONT, AVFMT_NOBINSEARCH, AVFMT_NOGENSEARCH, AVFMT_NO_BYTE_SEEK, AVFMT_SEEK_TO_PTS." style="color:rgb(70,101,162);text-decoration-line:none" target="_blank">flags</a> & <a href="https://www.ffmpeg.org/doxygen/2.5/avformat_8h.html#a752cce390d480521919aa5d8be24ac0b" title="Demuxer will use avio_open, no opened file should be provided by the caller." style="color:rgb(70,101,162);text-decoration-line:none" target="_blank">AVFMT_NOFILE</a>) ||</div>
            <div style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:13px;line-height:1;font-family:monospace,fixed;min-height:13px;white-space:pre-wrap;padding-left:53px;padding-bottom:0px;margin:0px;color:rgb(0,0,0)"><a name="m_-8241868969817126755_m_-2734092740671854167_l00345" style="color:rgb(61,87,140)"></a><span style="padding-right:4px;text-align:right;border-right:2px solid rgb(0,255,0);background-color:rgb(232,232,232);white-space:pre-wrap">  345</span>         (!s-><a href="https://www.ffmpeg.org/doxygen/2.5/structAVFormatContext.html#a78efc5a53c21c8d81197445207ac4374" title="The input container format." style="color:rgb(70,101,162);text-decoration-line:none" target="_blank">iformat</a> && (s-><a href="https://www.ffmpeg.org/doxygen/2.5/structAVFormatContext.html#a78efc5a53c21c8d81197445207ac4374" title="The input container format." style="color:rgb(70,101,162);text-decoration-line:none" target="_blank">iformat</a> = <a href="https://www.ffmpeg.org/doxygen/2.5/group__lavf__decoding.html#gae8b938f6e7c3741dd27a6c171e72f33d" title="Guess the file format." style="color:rgb(70,101,162);text-decoration-line:none" target="_blank">av_probe_input_format2</a>(&pd, 0, &score))))</div>
            <div style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:13px;line-height:1;font-family:monospace,fixed;min-height:13px;white-space:pre-wrap;padding-left:53px;padding-bottom:0px;margin:0px;color:rgb(0,0,0)"><a name="m_-8241868969817126755_m_-2734092740671854167_l00346" style="color:rgb(61,87,140)"></a><span style="padding-right:4px;text-align:right;border-right:2px solid rgb(0,255,0);background-color:rgb(232,232,232);white-space:pre-wrap">  346</span>         <span style="color:rgb(224,128,0)">return</span> score;</div>
            <div style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:13px;line-height:1;font-family:monospace,fixed;min-height:13px;white-space:pre-wrap;padding-left:53px;padding-bottom:0px;margin:0px;color:rgb(0,0,0)"><a name="m_-8241868969817126755_m_-2734092740671854167_l00347" style="color:rgb(61,87,140)"></a><span style="padding-right:4px;text-align:right;border-right:2px solid rgb(0,255,0);background-color:rgb(232,232,232);white-space:pre-wrap">  347</span> </div>
            <div style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:13px;line-height:1;font-family:monospace,fixed;min-height:13px;white-space:pre-wrap;padding-left:53px;padding-bottom:0px;margin:0px;color:rgb(0,0,0)"><a name="m_-8241868969817126755_m_-2734092740671854167_l00348" style="color:rgb(61,87,140)"></a><span style="padding-right:4px;text-align:right;border-right:2px solid rgb(0,255,0);background-color:rgb(232,232,232);white-space:pre-wrap">  348</span>     <span style="color:rgb(224,128,0)">if</span> ((ret = <a href="https://www.ffmpeg.org/doxygen/2.5/avio_8h.html#ade8a63980569494c99593ebf0d1e891b" title="Create and initialize a AVIOContext for accessing the resource indicated by url." style="color:rgb(70,101,162);text-decoration-line:none" target="_blank">avio_open2</a>(&s-><a href="https://www.ffmpeg.org/doxygen/2.5/structAVFormatContext.html#a1e7324262b6b78522e52064daaa7bc87" title="I/O context." style="color:rgb(70,101,162);text-decoration-line:none" target="_blank">pb</a>, filename, <a href="https://www.ffmpeg.org/doxygen/2.5/avio_8h.html#a21e61cb486bd1588eb7f775998cf8c77" title="read-only" style="color:rgb(70,101,162);text-decoration-line:none" target="_blank">AVIO_FLAG_READ</a> | s-><a href="https://www.ffmpeg.org/doxygen/2.5/structAVFormatContext.html#a5e6814c9de3c272396f07e2ff18c7b27" title="avio flags, used to force AVIO_FLAG_DIRECT." style="color:rgb(70,101,162);text-decoration-line:none" target="_blank">avio_flags</a>,</div>
            <div style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:13px;line-height:1;font-family:monospace,fixed;min-height:13px;white-space:pre-wrap;padding-left:53px;padding-bottom:0px;margin:0px;color:rgb(0,0,0)"><a name="m_-8241868969817126755_m_-2734092740671854167_l00349" style="color:rgb(61,87,140)"></a><span style="padding-right:4px;text-align:right;border-right:2px solid rgb(0,255,0);background-color:rgb(232,232,232);white-space:pre-wrap">  349</span>                           &s-><a href="https://www.ffmpeg.org/doxygen/2.5/structAVFormatContext.html#a5b37acfe4024d92ee510064e80920b40" title="Custom interrupt callbacks for the I/O layer." style="color:rgb(70,101,162);text-decoration-line:none" target="_blank">interrupt_callback</a>, options)) < 0)</div>
            <div style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:13px;line-height:1;font-family:monospace,fixed;min-height:13px;white-space:pre-wrap;padding-left:53px;padding-bottom:0px;margin:0px;color:rgb(0,0,0)"><a name="m_-8241868969817126755_m_-2734092740671854167_l00350" style="color:rgb(61,87,140)"></a><span style="padding-right:4px;text-align:right;border-right:2px solid rgb(0,255,0);background-color:rgb(232,232,232);white-space:pre-wrap">  350</span>         <span style="color:rgb(224,128,0)">return</span> <a href="https://www.ffmpeg.org/doxygen/2.5/avfilter_8c.html#a339672ff94e6199019102f50d317c3d7" style="color:rgb(70,101,162);text-decoration-line:none" target="_blank">ret</a>;</div>
            <div style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:13px;line-height:1;font-family:monospace,fixed;min-height:13px;white-space:pre-wrap;padding-left:53px;padding-bottom:0px;margin:0px;color:rgb(0,0,0)"><a name="m_-8241868969817126755_m_-2734092740671854167_l00351" style="color:rgb(61,87,140)"></a><span style="padding-right:4px;text-align:right;border-right:2px solid rgb(0,255,0);background-color:rgb(232,232,232);white-space:pre-wrap">  351</span>     <span style="color:rgb(224,128,0)">if</span> (s-><a href="https://www.ffmpeg.org/doxygen/2.5/structAVFormatContext.html#a78efc5a53c21c8d81197445207ac4374" title="The input container format." style="color:rgb(70,101,162);text-decoration-line:none" target="_blank">iformat</a>)</div>
            <div style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:13px;line-height:1;font-family:monospace,fixed;min-height:13px;white-space:pre-wrap;padding-left:53px;padding-bottom:0px;margin:0px;color:rgb(0,0,0)"><a name="m_-8241868969817126755_m_-2734092740671854167_l00352" style="color:rgb(61,87,140)"></a><span style="padding-right:4px;text-align:right;border-right:2px solid rgb(0,255,0);background-color:rgb(232,232,232);white-space:pre-wrap">  352</span>         <span style="color:rgb(224,128,0)">return</span> 0;</div>
            <div style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:13px;line-height:1;font-family:monospace,fixed;min-height:13px;white-space:pre-wrap;padding-left:53px;padding-bottom:0px;margin:0px;color:rgb(0,0,0)"><a name="m_-8241868969817126755_m_-2734092740671854167_l00353" style="color:rgb(61,87,140)"></a><span style="padding-right:4px;text-align:right;border-right:2px solid rgb(0,255,0);background-color:rgb(232,232,232);white-space:pre-wrap">  353</span>     <span style="color:rgb(224,128,0)">return</span> <a href="https://www.ffmpeg.org/doxygen/2.5/group__lavf__decoding.html#ga69e44bd9ade0160a8cd6196aa37505ea" title="Probe a bytestream to determine the input format." style="color:rgb(70,101,162);text-decoration-line:none" target="_blank">av_probe_input_buffer2</a>(s-><a href="https://www.ffmpeg.org/doxygen/2.5/structAVFormatContext.html#a1e7324262b6b78522e52064daaa7bc87" title="I/O context." style="color:rgb(70,101,162);text-decoration-line:none" target="_blank">pb</a>, &s-><a href="https://www.ffmpeg.org/doxygen/2.5/structAVFormatContext.html#a78efc5a53c21c8d81197445207ac4374" title="The input container format." style="color:rgb(70,101,162);text-decoration-line:none" target="_blank">iformat</a>, filename,</div>
            <div style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:13px;line-height:1;font-family:monospace,fixed;min-height:13px;white-space:pre-wrap;padding-left:53px;padding-bottom:0px;margin:0px;color:rgb(0,0,0)"><a name="m_-8241868969817126755_m_-2734092740671854167_l00354" style="color:rgb(61,87,140)"></a><span style="padding-right:4px;text-align:right;border-right:2px solid rgb(0,255,0);background-color:rgb(232,232,232);white-space:pre-wrap">  354</span></div>
          </div>
        </div>
        <div style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:13px;line-height:1;font-family:monospace,fixed;min-height:13px;white-space:pre-wrap;padding-left:53px;padding-bottom:0px;margin:0px;color:rgb(0,0,0)"><span style="padding-right:4px;text-align:right;border-right:2px solid rgb(0,255,0);background-color:rgb(232,232,232);white-space:pre-wrap">
</span></div>
        <div style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:13px;line-height:1;font-family:monospace,fixed;min-height:13px;white-space:pre-wrap;padding-left:53px;padding-bottom:0px;margin:0px;color:rgb(0,0,0)"><span style="padding-right:4px;text-align:right;border-right:2px solid rgb(0,255,0);background-color:rgb(232,232,232);white-space:pre-wrap">
</span></div>
        <div style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:13px;line-height:1;font-family:monospace,fixed;min-height:13px;white-space:pre-wrap;padding-left:53px;padding-bottom:0px;margin:0px;color:rgb(0,0,0)"><span style="padding-right:4px;text-align:right;border-right:2px solid rgb(0,255,0);background-color:rgb(232,232,232);white-space:pre-wrap">
</span></div>
        <div style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:13px;line-height:1;font-family:monospace,fixed;min-height:13px;white-space:pre-wrap;padding-left:53px;padding-bottom:0px;margin:0px;color:rgb(0,0,0)"><span style="padding-right:4px;text-align:right;border-right:2px solid rgb(0,255,0);background-color:rgb(232,232,232);white-space:pre-wrap">
</span></div>
        <div style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:13px;line-height:1;font-family:monospace,fixed;min-height:13px;white-space:pre-wrap;padding-left:53px;padding-bottom:0px;margin:0px;color:rgb(0,0,0)"><span style="padding-right:4px;text-align:right;border-right:2px solid rgb(0,255,0);background-color:rgb(232,232,232);white-space:pre-wrap">Thanks</span></div>
        <div style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:13px;line-height:1;font-family:monospace,fixed;min-height:13px;white-space:pre-wrap;padding-left:53px;padding-bottom:0px;margin:0px;color:rgb(0,0,0)">Ed</div>
      </div>
      <br>
      <fieldset></fieldset>
      <pre>_______________________________________________
Libav-user mailing list
<a href="mailto:Libav-user@ffmpeg.org" target="_blank">Libav-user@ffmpeg.org</a>
<a href="https://ffmpeg.org/mailman/listinfo/libav-user" target="_blank">https://ffmpeg.org/mailman/listinfo/libav-user</a>

To unsubscribe, visit link above, or email
<a href="mailto:libav-user-request@ffmpeg.org" target="_blank">libav-user-request@ffmpeg.org</a> with subject "unsubscribe".</pre>
    </blockquote>
  </div>

_______________________________________________<br>
Libav-user mailing list<br>
<a href="mailto:Libav-user@ffmpeg.org" target="_blank">Libav-user@ffmpeg.org</a><br>
<a href="https://ffmpeg.org/mailman/listinfo/libav-user" rel="noreferrer" target="_blank">https://ffmpeg.org/mailman/listinfo/libav-user</a><br>
<br>
To unsubscribe, visit link above, or email<br>
<a href="mailto:libav-user-request@ffmpeg.org" target="_blank">libav-user-request@ffmpeg.org</a> with subject "unsubscribe".</blockquote></div>