Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

[dvdplayer] Fix synchronize timeout with non-flushed seeking. Ticket …

…#12984

Non-flushed seeking (like used for automatic EDL and commercial break skipping) no longer uses the internal SynchronizePlayers function, which times out waiting for sync in favour of a typical GeneralSynchronize message to both the video and audio players.
  • Loading branch information...
commit 6d6cd5681fc3a5183fbaafee2bd453647f6043be 1 parent cfc5af4
David Teirney authored
Showing with 7 additions and 1 deletion.
  1. +7 −1 xbmc/cores/dvdplayer/DVDPlayer.cpp
View
8 xbmc/cores/dvdplayer/DVDPlayer.cpp
@@ -3040,10 +3040,16 @@ void CDVDPlayer::FlushBuffers(bool queued, double pts, bool accurate)
{
m_dvdPlayerAudio.SendMessage(new CDVDMsg(CDVDMsg::GENERAL_RESET));
m_dvdPlayerVideo.SendMessage(new CDVDMsg(CDVDMsg::GENERAL_RESET));
+ // TODO: Why the VIDEO_NO_SKIP message?
m_dvdPlayerVideo.SendMessage(new CDVDMsg(CDVDMsg::VIDEO_NOSKIP));
m_dvdPlayerSubtitle.SendMessage(new CDVDMsg(CDVDMsg::GENERAL_RESET));
m_dvdPlayerTeletext.SendMessage(new CDVDMsg(CDVDMsg::GENERAL_RESET));
- SynchronizePlayers(SYNCSOURCE_ALL);
+
+ CDVDMsgGeneralSynchronize* msg = new CDVDMsgGeneralSynchronize(100, SYNCSOURCE_ALL);
+ m_dvdPlayerAudio.SendMessage(msg->Acquire(), 1);
+ m_dvdPlayerVideo.SendMessage(msg->Acquire(), 1);
+ msg->Wait(&m_bStop, 0);
+ msg->Release();
}
else
{
Please sign in to comment.
Something went wrong with that request. Please try again.