[Ffmpeg-devel] [Bad news]: MPEG Seek has failed to work in FFmpeg SVN
Michael Niedermayer
michaelni
Mon Nov 6 20:51:19 CET 2006
Hi
On Mon, Nov 06, 2006 at 07:42:08PM +0100, Steve Lhomme wrote:
> Michael Niedermayer wrote:
> >Hi
> >
> >On Mon, Nov 06, 2006 at 06:59:50PM +0100, Steve Lhomme wrote:
> >>Diego Biurrun wrote:
> >>>On Mon, Nov 06, 2006 at 05:58:52PM +0100, Steve Lhomme wrote:
> >>>>OK, I only added the possibility in ffplay to seek by bytes instead of
> >>>>time. Now you can play chems1.vob, seek back a few times and it will
> >>>>crash (on MinGW at least). It doesn't with our custom patch that was
> >>>>discussed a long time ago as a non valid/clean solution.
> >>>>
> >>>>$ ./ffplay.exe -bytes /C/test/DivX/chems1.vob
> >>>Forgot to attach the patch?
> >>What patch ?
> >>;)
> >
> >looks ok with one exception
> >
> >
> >[...]
> >>- incr = -10.0;
> >>+ if (seek_by_bytes)
> >>+ incr = 1861818;
> >>+ else
> >>+ incr = -10.0;
> >> goto do_seek;
> >> case SDLK_RIGHT:
> >>- incr = 10.0;
> >>+ if (seek_by_bytes)
> >>+ incr = 1861818;
> >>+ else
> >>+ incr = 10.0;
> >> goto do_seek;
> >> case SDLK_UP:
> >>- incr = 60.0;
> >>+ if (seek_by_bytes)
> >>+ incr = 8861818;
> >>+ else
> >>+ incr = 60.0;
> >> goto do_seek;
> >> case SDLK_DOWN:
> >>- incr = -60.0;
> >>+ if (seek_by_bytes)
> >>+ incr = -8861818;
> >>+ else
> >>+ incr = -60.0;
> >> do_seek:
> >> if (cur_stream) {
> >>- pos = get_master_clock(cur_stream);
> >>- pos += incr;
> >>- stream_seek(cur_stream, (int64_t)(pos *
> >>AV_TIME_BASE), incr);
> >>+ if (seek_by_bytes) {
> >>+ pos = url_ftell(&cur_stream->ic->pb);
> >>+ pos += incr;
> >>+ stream_seek(cur_stream, pos, incr);
> >>+ } else {
> >>+ pos = get_master_clock(cur_stream);
> >>+ pos += incr;
> >>+ stream_seek(cur_stream, (int64_t)(pos *
> >>AV_TIME_BASE), incr);
> >>+ }
> >
> >the above should rather set incr like it did and then muliply that by
> >AVFormatContext.bit_rate, if not zero if 0 then some default
>
> Yeah, I just put the actual size/location of where it crashes in
> chems1.vob in our app. Here's another patch with a more general value.
> (I made sure chems1.vob crashes too).
looks ok
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
In the past you could go to a library and read, borrow or copy any book
Today you'd get arrested for mere telling someone where the library is
More information about the ffmpeg-devel
mailing list