[mythtv] Re: [mythtv-commits] mythtv commit: r7076 by danielk

Mark Spieth mark at dclabs.com.au
Fri Aug 19 03:30:11 UTC 2005


>       Author: danielk
>         Date: 2005-08-19 03:11:49 +0000 (Fri, 19 Aug 2005)
> New Revision: 7076
>    Changeset: http://cvs.mythtv.org/trac/changeset/7076
>
> Modified:
>
>    trunk/mythtv/libs/libmythtv/avformatdecoder.cpp
>    trunk/mythtv/libs/libmythtv/decoderbase.cpp
>
> Log:
>
> This fixes the seek problem as it concerns the DummyDTVRecorder.
>
> It turns out the problem is due to the av_seek fallback in
> avformatdecoder. In particular this line:
>     if (av_seek_frame(ic, -1, ts, AVSEEK_FLAG_BACKWARD) < 0)
> I don't know if that seek backward flag is really appropriate
> in DoFastForward.

I did this as the newer update to ffmpeg stuff where av_seek_frame is
implemented added these flags.
thus it seeks to a frame and then either goes forward or backwards to the
next key frame depending on this flag.
backwards is the correct thing to do in all cases as the seek code in
avformatdecoder then advances the frame count again so that the current
frame is complete.
cheers
mark

>
> The av_seek needs to be fixed, but the solution to the
> DummyDTVRecorder problem is much simpler...
>
> The reason it was using the fallback method when you seek right
> after LiveTV starts is that not every path calling SyncPositionMap
> sets the recordingHasPositionMap variable, and seek may be called
> before a sync has been successfully completed in LiveTV mode. The
> solution is to set recordingHasPositionMap in SyncPositionMap,
> and always use the position map seek in LiveTV mode, where you
> should always be able to get one.
>
>
>
>
>



_______________________________________________
mythtv-commits mailing list
mythtv-commits at mythtv.org
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-commits



More information about the mythtv-dev mailing list