<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>