8.0.1a seems to resolve this issue.
Thank you kszaq!
8.0.1a seems to resolve this issue.
Thank you kszaq!
In my case an IPTV stream (Zattoo - h264 1024X576) will crash regularly after about 20 minutes. First there is a bit of buffering, then the picture freezes and sound continues and finally both sound and picture freeze. This freezing process all happens within a couple of seconds. The progress bar still shows the stream as 'playing' and it is possible to pause, rewind, etc. the stream.
If I turn off hardware acceleration everything is fine and crashes don't happen.
This sounds like the issue, that I'm experiencing with tvheadend. Debug log is here.
I've noticed a problem while watching a live stream from my tvheadend server on my S905X box: When watching a channel for a longer time (~ 20-60 minutes), the image suddenly freezes and Kodi is starting to use more and more memory. I've found the following messages in the debug log.
I'm pretty certain, that this is not a network issue. I'm not sure if this bug existed before 8.0.0e, but I haven't noticed this with previous versions.
23:00:19.500 T:3641160608 DEBUG: CAMLCodec::Decode: ret: 2, sz: 76463, dts_in: 2904.8800[F953EE0], pts_in: 2904.9800[F956208], adj:0, ptsOut:2902.5400, amlpts:261228600, idx:145121, timesize:1.9600
23:00:19.500 T:3641160608 DEBUG: CVideoPlayerVideo::CalcDropRequirement - hurry: 0
23:00:19.525 T:3641160608 DEBUG: CAMLCodec::Decode: ret: 2, sz: 38398, dts_in: 2904.9000[F9545E8], pts_in: 2904.9400[F9553F8], adj:0, ptsOut:2902.5400, amlpts:261228600, idx:145121, timesize:1.9800
23:00:19.526 T:3641160608 DEBUG: CVideoPlayerVideo::CalcDropRequirement - hurry: 0
23:00:19.551 T:3641160608 DEBUG: CAMLCodec::Decode: ret: 0, sz: 15966, dts_in: 2904.9200[F954CF0], pts_in: 2904.9200[F954CF0], adj:0, ptsOut:2902.5400, amlpts:261228600, idx:145121, timesize:2.0000
23:00:19.577 T:3641160608 DEBUG: CAMLCodec::Decode: ret: 0, sz: 0, dts_in: 18442240474082.1797[F954CF0], pts_in: 18442240474082.1797[F954CF0], adj:0, ptsOut:2902.5400, amlpts:261228600, idx:145121, timesize:2.0200
23:00:26.974 T:3725587360 DEBUG: Previous line repeats 292 times.
23:00:26.975 T:3725587360 DEBUG: CDVDClock::SetSpeedAdjust - adjusted:-0.050000
23:00:26.980 T:3641160608 DEBUG: CAMLCodec::Decode: ret: 0, sz: 0, dts_in: 18442240474082.1797[F954CF0], pts_in: 18442240474082.1797[F954CF0], adj:0, ptsOut:2902.5400, amlpts:261228600, idx:145121, timesize:2.0200
23:00:27.723 T:3624383392 DEBUG: Previous line repeats 29 times.
23:00:27.724 T:3624383392 NOTICE: CVideoPlayerAudio::Process - stream stalled
23:00:27.726 T:3725587360 DEBUG: Stream stalled, start buffering. Audio: 0 - Video: 100
23:00:27.726 T:3725587360 DEBUG: CVideoPlayer::FlushBuffers - flushing buffers
23:00:27.738 T:3641160608 DEBUG: CAMLCodec::Decode: ret: 0, sz: 0, dts_in: 18442240474082.1797[F954CF0], pts_in: 18442240474082.1797[F954CF0], adj:0, ptsOut:2902.5400, amlpts:261228600, idx:145121, timesize:2.0200
23:00:27.739 T:3624383392 DEBUG: CDVDAudio::Flush - flush audio stream
23:00:27.739 T:3624383392 DEBUG: CDVDAudio::Pause - pausing audio stream
23:00:27.764 T:3641160608 DEBUG: CAMLCodec::Decode: ret: 0, sz: 0, dts_in: 18442240474082.1797[F954CF0], pts_in: 18442240474082.1797[F954CF0], adj:0, ptsOut:2902.5400, amlpts:261228600, idx:145121, timesize:2.0200
23:00:28.728 T:3725587360 DEBUG: Previous line repeats 38 times.
23:00:28.728 T:3725587360 DEBUG: CDVDMsgGeneralSynchronize - global timeout
23:00:28.728 T:3725587360 DEBUG: CVideoPlayer::SetCaching - caching state 2
23:00:28.729 T:3725587360 DEBUG: CDVDClock::SetSpeedAdjust - adjusted:0.000000
23:00:28.730 T:3624383392 DEBUG: CDVDMsgGeneralSynchronize - global timeout
23:00:28.730 T:3624383392 DEBUG: CVideoPlayerAudio - CDVDMsg::GENERAL_SYNCHRONIZE
23:00:28.730 T:3624383392 DEBUG: CDVDAudio::Pause - pausing audio stream
23:00:28.744 T:3725587360 DEBUG: CVideoPlayer::HandleMessages - player started 1
23:00:28.749 T:3641160608 DEBUG: CAMLCodec::Decode: ret: 0, sz: 0, dts_in: 18442240474082.1797[F954CF0], pts_in: 18442240474082.1797[F954CF0], adj:0, ptsOut:2902.5400, amlpts:261228600, idx:145121, timesize:2.0200
23:00:34.492 T:3725587360 DEBUG: Previous line repeats 227 times.
23:00:34.493 T:3725587360 DEBUG: CVideoPlayer::SetCaching - caching state 0
23:00:34.493 T:3725587360 DEBUG: CDVDClock::SetSpeedAdjust - adjusted:0.000000
23:00:34.507 T:3641160608 DEBUG: CAMLCodec::Decode: ret: 0, sz: 0, dts_in: 18442240474082.1797[F954CF0], pts_in: 18442240474082.1797[F954CF0], adj:0, ptsOut:2902.5400, amlpts:261228600, idx:145121, timesize:2.0200
23:01:51.372 T:3898540960 DEBUG: Previous line repeats 3042 times.
Display More
This one looks good. No more audio/video sync issues on my side.
Channel switching was faster in 007, though.
Sorry about the confusion - bad channel switching times where caused by a slow sd-card.
Thank you everyone for testing the devel build. In 2016-10-18 build removed hardware demux patch and added a change to allow playing very high bitrate videos.Now let's try another dev build that has both: hardware demux buffering and a fix for high bitrate stuttering. I believe it also has no video/audio sync issue but I leave it for you to evaluate:
LibreELEC-S905.aarch64-7.0-devel-20161018215738-r23396-g605a453.img.gzPeople with "back key" issue can also try this, I think I finally fixed it - forgive me as I'm still learning sed.
This one looks good. No more audio/video sync issues on my side.
Channel switching was faster in 007, though.
Dev build to test audio/video sync issues: LibreELEC-S905.aarch64-7.0-devel-20161017080545-r23388-g7601b82.img.gz2 important notes about this one:
- this build has not been tested at all since I'm not home - it's an idea to test
- if you're updating from earlier than .007, update device tree according to first post
Audio/video sync issues seem to be caused by the "fixed demux buffering" patch. When I remove this patch, the issue is resolved. I've also noticed that I can watch live-tv without problems right after booting. However when I switch channels the issue starts. I suspect that there are some values that are not properly reset when starting a new stream.
Independent from the "fixed demux buffering" patch, I've noticed that channel switching times where better with .007 (~3.0 instead of ~1.5 seconds on HD channels), however I couldn't figure out what's the cause of this behavior, yet.
pec: The aspect ratio patch you suggested works great. The only thing I've added is a default aspect ratio for "HD Lite" channels: LibreELEC.tv/spmc-014-assume-widescreen-for-HD-Lite-channels.patch at 0766af9e1cbc54fde936263f7ce316d0b0ef7a09 · chbmuc/LibreELEC.tv · GitHub
I've created a pull request for kszaq: add aspect ratio detection for amcodec h264 by chbmuc · Pull Request #4 · kszaq/LibreELEC.tv · GitHub
I've noticed, that the amlogic hardware decoder (S905) switches to a resolution of 1440x1080 on some live tv channels (DVB-S, 1080i via tvheadend), while it should be 1920x1080. The problem does not occur, when playing a recording of the same channel. I think it's the same problem, gergov reported: LibreELEC
After some tinkering, I've figured out that I can work around this with the following kodi patch:
--- a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp 2016-09-09 19:39:44.345220368 +0200
+++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp 2016-09-09 19:46:33.692885967 +0200
@@ -981,6 +981,11 @@
(m_output.framerate == 0.0 || fmod(m_output.framerate, config_framerate) != 0.0) &&
(render_framerate != config_framerate);
+ if (pPicture->iWidth == 1440 && pPicture->iDisplayWidth == 1440 && pPicture->iHeight == 1080 && config_framerate == 25.0) {
+ pPicture->iWidth = 1920;
+ pPicture->iDisplayWidth = 1920;
+ }
+
/* check so that our format or aspect has changed. if it has, reconfigure renderer */
if (!g_renderManager.IsConfigured()
|| ( m_output.width != pPicture->iWidth )
Display More
Of course, this isn't a correct fix, as it overrides the width for all 1440x1080 videos, but it works for me...
I have A95X with original firmware on NAND but when i toothpicked device, loaded LibreElec from SD-Card, SSH'ed on it and type
After 45s i got
I see that someone else have put this DTB already but i wonder what could go wrong.
I've loaded the original Android firmware (not Libreelec) and installed a Terminal. Reading /dev/dtb from Android was no problem at all, except that the file was quite big. I've used the "device-tree-compiler" (from Ubuntu) to extract the relevant data.
Is somebody experienced able to help?
I've extracted it from /dev/dtb on my Nexbox A95X (S905; original firmware).