Hi, On Wed, Jul 18, 2018 at 12:02:16PM +0300, Uri Lublin wrote: > On 07/17/2018 06:28 PM, Frediano Ziglio wrote: > > Hi Frediano, > > > The pointer is not updated to the last byte used so using it > > to compute the bytes written into the buffer we ignore some bytes > > causing some image corruptions. > > Note that also free_in_buffer is not updated to last written byte. > > When buf_empty_output_buffer is called the buffer is full so use the > > size of it instead of relaying on next_output_byte or free_in_buffer. > > I also found in /usr/share/doc/libjpeg-turbo-devel/libjpeg.txt, > under empty_output_buffer: > "(use the saved start address and buffer length; > ignore the current state of next_output_byte and free_in_buffer)." > > Some printfs show that sometimes a few bytes are "missing". > > I tested this patch and it does fix the problem for me. As a side note, could we try a bit harder in opening a bug upstream when we find an issue? It helps a lot tracking important fixes, finding the right commits, etc. Cheers, toso > typo: s/relaying/relying/ > > > > > Signed-off-by: Frediano Ziglio <fziglio@xxxxxxxxxx> > > Acked-by: Uri Lublin <uril@xxxxxxxxxx> > > Thanks, > Uri. > > > > --- > > src/jpeg.cpp | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/src/jpeg.cpp b/src/jpeg.cpp > > index ceee359..5f6d128 100644 > > --- a/src/jpeg.cpp > > +++ b/src/jpeg.cpp > > @@ -23,7 +23,7 @@ struct JpegBuffer: public jpeg_destination_mgr > > static boolean buf_empty_output_buffer(j_compress_ptr cinfo) > > { > > JpegBuffer *buf = (JpegBuffer *) cinfo->dest; > > - size_t size = buf->next_output_byte - &buf->buffer[0]; > > + size_t size = buf->buffer.size(); > > buf->buffer.resize(buf->buffer.capacity() * 2); > > buf->next_output_byte = &buf->buffer[0] + size; > > buf->free_in_buffer = buf->buffer.size() - size; > > > > _______________________________________________ > Spice-devel mailing list > Spice-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/spice-devel
Attachment:
signature.asc
Description: PGP signature
_______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel