On Thu, 5 Feb 2009, Jean-Francois Moine wrote:
On Thu, 5 Feb 2009 12:59:21 -0600 (CST)
kilgota@xxxxxxxxxxxxxxxxxxxxxx wrote:
<snip>
[,,,] As I said before, I'm ready to insert your driver in the gspca
tree. The basic streaming is working. The video controls and the
other resolutions may be added later.
In fact, the ability to change the resolution is not exactly documented.
No OEM driver that I know of ever did offer such a choice. They all just
stream at 320x240, with no exceptions. I discovered this ability not from
sniff logs, but by running experiments of my own. After that, my
"documentation" consists pretty much of just mentioning it on the
gphoto-devel mailing list if someone wrote in and asked if it is possible
or not. I never felt safe using that information in the libgphoto2 driver,
though. The problem was that some of the cams will only do max 352x288 and
some will do max 640x480. But I could not figure out a way to tell the
cameras apart. Still photos are listed in an allocation table which makes
such things clear, for each individual photo. With streaming there is no
equivalent to that. Even worse, in a way, is that the lower-res camera
will go ahead and shoot a frame if you ask for a 640x480 but you will get
a lower resolution instead. An obvious mess.
It was only while we are working here that I began to see a pattern
relating the ID string to the ability to do 640x480. If you want to know,
that ID looks like 09 05 00 xx and sometimes like 09 05 01 xx and
sometimes like 09 05 02 xx. I am pretty sure now that, if the third byte
in the string is not zero then the camera can do 640x380.
However, even now I can not be 100% certain. The SQ905 was, at one time, a
very popular chip for cheap cameras. I can not even count the number of
brand names and models in which it was used, or in which countries they
were sold, given away as party favors, or breakfast cereal bonuses, or you
name it. So perhaps it is indeed better to be safe about the resolution
setting and hard-wire it to 320x240.
As to any other kinds of controls on streaming, other than on or off:
insofar as I am aware there are no such controls or setup commands at all
with these cameras. None. All that I have ever seen one of these to do is
to start streaming. At most, the chip or firmware ID gets read, nothing
else. Thus, there is neither opportunity nor mechanism for instructing
the camera to do more than start or stop. It is of course logically
possible that such command sequences may exist in some sort of metaphyical
reality. But even if they do so exist, I have never those commands put to
use and so can not know about them. So as far as that kind of thing is
concerned, it appears to me that there is absolutely nothing left to do
here.
Theodore Kilgore
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html