Skip to content
Browse files

fixed: still frames at the start of a VTS in dvd could end up not sho…

…wing

This occured due to a change in behavior in updated ffmpeg. Old code would
return EOF once after a VTS change to trigger demuxer flush, however
updated ffmpeg will read multiple times causing demuxer reset actions
to get executed after actual data having been processed by demuxer.
  • Loading branch information...
1 parent 180d20b commit 497941802e56121adf03428d964e225c80989afd @elupus elupus committed Apr 7, 2012
Showing with 5 additions and 2 deletions.
  1. +5 −2 xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamNavigator.cpp
View
7 xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamNavigator.cpp
@@ -419,9 +419,12 @@ int CDVDInputStreamNavigator::ProcessBlock(BYTE* dest_buffer, int* read)
iNavresult = NAVRESULT_HOLD;
}
else
+ {
iNavresult = m_pDVDPlayer->OnDVDNavResult(buf, DVDNAV_VTS_CHANGE);
-
- m_bInMenu = (0 == m_dll.dvdnav_is_domain_vts(m_dvdnav));
+ m_holdmode = HOLDMODE_HELD;
+ m_lastevent = DVDNAV_NOP;
+ m_bInMenu = (0 == m_dll.dvdnav_is_domain_vts(m_dvdnav));
+ }
}
break;

0 comments on commit 4979418

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