[Libav-user] Reading from a stream

J Decker d3ck0r at gmail.com
Fri Apr 18 09:56:25 CEST 2014


I'm attempting to use custom IO.  I have successfully used it to remap
fopen, fread, fseek etc.  I have mostly successfully done the same for this
network stream...

Question is... It looks like if I supply no seek routine, the custom IO
should set a characteristics sort of flag indicating no seek... but without
the seek it fails to read the stream; is there a suggested codec/container
format to use that doesn't seek to the end or near the end first?

Also, it is given that I should
avio_alloc_context
foramt_alloc_context
(do something to start opening the file)

use some of the file and call  av_probe_input_format... and
finally avformat_open_input with a blank filename....

I notice that open_input with a filename must not do this same step...
because, with this sample movie I have, with the probe, the open_input
seeks to read the last 8 bytes and then fails indicating a bad format.  If
I bypass the probe, or pass it a 0 size, then the avformat_open_input is
able to read, but it seeks to the end minus 18k(something)  and reads to
the end in 2k blocks... and I'm subsequently able to get audio and sound
streams to play... but not if I call the probe_infput_format first...

I'm not sure what the return of the original probe is; but it's 0 when the
video loads.

I see that the command line tool is supposed to support pipes (at least on
some platforms), so I assume it does a similar thing to build a IO context
that doesnt' have seek?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://ffmpeg.org/pipermail/libav-user/attachments/20140418/2c6d4379/attachment.html>


More information about the Libav-user mailing list