Red Hat Bugzilla – Bug 44326
XvPutStill, XvGetStill, and XvGetVideo calls fail
Last modified: 2007-04-18 12:33:40 EDT
From Bugzilla Helper:
User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)
Description of problem:
The XvPutStill, XvGetStill, and XvGetVideo calls from the Xv library do
not work correctly. I am passing them the exact arguments as outlined in
the man page, and they always return a "BadMatch" error.
Steps to Reproduce:
(to do this, you will need an Xv or v4l supported video capture board)
1. Create a simple X application with a simple window
2. Make an XvPutVideo call (as outlined in the man page) to confirm that
you can put video in a window.
3. Replace your XvPutVideo call with an XvGetVideo, XvGetStill, or
XvPutStill to view the error generated by X.
Actual Results: The following error message is received from X:
X Error of Failed Request: BadMatch (Invalid Parameter Attributes)
Major Opcode of failed request: 143 (XVideo)
Minor Opcode of failed request: 6 ()
Serial Number of Failed request: 25
Current Serial Number in output stream: 25
Expected Results: A Still frame of Video was to appear in the application
I thought that the documentation for these calls may be incorrect, so I
checked the XvLib.h header file to be sure I was sending in the correct
parameters to XvPutStill (which I was). I have also tried this on a
different machine running XFree4.1.0 with the same effects.
This was tried on a RH7.1 machine (XF4.0.3) with a Marvel G400 running a
v4l driver supported by Xv, and another RH7.1 machine (XF4.1.0) with an
ATI All-in-Wonder Radeon with Xv Drivers.
Perhaps a stupid question but do you have the v4l driver module loaded?
What errors show up in your X logs if any?
Are you first calling XvQueryExtension and XvQueryAdaptors et al.?
Can you send me the code to look at? If it is small, just attach it as
a file attachment, or if it is larger or you do not want it public, you
can send it to me via email to look at.
It looks like this problem turns out not to be a bug in the X-Server, it is due
to the fact that the Xv drivers for my card do not have the XvPutStill,
XvGetStill, and XvGetVideo calls implemented. So, when the call is made, and
there is no code in the driver, X gets upset (as expected :)
Sorry for the confusion....