aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpeak3d <pfau@peak3d.de>2020-05-29 12:45:00 +0200
committerpeak3d <pfau@peak3d.de>2020-05-31 08:53:27 +0200
commit4aa000296c27a94cbb5c938ab9fda1eeab04af6e (patch)
treedd1afb0ca6bae739c68bea8357a018648341dc04
parente506cad57a68ce4e296a939e9a8c3875ebc1cb41 (diff)
[VP] Fix short stream changes
-rw-r--r--xbmc/cores/VideoPlayer/VideoPlayer.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/xbmc/cores/VideoPlayer/VideoPlayer.cpp b/xbmc/cores/VideoPlayer/VideoPlayer.cpp
index 459d2aacc0..4f9cb28646 100644
--- a/xbmc/cores/VideoPlayer/VideoPlayer.cpp
+++ b/xbmc/cores/VideoPlayer/VideoPlayer.cpp
@@ -2009,7 +2009,8 @@ void CVideoPlayer::HandlePlaySpeed()
m_VideoPlayerAudio->SendMessage(new CDVDMsgDouble(CDVDMsg::GENERAL_RESYNC, m_clock.GetClock()), 1);
}
else if (m_CurrentVideo.syncState == IDVDStreamPlayer::SYNC_WAITSYNC &&
- m_CurrentVideo.avsync == CCurrentStream::AV_SYNC_CONT)
+ (m_CurrentVideo.avsync == CCurrentStream::AV_SYNC_CONT ||
+ m_CurrentAudio.syncState == IDVDStreamPlayer::SYNC_INSYNC))
{
m_CurrentVideo.syncState = IDVDStreamPlayer::SYNC_INSYNC;
m_CurrentVideo.avsync = CCurrentStream::AV_SYNC_NONE;
@@ -2336,6 +2337,8 @@ bool CVideoPlayer::CheckContinuity(CCurrentStream& current, DemuxPacket* pPacket
UpdateCorrection(pPacket, correction);
lastdts = pPacket->dts;
CLog::Log(LOGDEBUG, "CVideoPlayer::CheckContinuity - update correction: %f", correction);
+ if (current.avsync == CCurrentStream::AV_SYNC_CHECK)
+ current.avsync = CCurrentStream::AV_SYNC_CONT;
}
else
{