You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hello,
In file legato_stream.c, seems that following condition prevent from using the cached buffer completely (thus causing extra reads)
Line 111
// requested data is in the local cache
if((uint32_t)addr >= stream->cache.baseAddress &&
(uint32_t)addr - stream->cache.baseAddress + size < stream->cache.logicalSize)
Need to change for following ?
(uint32_t)addr - stream->cache.baseAddress + size <= stream->cache.logicalSize)
Also, I am using a 16k cache buffer. Sometimes when iterating in the function leStream_Read the variable stream->cache.baseAddress seems to have been reseted to 0 in the middle of a transfer which causes to reload from external memory at some point where the cache buffer should still be used. Didn't find out for now.
Regards
Nicolas
The text was updated successfully, but these errors were encountered:
I recall seeing the same odd behavior while debugging the streaming in my project. I am using the stream to read a splash screen graphic from a MicroSD card to display when my device starts up.
For the issue where the variable stream->cache.baseAddress is reseted, this is more systematic when changing the image in the widget using setImage function. At some point in the function stage_sourceIterateSetup the state->sourceRect.height is incorrect and the state->done is set to TRUE.
Regards
Hello,
In file legato_stream.c, seems that following condition prevent from using the cached buffer completely (thus causing extra reads)
Line 111
// requested data is in the local cache
if((uint32_t)addr >= stream->cache.baseAddress &&
(uint32_t)addr - stream->cache.baseAddress + size < stream->cache.logicalSize)
Need to change for following ?
(uint32_t)addr - stream->cache.baseAddress + size <= stream->cache.logicalSize)
Also, I am using a 16k cache buffer. Sometimes when iterating in the function leStream_Read the variable stream->cache.baseAddress seems to have been reseted to 0 in the middle of a transfer which causes to reload from external memory at some point where the cache buffer should still be used. Didn't find out for now.
Regards
Nicolas
The text was updated successfully, but these errors were encountered: