Ticket #4685: ticket_4685_potential_fix.diff

File ticket_4685_potential_fix.diff, 1.8 KB (added by skamithi, 12 years ago)

trust pts and do not manipulate it.

  • libs/libmythtv/avformatdecoder.cpp

     
    36523652                    }
    36533653
    36543654                    long long temppts = pts;
    3655 
    3656                     // Validate the video pts against the last pts. If it's
    3657                     // a little bit smaller or equal, compute it from the last.
    3658                     // Otherwise assume a wraparound.
    3659                     if (temppts <= lastvpts && temppts + 10000 > lastvpts)
     3655                   
     3656                    if (!ringBuffer->isDVD())
    36603657                    {
    3661                         temppts = lastvpts;
    3662                         temppts += (long long)(1000 * av_q2d(context->time_base));
    3663                         // MPEG2 frames can be repeated, update pts accordingly
    3664                         temppts += (long long)(mpa_pic.repeat_pict * 500
    3665                                       * av_q2d(curstream->codec->time_base));
     3658                        // Validate the video pts against the last pts. If it's
     3659                        // a little bit smaller or equal, compute it from the last.
     3660                        // Otherwise assume a wraparound.
     3661                        if (temppts <= lastvpts && temppts + 10000 > lastvpts)
     3662                        {
     3663                            temppts = lastvpts;
     3664                            temppts += (long long)(1000 * av_q2d(context->time_base));
     3665                            // MPEG2 frames can be repeated, update pts accordingly
     3666                            temppts += (long long)(mpa_pic.repeat_pict * 500
     3667                                        * av_q2d(curstream->codec->time_base));
     3668                        }
    36663669                    }
    36673670
    36683671                    VERBOSE(VB_PLAYBACK|VB_TIMESTAMP, LOC +