2015-01-30, 05:18
This is possible one for the dev's but while marcelveldt and I where trying to pin down a issue in our skins with memory usage I found this code in the Kodi source code that I think may have a problem
Now I'm not entirely sure as my C is a bit rusty, but I think this line is incorrect
I think the " !IsVisibleFromSkin()) " (is NOT visible) means that the image is not released if it is animated when it becomes no longer visible in the skin.
Have I got that right, or does the problem exist elsewhere?
At any rate, it would seem if you have a Hidden type animation fading out your image, the image will not be released, and so will cause a memory issue on low speced machines (Raspberry Pi's and probably AppleTV's) when you try to play certain videos (HD content). Our advise would be to avoid this type of animation due to the current problems they cause.
Wyrm (AppTV)
PHP Code:
From file xbmc/guilib/GUIImage.cpp
void CGUIImage::UpdateInfo(const CGUIListItem *item)
{
if (m_info.IsConstant())
return; // nothing to do
// don't allow image to change while animating out
if (HasProcessed() && IsAnimating(ANIM_TYPE_HIDDEN) && !IsVisibleFromSkin())
return;
if (item)
SetFileName(m_info.GetItemLabel(item, true, &m_currentFallback));
else
SetFileName(m_info.GetLabel(m_parentID, true, &m_currentFallback));
}
Now I'm not entirely sure as my C is a bit rusty, but I think this line is incorrect
PHP Code:
if (HasProcessed() && IsAnimating(ANIM_TYPE_HIDDEN) && !IsVisibleFromSkin())
I think the " !IsVisibleFromSkin()) " (is NOT visible) means that the image is not released if it is animated when it becomes no longer visible in the skin.
Have I got that right, or does the problem exist elsewhere?
At any rate, it would seem if you have a Hidden type animation fading out your image, the image will not be released, and so will cause a memory issue on low speced machines (Raspberry Pi's and probably AppleTV's) when you try to play certain videos (HD content). Our advise would be to avoid this type of animation due to the current problems they cause.
Wyrm (AppTV)