[mythtv] mythtranscode, key frames and fifo output

Chris Pinkham cpinkham at bc2va.org
Mon Apr 4 02:32:56 UTC 2005


> > Actually they don't, mythtranscode has it's own code for skipping the
> > frames in the cutlist, so I assume if there's a bug it's in there
> > somewhere.
> 
> ahhh....  well that explains it, then.

Actually now that I look at the code, I think there's a third place, so just
to verify, can you either add some debug statements to
NuppelVideoPlayer::TranscodeGetNextFrame() around the while() loop or apply
the attached patch to test.  I want to make sure this is where the cuts are
being made and verify the frames you're seeing before and after the cut.  It
appears to be working correctly for me on a MPEG4 .nuv file.

Apply the patch and then test a transcode and as it goes through the file,
it should print out the frame the cut starts at and the frame the cut ends
at.  See if they match up with the frames you set in the cutlist.

-- 

Chris

-------------- next part --------------
Index: NuppelVideoPlayer.cpp
===================================================================
RCS file: /var/lib/mythcvs/mythtv/libs/libmythtv/NuppelVideoPlayer.cpp,v
retrieving revision 1.450
diff -u -r1.450 NuppelVideoPlayer.cpp
--- NuppelVideoPlayer.cpp	1 Apr 2005 04:55:19 -0000	1.450
+++ NuppelVideoPlayer.cpp	4 Apr 2005 02:11:55 -0000
@@ -3450,6 +3450,7 @@
     {
         if (videoOutput->GetLastDecodedFrame()->frameNumber >= dm_iter.key())
         {
+cerr << "BEFORE: frameNumber = " << (long)videoOutput->GetLastDecodedFrame()->frameNumber << endl;
             while((dm_iter.data() == 1) && (dm_iter != deleteMap.end()))
             {
                 QString msg = QString("Fast-Forwarding from %1")
@@ -3463,6 +3464,7 @@
                 decoder->GetFrame(0);
                 *did_ff = 1;
             }
+cerr << "AFTER : frameNumber = " << (long)videoOutput->GetLastDecodedFrame()->frameNumber << endl << endl;
             while((dm_iter.data() == 0) && (dm_iter != deleteMap.end()))
             {
                 dm_iter++;


More information about the mythtv-dev mailing list