After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 314897 - xvimagesink segfault
xvimagesink segfault
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal normal
: 0.8.12
Assigned To: Julien MOUTTE
GStreamer Maintainers
: 313832 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2005-08-31 01:13 UTC by Ronald Bultje
Modified: 2006-03-05 21:34 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Check created xvimage size. (991 bytes, patch)
2006-03-05 21:15 UTC, Julien MOUTTE
none Details | Review
Check for memcpy images as well (1.26 KB, patch)
2006-03-05 21:28 UTC, Julien MOUTTE
none Details | Review

Description Ronald Bultje 2005-08-31 01:13:04 UTC
$ ~/Projects/GStreamer/gstreamer/tools/gst-launch-0.9 videotestsrc !
video/x-raw-yuv,width=2000,height=15000 ! xvimagesink
PAUSE pipeline ...
Segmentation fault

Same problem exists in 0.8; always occurs if input is larger than screensize (=
framebuffersize). Xvimagesink probably needs an upper limit in its getcaps
return value. Does not apply to ximagesink, it works just fine.
Comment 1 Ronald Bultje 2005-08-31 01:18:29 UTC
$ ~/Projects/GStreamer/gstreamer/tools/gst-launch-0.9 videotestsrc !
video/x-raw-yuv,width=2000,height=1500 ! xvimagesink
PAUSE pipeline ...
X Error of failed request:  BadAlloc (insufficient resources for operation)
  Major opcode of failed request:  140 (XVideo)
  Minor opcode of failed request:  19 ()
  Serial number of failed request:  40
  Current serial number in output stream:  41


Without the typo...
Comment 2 Luca Ognibene 2005-09-18 08:04:15 UTC
I can confirm the bug:
command line: 

GST_DEBUG=xvimagesink:5 ~/Sorgenti/devel/gstreamer/tools/gst-launch-0.8
videotestsrc !
video/x-raw-yuv,format=\(fourcc\)I420,width=2424,height=2600,framerate=1.0 !
xvimagesink

output:
...
LOG   (0x80508d8 - 313063:44:22.388428000)          xvimagesink( 8474)
xvimagesink.c(198):gst_xvimagesink_xvimage_new:<xvimagesink0> creating 2424x2600
LOG   (0x80508d8 - 313063:44:22.389062000)          xvimagesink( 8474)
xvimagesink.c(223):gst_xvimagesink_xvimage_new:<xvimagesink0> XShm image size is
1572864
...

So x.org (6.8.2) returns an image smaller than what we have requested. It seems
a xorg issue.. I'll ask on the xorg mailing list. btw, i'm using the tdfx driver.
Comment 3 Luca Ognibene 2005-09-18 08:24:06 UTC
btw, if i encode the big video and then play it with mplayer and xine they both
segfaults. 
Comment 4 Luca Ognibene 2005-09-20 20:06:06 UTC
*** Bug 313832 has been marked as a duplicate of this bug. ***
Comment 5 Luca Ognibene 2005-09-20 20:16:27 UTC
It doesn't segfault anymore now. Closing.. it seems an upstream issue to me.
mplayer and xine doesn't work either. If they work for you then reopen the bug!
thanks!
Comment 6 Jan Schmidt 2006-01-25 09:56:01 UTC
Re-opening - this bug is back in current CVS:

gst-launch-0.10 videotestsrc \! video/x-raw-yuv,width=2000,height=15000 \! xvimagesink

Adding back something like patch http://bugzilla.gnome.org/attachment.cgi?id=51843&action=view (from Bug 315312) will probably help both bugs.
Comment 7 Julien MOUTTE 2006-03-05 21:15:29 UTC
Created attachment 60713 [details] [review]
Check created xvimage size.
Comment 8 Julien MOUTTE 2006-03-05 21:28:37 UTC
Created attachment 60716 [details] [review]
Check for memcpy images as well
Comment 9 Julien MOUTTE 2006-03-05 21:34:26 UTC
Patch applied, Fixed in CVS HEAD