From: James Courtier-D. <Ja...@su...> - 2002-04-16 11:11:49
|
Miguel Freitas wrote: >On Sun, 2002-04-14 at 22:21, James Courtier-Dutton wrote: > > >>>I had not noticed the problem of seeking when plugin is blocked. I see >>>it now. >>>I did see a problem with stopping or trying to exit xine when on a >>>still menu, I.E. input read_block function sleeping. >>>I can fix the seeking on still menu problem as I fixed the stop/exit >>>problem as the issue is similar. >>> >>> >>> >>> >>It does not hang any more, but I have noticed that the seek function >>seeks to the wrong place. >>I suspect the seek function in dvdnav, but will look at the problem later. >> >> > >James, > >You have not understood me: both of the suggestions i sent in my >previous message had their drawbacks. The fix you commited to >demux_mpeg_block actually _breaks_ seeking of mpeg2 streams, including >when using the default dvd plugin. > >Since you only care about dvd and dvdnav, why can't you fix this issue >using a patch similar to this one: > >--- input/input_dvdnav.c 13 Apr 2002 13:35:36 -0000 1.131 >+++ input/input_dvdnav.c 16 Apr 2002 03:09:38 -0000 >@@ -519,6 +519,9 @@ > dvdnav_still_event_t *still_event = > (dvdnav_still_event_t*)(buf->mem); > >+ buf->type = BUF_CONTROL_NOP; >+ finished = 1; >+ > /* Xine's method of doing still-frames */ > if (this->pause_timer == 0) { > dprint("dvdnav:input_dvdnav.c:Stillframe! (pause time = >0x%02x)\n", > >dvdnav used to send BUF_VIDEO_FILL so the code to maintain the still >duration across multiple read_block calls must be somewhere in cvs. you >just have to change it to a NOP and none of input->stop() patches would >be needed. > > >regards, > >Miguel > No problem, that seems easy enough. Cheers James > > |