#65 closed defect (fixed)
error with jpeg encoding
Reported by: | Timo Juhani Lindfors | Owned by: | Antoine Martin |
---|---|---|---|
Priority: | major | Milestone: | 0.0.7.x |
Component: | core | Version: | 0.0.7.34 |
Keywords: | Cc: |
Description
Unhandled error while processing packet from peer Traceback (most recent call last): File "python/xpra/protocol.py", line 238, in _process_packet self._process_packet_cb(self, decoded) File "python/xpra/client.py", line 1023, in process_packet self._packet_handlers[packet_type](self, packet) File "python/xpra/client.py", line 908, in _process_draw window.draw(x, y, width, height, coding, data) File "python/xpra/client.py", line 214, in draw self._backing.draw_rgb_image(gc, x, y, width, height, gtk.gdk.RGB_DITHER_NONE, data) IndexError: rgb_buf is not large enough
when trying --encoding jpeg --jpeg-quality 60
Attachments (1)
Change History (6)
comment:1 Changed 10 years ago by
Status: | new → accepted |
---|
Changed 10 years ago by
Attachment: | xpra-sendrowstride.patch added |
---|
if the feature is supported, send the rowstride with the pixel data
comment:2 Changed 10 years ago by
The patch above should probably be merged no matter what: although I don't think the rowstride!=w*3 codepath is hit very often at the moment, it might in the future (at which point the rowstride re-alignment should get re-written in cython for speed.
I am now getting the error, must be a recent svn change.
Version 0, edited 10 years ago
by
(next)
comment:3 Changed 10 years ago by
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
Lots of fixes, including this bug in r389
comment:4 Changed 10 years ago by
Component: | client → core |
---|---|
Milestone: | current → 0.0.7.x |
Version: | → 0.0.7.34 |
comment:5 Changed 17 months ago by
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/65
Note: See
TracTickets for help on using
tickets.
Hmm, that's the mmap drawing codepath, which does not use jpeg at all: when mmap is detected the data is just transfered as-is.
Is this repeatable? What do I need to do?
Did it recover afterwards? Or did you have to restart the client?
According to this post, this may be because the "rowstride" is different from "w*3" - no idea why though, as mmap doesn't go anywhere near w or rowstride.
What resolution and bit depth are you running on the client?
Could also be that the backing got resized to be smaller than the data that got sent, which would be easier to deal with. Does that sound plausible?