
amb at gedanken
May 11, 2006, 1:03 AM
Views: 1245
Permalink
|
|
Transcode first/last frame problem [patch to v0.19]
|
|
One of the problems with mythtranscode is that even when the cutlist specifies that the first and last frames are to be cut out they appear in the output. If the cut list is "0-x,y-end" where 'x' and 'y' are arbitrary and 'end' is the last frame in the recording (e.g. if only transcoding a section from the middle) then the first and the last frames still appear in the transcode output. The patch for this is in NuppelVideoPlayer.cpp and makes sure that if the first or last frame are cut then they are not output. -------------------- NuppelVideoPlayer.cpp patch -------------------- diff -u NuppelVideoPlayer.orig.cpp NuppelVideoPlayer.cpp --- NuppelVideoPlayer.orig.cpp 2006-05-11 08:55:40.000000000 +0100 +++ NuppelVideoPlayer.cpp 2006-05-11 08:52:40.000000000 +0100 @@ -4346,7 +4346,8 @@ if (honorCutList && (!deleteMap.isEmpty())) { - if (videoOutput->GetLastDecodedFrame()->frameNumber >= dm_iter.key()) + if (videoOutput->GetLastDecodedFrame()->frameNumber >= dm_iter.key() || + (videoOutput->GetLastDecodedFrame()->frameNumber == -1 && dm_iter.key() == 0)) { while((dm_iter.data() == 1) && (dm_iter != deleteMap.end())) { @@ -4355,6 +4356,8 @@ dm_iter++; msg += QString(" to %1").arg((int)dm_iter.key()); VERBOSE(VB_GENERAL, msg); + if(dm_iter.key() == GetTotalFrameCount()) + return false; GetDecoder()->DoFastForward(dm_iter.key()); GetDecoder()->ClearStoredData(); ClearAfterSeek(); -------------------- NuppelVideoPlayer.cpp patch -------------------- -- Andrew. ---------------------------------------------------------------------- Andrew M. Bishop amb[at]gedanken.demon.co.uk http://www.gedanken.demon.co.uk/ _______________________________________________ mythtv-dev mailing list mythtv-dev[at]mythtv.org http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev
|