Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff --git a/mythtv/libs/libmythtv/mythplayer.cpp b/mythtv/libs/libmythtv/mythplayer.cpp
- index a57a026187..13dd213d0b 100644
- --- a/mythtv/libs/libmythtv/mythplayer.cpp
- +++ b/mythtv/libs/libmythtv/mythplayer.cpp
- @@ -270,7 +270,7 @@ bool MythPlayer::Pause(void)
- if (FlagIsSet(kVideoIsNull) && m_decoder)
- m_decoder->UpdateFramesPlayed();
- else if (m_videoOutput && !FlagIsSet(kVideoIsNull))
- - m_framesPlayed = m_videoOutput->GetFramesPlayed() + m_framesPlayedExtra;
- + m_framesPlayed = m_videoOutput->GetFramesPlayed();
- }
- m_pauseLock.unlock();
- return already_paused;
- @@ -860,7 +860,6 @@ int MythPlayer::OpenFile(int Retries)
- void MythPlayer::SetFramesPlayed(uint64_t played)
- {
- m_framesPlayed = played;
- - m_framesPlayedExtra = 0;
- if (m_videoOutput)
- m_videoOutput->SetFramesPlayed(played);
- }
- @@ -1626,8 +1625,11 @@ void MythPlayer::AVSync(VideoFrame *buffer)
- framedue = unow + m_frameInterval / 2;
- // recalculate m_framesPlayed to conform to actual time code.
- - m_framesPlayed = TranslatePositionMsToFrame(static_cast<uint64_t>(videotimecode + m_timeOffsetBase), false);
- - m_decoder->SetFramesPlayed(static_cast<long long>(m_framesPlayed));
- + uint64_t framesplayed = TranslatePositionMsToFrame(static_cast<uint64_t>(videotimecode + m_timeOffsetBase), false);
- + uint64_t framesdecoded = m_decoder->GetFramesPlayed();
- + uint64_t framesread = m_decoder->GetFramesRead();
- + LOG(VB_GENERAL, LOG_INFO, LOC + QString("Read: %1 Decoded: %2 Played: %3 Actual played: %4")
- + .arg(framesread).arg(framesdecoded).arg(framesplayed).arg(m_framesPlayed));
- lateness = unow - framedue;
- dropframe = false;
- @@ -1722,6 +1724,7 @@ void MythPlayer::AVSync(VideoFrame *buffer)
- LOG(VB_PLAYBACK, LOG_INFO, LOC +
- QString("dropping frame to catch up, lateness=%1 usec")
- .arg(lateness));
- + m_videoOutput->SetFramesPlayed(++m_framesPlayed);
- }
- else if (!FlagIsSet(kVideoIsNull) && buffer)
- {
- @@ -1872,11 +1875,6 @@ bool MythPlayer::PrebufferEnoughFrames(int min_buffers)
- {
- uint64_t frameCount = GetCurrentFrameCount();
- uint64_t framesLeft = frameCount - m_framesPlayed;
- - // Sometimes m_framesPlayed > frameCount. Until that can
- - // be fixed, set framesLeft = 0 so the forced pause below
- - // is performed.
- - if (m_framesPlayed > frameCount)
- - framesLeft = 0;
- auto margin = (uint64_t) (m_videoFrameRate * 3);
- if (framesLeft < margin)
- {
- @@ -2194,7 +2192,7 @@ bool MythPlayer::VideoLoop(void)
- else if (m_decoder && m_decoder->GetEof() != kEofStateNone)
- ++m_framesPlayed;
- else
- - m_framesPlayed = m_videoOutput->GetFramesPlayed() + m_framesPlayedExtra;
- + m_framesPlayed = m_videoOutput->GetFramesPlayed();
- return !IsErrored();
- }
- @@ -2289,7 +2287,7 @@ void MythPlayer::ResetPlaying(bool resetframes)
- ClearAfterSeek();
- m_ffrewSkip = 1;
- if (resetframes)
- - m_framesPlayed = m_framesPlayedExtra = 0;
- + m_framesPlayed = 0;
- if (m_decoder)
- {
- m_decoder->Reset(true, true, true);
- @@ -2602,7 +2600,6 @@ bool MythPlayer::StartPlaying(void)
- }
- m_framesPlayed = 0;
- - m_framesPlayedExtra = 0;
- m_rewindTime = m_ffTime = 0;
- m_nextPlaySpeed = m_audio.GetStretchFactor();
- m_jumpChapter = 0;
- @@ -4594,7 +4591,6 @@ void MythPlayer::InitForTranscode(bool copyaudio, bool copyvideo)
- }
- m_framesPlayed = 0;
- - m_framesPlayedExtra = 0;
- ClearAfterSeek();
- if (copyvideo && m_decoder)
- diff --git a/mythtv/libs/libmythtv/mythplayer.h b/mythtv/libs/libmythtv/mythplayer.h
- index 54a581370a..39fc7f58d8 100644
- --- a/mythtv/libs/libmythtv/mythplayer.h
- +++ b/mythtv/libs/libmythtv/mythplayer.h
- @@ -730,9 +730,6 @@ class MTV_PUBLIC MythPlayer
- /// How often we have tried to wait for a video output buffer and failed
- int m_videobufRetries {0};
- uint64_t m_framesPlayed {0};
- - // "Fake" frame counter for when the container frame rate doesn't
- - // match the stream frame rate.
- - uint64_t m_framesPlayedExtra {0};
- uint64_t m_totalFrames {0};
- long long m_totalLength {0};
- int64_t m_totalDuration {0};
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement