I have managed to fix most of my problems with av_seek_frame() .. the
server in question was sending an Accept-Ranges: header to indicate a
seekable stream, but not using the correct 206 partial response with a
Content-Range: header.  

Once that was taken care of, backward seeks, and make short seeks
forwards, behave as I expected.  But I'm still having some problem with
longer forward seeks.

>From what I have seen in the avio code, if the requested offset is more
than SHORT_SEEK_THRESHOLD bytes beyond the currently available buffer,
url_fseek() should request an actual seek from the ByteIOContext (in
this case, always the http protocol).  However, what I'm seeing is that
no matter how far ahead I attempt to seek, I don't get the expected new
HTTP request with a Range: request; instead, libavformat just spins
waiting for the bytes to arrive normally, as if it was always doing a
short seek.

Is there something more involved going on that I am missing?  

--Mike

_______________________________________________
libav-user mailing list
[email protected]
https://lists.mplayerhq.hu/mailman/listinfo/libav-user

Reply via email to