Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Browse files

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


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...
1 parent cfc5af4 commit 6d6cd5681fc3a5183fbaafee2bd453647f6043be David Teirney committed
Showing with 7 additions and 1 deletion.
  1. +7 −1 xbmc/cores/dvdplayer/DVDPlayer.cpp
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();

0 comments on commit 6d6cd56

Please sign in to comment.
Something went wrong with that request. Please try again.