mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-28 13:16:41 +00:00
xbmc: add patch for fixing DVD menus on some DVDs. Fixes issue #737
This commit is contained in:
parent
a967bd38d4
commit
1f82b1d445
@ -0,0 +1,37 @@
|
|||||||
|
From 497941802e56121adf03428d964e225c80989afd Mon Sep 17 00:00:00 2001
|
||||||
|
From: elupus <elupus@xbmc.org>
|
||||||
|
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
|
||||||
|
|
||||||
|
|
@ -0,0 +1,37 @@
|
|||||||
|
From 497941802e56121adf03428d964e225c80989afd Mon Sep 17 00:00:00 2001
|
||||||
|
From: elupus <elupus@xbmc.org>
|
||||||
|
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
|
||||||
|
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user