On Tue, Nov 8, 2011 at 5:36 AM, dream01 at email.it <[email protected]> wrote: > Matthew Einhorn <moiein2000@...> writes: > >> Have you looked into using custom IO calls like here: >> http://cdry.wordpress.com/2009/09/09/using-custom-io-callbacks-with-ffmpeg/ > > Thank you very much! It's exactly what I need. > But it works only partially, I mean, I'm able to play the movie file directly > from the buffer but I am not able to seek. > > I've implemented the seek function but it doesn't work as expected. > As I seek, the seek callback function is correctly called with > SEEK_SET as whence but it behaves in a strange way. > > I try to explain this clearly: > > seek function is called with the required file position to seek to, > then I seek into my buffer to reach the > required position and return the new position after seek. > Remember that my buffer is an exact 1:1 copy byte by byte of > the entire file, so seeking to a certain position in a file is > equal to seeking to that position in my buffer. > > After seek callback function has returned, it gets called > once again with SEEK_SET as whence and with a negative offset, > therefore I am supposed to seek to a negative position in > my file/buffer. > This obviously makes seek function to return -1 and therefore > also av_seek_frame returns -1 and this is interpreted as end-of-file. > > Where is the mistake? > I don't know if this is important or not, but my buffer is a copy of > a m2ts file which contains: > video (h264), audio (DTS and AC3) and subtitles (PGS). >
I haven't personally used the custom IO interface so I don't know why you're having trouble, but I believe there's a flag called seekable which you can set to 0 if you don't need seeking, but that won't fix seeking. _______________________________________________ Libav-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/libav-user
