aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRainer Hochecker <fernetmenta@online.de>2018-09-09 11:07:34 +0200
committerGitHub <noreply@github.com>2018-09-09 11:07:34 +0200
commitbee0586a7a052b67d8d7ee0de57e1c140b8532e2 (patch)
treec0bd6b6e61f4a51fc9f2fd528b8e3cfd8fd1293b
parent98ed5b143586bb419078452e27be73296825da73 (diff)
parentd0a61f86b2a71db74c477e8922125368fd6a6ac8 (diff)
Merge pull request #14407 from FernetMenta/edge
VideoPlayer: handle dying streams during sync
-rw-r--r--xbmc/cores/VideoPlayer/VideoPlayer.cpp6
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 ||