Ticket #788: commflag-svn_start_stop_times.3.patch

File commflag-svn_start_stop_times.3.patch, 5.5 KB (added by paulx@…, 18 years ago)

Third attempt without the macro, still compiles with current svn.

  • programs/mythcommflag/ClassicCommDetector.cpp

    old new  
    4343                                         bool showProgress_in,
    4444                                         bool fullSpeed_in,
    4545                                         NuppelVideoPlayer* nvp_in,
     46                                         const QDateTime& startedAt_in,
     47                                         const QDateTime& stopsAt_in,
    4648                                         const QDateTime& recordingStartedAt_in,
    4749                                         const QDateTime& recordingStopsAt_in) :
    4850        commDetectMethod(commDetectMethod_in),
    4951        showProgress(showProgress_in),
    5052        fullSpeed(fullSpeed_in),
    5153        nvp(nvp_in),
     54        startedAt(startedAt_in),
     55        stopsAt(stopsAt_in),
    5256        recordingStartedAt(recordingStartedAt_in),
    5357        recordingStopsAt(recordingStopsAt_in),
    5458        framesProcessed(0)
     
    248252   
    249253    int requiredHeadStart = 30;
    250254    if (commDetectMethod & COMM_DETECT_LOGO)
    251         requiredHeadStart += commDetectLogoSecondsNeeded;
     255        requiredHeadStart += max(0,recordingStartedAt.secsTo(startedAt)) + commDetectLogoSecondsNeeded;
    252256    else
    253257        requiredHeadStart += 30;
    254258
     
    11361140    {
    11371141        for (int i=0;i<COMM_FORMAT_MAX;i++) formatCounts[i]=0;
    11381142
    1139         for(long long i = 0; i < framesProcessed; i++ )
     1143        for(long long i = (max(0,recordingStartedAt.secsTo(startedAt))*(long)fps);
     1144                i < (framesProcessed - (max(0,stopsAt.secsTo(recordingStopsAt))*(long)fps));
     1145                i++ )
    11401146            formatCounts[frameInfo[i].format]++;
    11411147
    11421148        for(int i = 0; i < COMM_FORMAT_MAX; i++)
     
    25382544        nvp->DiscardVideoFrame(nvp->GetRawVideoFrame(0));
    25392545
    25402546        loops = 0;
    2541         seekFrame = seekIncrement;
     2547        seekFrame = max(0,recordingStartedAt.secsTo(startedAt)) + seekIncrement;
    25422548
    25432549        while(loops < maxLoops && !nvp->GetEof())
    25442550        {
  • programs/mythcommflag/ClassicCommDetector.h

    old new  
    1212    public:
    1313        ClassicCommDetector(int commDetectMethod, bool showProgress,
    1414                            bool fullSpeed, NuppelVideoPlayer* nvp,
     15                            const QDateTime& startedAt,
     16                            const QDateTime& stopsAt,
    1517                            const QDateTime& recordingStartedAt,
    1618                            const QDateTime& recordingStopsAt_in);
    1719        virtual ~ClassicCommDetector();
     
    9496        bool showProgress;
    9597        bool fullSpeed;
    9698        NuppelVideoPlayer *nvp;
     99        QDateTime startedAt, stopsAt;
    97100        QDateTime recordingStartedAt, recordingStopsAt;
    98101        bool stillRecording;
    99102        QMap<long long,int> lastSentCommBreakMap;
  • programs/mythcommflag/CommDetectorFactory.cpp

    old new  
    88    CommDetectorFactory::makeCommDetector(int commDetectMethod,
    99                                          bool showProgress, bool fullSpeed,
    1010                                          NuppelVideoPlayer* nvp,
     11                                          const QDateTime& startedAt,
     12                                          const QDateTime& stopsAt,
    1113                                          const QDateTime& recordingStartedAt,
    1214                                          const QDateTime& recordingStopsAt)
    1315{
     
    1618                //Future different CommDetect implementations will be created here.
    1719        default:
    1820                        return new ClassicCommDetector(commDetectMethod, showProgress,
    19                                            fullSpeed, nvp, recordingStartedAt,
     21                                           fullSpeed, nvp, startedAt,
     22                                           stopsAt, recordingStartedAt,
    2023                                           recordingStopsAt);
    2124        }
    2225       
  • programs/mythcommflag/CommDetectorFactory.h

    old new  
    2525
    2626        CommDetectorBase* makeCommDetector(int commDetectMethod, bool showProgress,
    2727                                       bool fullSpeed, NuppelVideoPlayer* nvp,
     28                                       const QDateTime& startedAt,
     29                                       const QDateTime& stopsAt,
    2830                                       const QDateTime& recordingStartedAt,
    29                                        const QDateTime& recordingStopsAt_in);
     31                                       const QDateTime& recordingStopsAt);
    3032};
    3133
    3234#endif
  • programs/mythcommflag/main.cpp

    old new  
    301301    CommDetectorFactory factory;
    302302    commDetector = factory.makeCommDetector(commDetectMethod, showPercentage,
    303303                                            fullSpeed, nvp,
     304                                            program_info->startts,
     305                                            program_info->endts,
    304306                                            program_info->recstartts,
    305307                                            program_info->recendts);
    306308