BUG: Fixing case in which the pointer the data buffers doesn't

get positioned at the beginning of the buffer after a new
     buffer load. This case only happens when the pointer happens
     to be at the end of the buffer when the request for the new
     block arrives.  Fix contributed by Bill Hoffman.
This commit is contained in:
Luis Ibanez 2010-08-20 21:33:43 +00:00
parent 871cd3968f
commit 2f9e80da9c
1 changed files with 8 additions and 0 deletions

View File

@ -406,6 +406,14 @@ OPJ_UINT32 opj_stream_read_data (opj_stream_private_t * p_stream,OPJ_BYTE * p_bu
p_stream->m_byte_offset += p_stream->m_bytes_in_buffer;
p_stream->m_bytes_in_buffer = 0;
}
else
{
/* case where we are already at the end of the buffer
so reset the m_current_data to point to the start of the
stored buffer to get ready to read from disk*/
p_stream->m_current_data = p_stream->m_stored_data;
}
while
(true)