diff options
author | Rainer Hochecker <fernetmenta@online.de> | 2018-09-09 11:07:34 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-09-09 11:07:34 +0200 |
commit | bee0586a7a052b67d8d7ee0de57e1c140b8532e2 (patch) | |
tree | c0bd6b6e61f4a51fc9f2fd528b8e3cfd8fd1293b | |
parent | 98ed5b143586bb419078452e27be73296825da73 (diff) | |
parent | d0a61f86b2a71db74c477e8922125368fd6a6ac8 (diff) |
Merge pull request #14407 from FernetMenta/edge
VideoPlayer: handle dying streams during sync
-rw-r--r-- | xbmc/cores/VideoPlayer/VideoPlayer.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/xbmc/cores/VideoPlayer/VideoPlayer.cpp b/xbmc/cores/VideoPlayer/VideoPlayer.cpp index 2fa9d0288c..a16eb99f40 100644 --- a/xbmc/cores/VideoPlayer/VideoPlayer.cpp +++ b/xbmc/cores/VideoPlayer/VideoPlayer.cpp @@ -1989,9 +1989,11 @@ void CVideoPlayer::HandlePlaySpeed() threshold = 40; bool video = m_CurrentVideo.id < 0 || (m_CurrentVideo.syncState == IDVDStreamPlayer::SYNC_WAITSYNC) || - (m_CurrentVideo.packets == 0 && m_CurrentAudio.packets > threshold); + (m_CurrentVideo.packets == 0 && m_CurrentAudio.packets > threshold) || + (!m_VideoPlayerAudio->AcceptsData() && m_processInfo->GetLevelVQ() < 10); bool audio = m_CurrentAudio.id < 0 || (m_CurrentAudio.syncState == IDVDStreamPlayer::SYNC_WAITSYNC) || - (m_CurrentAudio.packets == 0 && m_CurrentVideo.packets > threshold); + (m_CurrentAudio.packets == 0 && m_CurrentVideo.packets > threshold) || + (!m_VideoPlayerVideo->AcceptsData() && m_VideoPlayerAudio->GetLevel() < 10); if (m_CurrentAudio.syncState == IDVDStreamPlayer::SYNC_WAITSYNC && (m_CurrentAudio.avsync == CCurrentStream::AV_SYNC_CONT || |