[gst-devel] unreliable xvimagesink rendering to GTK+ elements

Daniel Drake dsd at laptop.org
Wed Jan 19 17:21:45 CET 2011


Hi,

I am attempting to create a pipeline which includes an xvimagesink,
where the output will be mapped onto a GTK+ element. Something like
the video player example here:
http://pygstdocs.berlios.de/pygst-tutorial/capabilities.html

But, this example (plus my own app) does not run reliably. Sometimes
it works, most of the time it doesn't. A whole assortment of errors
are possible, including:

python: xcb_io.c:140: dequeue_pending_request: Assertion `req ==
dpy->xcb->pending_requests' failed.
test.py: Fatal IO error 11 (Resource temporarily unavailable) on X server :0.0.
python: xcb_io.c:221: poll_for_event: Assertion `(((long)
(event_sequence) - (long) (dpy->request)) <= 0)' failed.

Gdk-ERROR **: The program 'test.py' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadWindow (invalid Window parameter)'.
  (Details: serial 195 error_code 3 request_code 2 minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)


Here is a test program which you can use to see this:
http://dev.laptop.org/~dsd/20110119/gst_xv_gtk.txt

It shows xvimagesink on top of a GtkDrawingArea for 2 seconds, then
exits. Run it in a loop to catch the errors:
# while python gst_xv_gtk.txt; do :; done

Interestingly, if I instead try to render on a GtkWindow, everything
works reliably. (see the commented out section of on_sync_message().

Am I doing something wrong in my code? Is this a bug? Can other people
reproduce it?

Thanks,
Daniel




More information about the gstreamer-devel mailing list