[mythtv] commflag debugging

Steve Adeff adeffs at gmail.com
Thu Jan 19 22:27:56 UTC 2006


Daniel Chassot <daniel.chassot[at]gmail.com> wrote [01.02.06]: 
>  On 1/2/06, Jim Westfall <jwestfall[at]surrealistic.net> wrote:
> > In the main recording I have been looking at commflag finds the first
> > break as frame 40130 (verified with your debugging code). When this video
> > frame (not number) shows up in mythfrontend its frame number 37319. This
> > of course screws up commbreak skips, when mythfrontend get to what it
> > calls frame #40130 ist no where near the commercial.
> 
> This makes me think to a similar problem I have while rebuilding the
> seek indexes on my DVB recordings, perhaps it is the same one as
> yours.
> 
> While rebuilding the seed indexes, I get these messages (--rebuild -v 
playback):
> 2006-01-02 11:31:30.969 NVP: ClearAfterSeek()
> 2006-01-02 11:31:30.971 AFD: positionMap[ 0 ] == 376.
> 2006-01-02 11:31:30.979 AFD: positionMap[ 0 ] == 213192.
> 2006-01-02 11:31:30.996 AFD: HandleGopStart: gopset not set, syncing 
positionMap
> 2006-01-02 11:31:30.996 Resyncing position map. posmapStarted = 0
> livetv(0) watchingRec(0)
> 2006-01-02 11:31:30.997 SyncPositionMap prerecorded, from DB: 2 entries
> 2006-01-02 11:31:30.997 AFD: HandleGopStart: Initial key frame distance: 15.
> 2006-01-02 11:31:30.997 AFD: positionMap[ 1 ] == 715152.
> 2006-01-02 11:31:31.017 AFD: HandleGopStart: Key frame distance
> changed from 16 to 18.
> 2006-01-02 11:31:31.017 AFD: positionMap[ 2 ] == 1272948.
> 2006-01-02 11:31:31.031 AFD: HandleGopStart: Key frame distance
> changed from 18 to 17.
> 2006-01-02 11:31:31.031 AFD: positionMap[ 3 ] == 1768704.
> 2006-01-02 11:31:31.046 AFD: positionMap[ 4 ] == 2286268.
> 2006-01-02 11:31:31.063 AFD: HandleGopStart: Key frame distance
> changed from 17 to 18.
> 2006-01-02 11:31:31.063 AFD: positionMap[ 5 ] == 2921332.
> 2006-01-02 11:31:31.080 AFD: HandleGopStart: Key frame distance
> changed from 18 to 19.
> 2006-01-02 11:31:31.080 AFD: positionMap[ 6 ] == 3582904.
> 2006-01-02 11:31:31.092 AFD: HandleGopStart: Key frame distance
> changed from 19 to 16.
> 2006-01-02 11:31:31.092 AFD: positionMap[ 8 ] == 3961724.
> 2006-01-02 11:31:31.106 AFD: HandleGopStart: Key frame distance
> changed from 16 to 13.
> 2006-01-02 11:31:31.106 AFD: positionMap[ 11 ] == 4415744.
> 2006-01-02 11:31:31.122 AFD: HandleGopStart: Key frame distance
> changed from 13 to 20.
> 2006-01-02 11:31:31.139 AFD: HandleGopStart: Key frame distance
> changed from 20 to 18.
> 2006-01-02 11:31:31.157 AFD: positionMap[ 11 ] == 6360792.
> 2006-01-02 11:31:31.177 AFD: HandleGopStart: Key frame distance
> changed from 18 to 19.
> 2006-01-02 11:31:31.177 AFD: positionMap[ 11 ] == 7091736.
> 2006-01-02 11:31:31.194 AFD: HandleGopStart: Key frame distance
> changed from 19 to 18.
> 2006-01-02 11:31:31.195 AFD: positionMap[ 13 ] == 7782260.
> 2006-01-02 11:31:31.207 AFD: HandleGopStart: Key frame distance
> changed from 18 to 12.
> 2006-01-02 11:31:31.207 AFD: positionMap[ 20 ] == 8180820.
> 2006-01-02 11:31:31.240 AFD: HandleGopStart: Key frame distance
> changed from 12 to 16.
> 2006-01-02 11:31:31.255 AFD: HandleGopStart: Key frame distance
> changed from 16 to 18.
> 2006-01-02 11:31:31.267 AFD: HandleGopStart: Key frame distance
> changed from 18 to 11.
> 2006-01-02 11:31:31.267 AFD: positionMap[ 26 ] == 9594956.
> 2006-01-02 11:31:31.283 AFD: HandleGopStart: Key frame distance
> changed from 11 to 17.
> 2006-01-02 11:31:31.296 AFD: HandleGopStart: Key frame distance
> changed from 17 to 20.
> 2006-01-02 11:31:31.311 AFD: HandleGopStart: Key frame distance
> changed from 20 to 25.
> 2006-01-02 11:31:31.326 AFD: HandleGopStart: Key frame distance
> changed from 25 to 23.
> 2006-01-02 11:31:31.340 AFD: HandleGopStart: Key frame distance
> changed from 23 to 24.
> 2006-01-02 11:31:31.355 AFD: HandleGopStart: Key frame distance
> changed from 24 to 17.
> 2006-01-02 11:31:31.370 AFD: HandleGopStart: Key frame distance
> changed from 17 to 18.
> 2006-01-02 11:31:31.376 AFD: HandleGopStart: Key frame distance
> changed from 18 to 11.
> 2006-01-02 11:31:31.376 AFD: positionMap[ 40 ] == 13251556.
> .....
> 2006-01-02 11:31:52.837 AFD: HandleGopStart: Key frame distance
> changed from 21 to 1.
> 2006-01-02 11:31:52.838 AFD: positionMap[ 24578 ] == 510143828.
> 2006-01-02 11:31:52.856 AFD: positionMap[ 24598 ] == 510661580.
> 2006-01-02 11:31:52.871 AFD: positionMap[ 24616 ] == 511148124.
> 2006-01-02 11:31:52.874 AFD: positionMap[ 24625 ] == 511306420.
> 
> When editing the show in mythtv, it is not (everywhere) seekable, the
> displayed size of the movie is wrong.
> 
> I'v noticed in the log that more position map are inserted when the
> keyframe distance is set to 1 and this corresponds the the place where
> the file becomes seekable.
> 
> looking in avformatdecoder.cpp around line 794, I found that the
> keyframe distance is initially set to 15 except for AVI file because
> the avi keyframes are too irregular. As it seems to be my problem too
> for my DVB recordings, I've commented out the line 794: if
> (!strcmp(fmt->name, "avi")).
> 
> With this modification, the file is again seekable and it's size
> becomes correct.
> Give it a try (rebuild seek tables + commflag again) and let's see if it 
helps.
> 
> Daniel 

SVN8625 this fixes my mythcommflag rebuild for HDTV recordings as well.

-- 
Steve


More information about the mythtv-dev mailing list