diff --git a/packages/mediacenter/xbmc/patches/xbmc-11.0.1-903.01-fixed_still_frames_at_the_start_of_a_VTS_in_dvd_could_end_up_not_showing.patch b/packages/mediacenter/xbmc/patches/xbmc-11.0.1-903.01-fixed_still_frames_at_the_start_of_a_VTS_in_dvd_could_end_up_not_showing.patch new file mode 100644 index 0000000000..0cfaf7fff4 --- /dev/null +++ b/packages/mediacenter/xbmc/patches/xbmc-11.0.1-903.01-fixed_still_frames_at_the_start_of_a_VTS_in_dvd_could_end_up_not_showing.patch @@ -0,0 +1,37 @@ +From 497941802e56121adf03428d964e225c80989afd Mon Sep 17 00:00:00 2001 +From: elupus +Date: Sat, 7 Apr 2012 00:08:34 +0200 +Subject: [PATCH] fixed: still frames at the start of a VTS in dvd could end + up not showing + +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. +--- + .../cores/dvdplayer/DVDInputStreams/DVDInputStreamNavigator.cpp | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamNavigator.cpp b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamNavigator.cpp +index dbdff52..3ae4843 100644 +--- a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamNavigator.cpp ++++ b/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; + +-- +1.7.10 + + diff --git a/packages/mediacenter/xbmc/patches/xbmc-pvr-11.0.1-903.01-fixed_still_frames_at_the_start_of_a_VTS_in_dvd_could_end_up_not_showing.patch b/packages/mediacenter/xbmc/patches/xbmc-pvr-11.0.1-903.01-fixed_still_frames_at_the_start_of_a_VTS_in_dvd_could_end_up_not_showing.patch new file mode 100644 index 0000000000..0cfaf7fff4 --- /dev/null +++ b/packages/mediacenter/xbmc/patches/xbmc-pvr-11.0.1-903.01-fixed_still_frames_at_the_start_of_a_VTS_in_dvd_could_end_up_not_showing.patch @@ -0,0 +1,37 @@ +From 497941802e56121adf03428d964e225c80989afd Mon Sep 17 00:00:00 2001 +From: elupus +Date: Sat, 7 Apr 2012 00:08:34 +0200 +Subject: [PATCH] fixed: still frames at the start of a VTS in dvd could end + up not showing + +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. +--- + .../cores/dvdplayer/DVDInputStreams/DVDInputStreamNavigator.cpp | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamNavigator.cpp b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamNavigator.cpp +index dbdff52..3ae4843 100644 +--- a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamNavigator.cpp ++++ b/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; + +-- +1.7.10 + +