2015-08-19, 10:54
1) debug log (cut out from when an actual stutter occurs)
http://xbmclogs.com/pr8xif609
3&4) Software running
OpenElec 6 beta 1 using kodi 15.0-rc2 0aa930b compiled from source
5) Hardware
http://www.asrock.com/nettop/Intel/ION%203D%20Series/
(Atom D525 x86_64 build with Nvidia GT218-ION, using nvidia-legacy 340.xxx)
9) detailed instructions
I'm guessing direct playback of encrypted bluray discs is not officially supported, regardless i'm not sure if this necessarily is due to encryption or not. But i'm using makemkv 1.9.5 using its libmmbd.so instead of supplied libaacs and libbdplus.
I use "play disc" menu from kodi, and playback works fine most of the time, but in certain places (same places every time) the video stutters and skips frames and then starts playback again, and it looks like some kind of data starvation. If i rip the disc offline using makemkv (on the same computer) and playback from the raw rip, it does not show these issues.
So I started thinking that perhaps the reading speed of the bluray was problematic (disc is fairly new and without visible dirt or scratches), and means of increasing read buffer from optical drive. But i found that buffering of optical drives is disabled (why?). So I did a quick test to patch DVDInputStreamFile.cpp ->
diff -Naur kodi-15.0-rc2-0aa930b.orig/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamFile.cpp kodi-15.0-rc2-0aa930b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamFile.cpp
--- kodi-15.0-rc2-0aa930b.orig/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamFile.cpp 2015-08-07 13:35:36.704782849 +0200
+++ kodi-15.0-rc2-0aa930b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamFile.cpp 2015-08-07 13:51:54.674658399 +0200
@@ -61,8 +61,6 @@
* 2) Only buffer true internet filesystems (streams) (http, etc.)
* 3) No buffer
*/
- if (!URIUtils::IsOnDVD(strFile) && !URIUtils::IsBluray(strFile)) // Never cache these
- {
if (g_advancedSettings.m_networkBufferMode == 0 || g_advancedSettings.m_networkBufferMode == 2)
{
if (URIUtils::IsInternetStream(CURL(strFile), (g_advancedSettings.m_networkBufferMode == 0) ) )
@@ -72,7 +70,6 @@
{
flags |= READ_CACHED; // In buffer mode 1 force cache for (almost) all files
}
- }
if (!(flags & READ_CACHED))
flags |= READ_NO_CACHE; // Make sure CFile honors our no-cache hint
******
In an effort to see if i could enable caching (also setting network buffermode = 1 in advancedsettings.xml), but the issue is the same.
I could not see any cpu spikes or low memory during playback.
So any hints on where to look would be greatly appreciated.
Thanks!
Andreas
http://xbmclogs.com/pr8xif609
3&4) Software running
OpenElec 6 beta 1 using kodi 15.0-rc2 0aa930b compiled from source
5) Hardware
http://www.asrock.com/nettop/Intel/ION%203D%20Series/
(Atom D525 x86_64 build with Nvidia GT218-ION, using nvidia-legacy 340.xxx)
9) detailed instructions
I'm guessing direct playback of encrypted bluray discs is not officially supported, regardless i'm not sure if this necessarily is due to encryption or not. But i'm using makemkv 1.9.5 using its libmmbd.so instead of supplied libaacs and libbdplus.
I use "play disc" menu from kodi, and playback works fine most of the time, but in certain places (same places every time) the video stutters and skips frames and then starts playback again, and it looks like some kind of data starvation. If i rip the disc offline using makemkv (on the same computer) and playback from the raw rip, it does not show these issues.
So I started thinking that perhaps the reading speed of the bluray was problematic (disc is fairly new and without visible dirt or scratches), and means of increasing read buffer from optical drive. But i found that buffering of optical drives is disabled (why?). So I did a quick test to patch DVDInputStreamFile.cpp ->
diff -Naur kodi-15.0-rc2-0aa930b.orig/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamFile.cpp kodi-15.0-rc2-0aa930b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamFile.cpp
--- kodi-15.0-rc2-0aa930b.orig/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamFile.cpp 2015-08-07 13:35:36.704782849 +0200
+++ kodi-15.0-rc2-0aa930b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamFile.cpp 2015-08-07 13:51:54.674658399 +0200
@@ -61,8 +61,6 @@
* 2) Only buffer true internet filesystems (streams) (http, etc.)
* 3) No buffer
*/
- if (!URIUtils::IsOnDVD(strFile) && !URIUtils::IsBluray(strFile)) // Never cache these
- {
if (g_advancedSettings.m_networkBufferMode == 0 || g_advancedSettings.m_networkBufferMode == 2)
{
if (URIUtils::IsInternetStream(CURL(strFile), (g_advancedSettings.m_networkBufferMode == 0) ) )
@@ -72,7 +70,6 @@
{
flags |= READ_CACHED; // In buffer mode 1 force cache for (almost) all files
}
- }
if (!(flags & READ_CACHED))
flags |= READ_NO_CACHE; // Make sure CFile honors our no-cache hint
******
In an effort to see if i could enable caching (also setting network buffermode = 1 in advancedsettings.xml), but the issue is the same.
I could not see any cpu spikes or low memory during playback.
So any hints on where to look would be greatly appreciated.
Thanks!
Andreas