<feed xmlns='http://www.w3.org/2005/Atom'>
<title>uvc-gadget.git, branch v0.1.0</title>
<subtitle>UVC gadget userspace sample application</subtitle>
<link rel='alternate' type='text/html' href='https://git.ideasonboard.org/uvc-gadget.git/'/>
<entry>
<title>uvc-gadget v0.1.0</title>
<updated>2022-11-25T16:50:32+00:00</updated>
<author>
<name>Kieran Bingham</name>
<email>kieran.bingham@ideasonboard.com</email>
</author>
<published>2022-11-25T16:50:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ideasonboard.org/uvc-gadget.git/commit/?id=90955f728061d0cbec4b470849a7f564637a6e3a'/>
<id>90955f728061d0cbec4b470849a7f564637a6e3a</id>
<content type='text'>
This release culminates being able to integrate many historical changes
and updates that we had pending for quite some time along with some
bugfixes and clean ups.

Key new features already added to this release include:

- SuperSpeed descriptor support
- MJPEG support fixes
- Update to support new gadget locations
- Conversion to Meson build infrastructure
- A new test pattern source generator
- Support for JPEG sources
- Improved logging
- Commencement of control support

Signed-off-by: Kieran Bingham &lt;kieran.bingham@ideasonboard.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This release culminates being able to integrate many historical changes
and updates that we had pending for quite some time along with some
bugfixes and clean ups.

Key new features already added to this release include:

- SuperSpeed descriptor support
- MJPEG support fixes
- Update to support new gadget locations
- Conversion to Meson build infrastructure
- A new test pattern source generator
- Support for JPEG sources
- Improved logging
- Commencement of control support

Signed-off-by: Kieran Bingham &lt;kieran.bingham@ideasonboard.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>scripts: Provide a release script</title>
<updated>2022-11-25T16:29:24+00:00</updated>
<author>
<name>Kieran Bingham</name>
<email>kieran.bingham@ideasonboard.com</email>
</author>
<published>2022-11-25T13:56:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ideasonboard.org/uvc-gadget.git/commit/?id=936e5f253ef888c043f61ba6a8bb497f50dda368'/>
<id>936e5f253ef888c043f61ba6a8bb497f50dda368</id>
<content type='text'>
Support making releases of uvc-gadget by introducing a helper script
which will facilitate the increment of any release version, along with
generating an associated tag, derived from the equivalent implementation
in libcamera [0].

[0] https://git.libcamera.org/libcamera/libcamera.git/tree/utils/release.sh?h=v0.0.2

Reviewed-by: Daniel Scally &lt;dan.scally@ideasonboard.com&gt;
Signed-off-by: Kieran Bingham &lt;kieran.bingham@ideasonboard.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Support making releases of uvc-gadget by introducing a helper script
which will facilitate the increment of any release version, along with
generating an associated tag, derived from the equivalent implementation
in libcamera [0].

[0] https://git.libcamera.org/libcamera/libcamera.git/tree/utils/release.sh?h=v0.0.2

Reviewed-by: Daniel Scally &lt;dan.scally@ideasonboard.com&gt;
Signed-off-by: Kieran Bingham &lt;kieran.bingham@ideasonboard.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>scripts: semver: Add version helper</title>
<updated>2022-11-25T13:52:26+00:00</updated>
<author>
<name>Kieran Bingham</name>
<email>kieran.bingham@ideasonboard.com</email>
</author>
<published>2022-11-25T13:52:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ideasonboard.org/uvc-gadget.git/commit/?id=7f07136ed46bd36a22d6fb3bd4b6d3b844815379'/>
<id>7f07136ed46bd36a22d6fb3bd4b6d3b844815379</id>
<content type='text'>
Provide the semver utility (version 3.4.0) from [0] to make use of it
with our versioning and release scripts.

[0] https://raw.githubusercontent.com/fsaintjacques/semver-tool/3c76a6f9d113f4045f693845131185611a62162e/src/semver

Signed-off-by: Kieran Bingham &lt;kieran.bingham@ideasonboard.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Provide the semver utility (version 3.4.0) from [0] to make use of it
with our versioning and release scripts.

[0] https://raw.githubusercontent.com/fsaintjacques/semver-tool/3c76a6f9d113f4045f693845131185611a62162e/src/semver

Signed-off-by: Kieran Bingham &lt;kieran.bingham@ideasonboard.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>lib: uvc: Respond to control requests with dummy values</title>
<updated>2022-11-22T16:08:30+00:00</updated>
<author>
<name>Daniel Scally</name>
<email>dan.scally@ideasonboard.com</email>
</author>
<published>2022-11-22T15:34:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ideasonboard.org/uvc-gadget.git/commit/?id=0df9d3ad860ecd78f1bf8ad6bd5ceccaf40a9e07'/>
<id>0df9d3ad860ecd78f1bf8ad6bd5ceccaf40a9e07</id>
<content type='text'>
Without a response, the host will assume there has been an error and
throw a bunch of errors. The noise of those errors makes it difficult
to see what's going on properly, so return a dummy response that
silences the errors until the functionality is properly implemented.

Reviewed-by: Kieran Bingham &lt;kieran.bingham@ideasonboard.com&gt;
Signed-off-by: Daniel Scally &lt;dan.scally@ideasonboard.com&gt;
Signed-off-by: Kieran Bingham &lt;kieran.bingham@ideasonboard.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Without a response, the host will assume there has been an error and
throw a bunch of errors. The noise of those errors makes it difficult
to see what's going on properly, so return a dummy response that
silences the errors until the functionality is properly implemented.

Reviewed-by: Kieran Bingham &lt;kieran.bingham@ideasonboard.com&gt;
Signed-off-by: Daniel Scally &lt;dan.scally@ideasonboard.com&gt;
Signed-off-by: Kieran Bingham &lt;kieran.bingham@ideasonboard.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>lib: uvc: Add control names in output prints</title>
<updated>2022-11-22T16:08:30+00:00</updated>
<author>
<name>Daniel Scally</name>
<email>dan.scally@ideasonboard.com</email>
</author>
<published>2022-11-22T15:34:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ideasonboard.org/uvc-gadget.git/commit/?id=70d68062373502d159771b53b3e6d94c0557a0da'/>
<id>70d68062373502d159771b53b3e6d94c0557a0da</id>
<content type='text'>
It's easier to see what's going on at a glance when the output is
human-readable, so replace the control codes with their names.

Reviewed-by: Kieran Bingham &lt;kieran.bingham@ideasonboard.com&gt;
Signed-off-by: Daniel Scally &lt;dan.scally@ideasonboard.com&gt;
Signed-off-by: Kieran Bingham &lt;kieran.bingham@ideasonboard.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It's easier to see what's going on at a glance when the output is
human-readable, so replace the control codes with their names.

Reviewed-by: Kieran Bingham &lt;kieran.bingham@ideasonboard.com&gt;
Signed-off-by: Daniel Scally &lt;dan.scally@ideasonboard.com&gt;
Signed-off-by: Kieran Bingham &lt;kieran.bingham@ideasonboard.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>lib: uvc: Drop maxsize</title>
<updated>2022-11-22T16:08:24+00:00</updated>
<author>
<name>Daniel Scally</name>
<email>dan.scally@ideasonboard.com</email>
</author>
<published>2022-11-22T15:34:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ideasonboard.org/uvc-gadget.git/commit/?id=bca24b4b5b2c18b844e8da80ac19819944f80a93'/>
<id>bca24b4b5b2c18b844e8da80ac19819944f80a93</id>
<content type='text'>
The maxsize field of struct uvc_device is probably unecessary even if
it weren't currently fixed at 0. It's used to set dwMaxVideoFrameSize
in addition to the sizeimage member of a struct v4l2_pix_fmt (multiplied
in the latter instance by 1.5x). The documentary definitions for those
two values are such that they should be identical though, so simply
set dwMaxVideoFrameSize to width*height*2 (to maintain commonality
with other UVC Video devices) and use that to set the sizeimage.

Reviewed-by: Kieran Bingham &lt;kieran.bingham@ideasonboard.com&gt;
Signed-off-by: Daniel Scally &lt;dan.scally@ideasonboard.com&gt;
Signed-off-by: Kieran Bingham &lt;kieran.bingham@ideasonboard.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The maxsize field of struct uvc_device is probably unecessary even if
it weren't currently fixed at 0. It's used to set dwMaxVideoFrameSize
in addition to the sizeimage member of a struct v4l2_pix_fmt (multiplied
in the latter instance by 1.5x). The documentary definitions for those
two values are such that they should be identical though, so simply
set dwMaxVideoFrameSize to width*height*2 (to maintain commonality
with other UVC Video devices) and use that to set the sizeimage.

Reviewed-by: Kieran Bingham &lt;kieran.bingham@ideasonboard.com&gt;
Signed-off-by: Daniel Scally &lt;dan.scally@ideasonboard.com&gt;
Signed-off-by: Kieran Bingham &lt;kieran.bingham@ideasonboard.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>lib: events: Use list_for_each_entry() instead of the _safe() version</title>
<updated>2022-11-22T16:07:58+00:00</updated>
<author>
<name>Daniel Scally</name>
<email>dan.scally@ideasonboard.com</email>
</author>
<published>2022-11-22T15:34:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ideasonboard.org/uvc-gadget.git/commit/?id=d47c0701f2250889970afa6b5af025ea0a02b3be'/>
<id>d47c0701f2250889970afa6b5af025ea0a02b3be</id>
<content type='text'>
For the UVC_EVENT_STREAMOFF event, the callback frees _other_ events
because it's closing down the pipe. The use of the _safe() version
of the list iterator results in a use-after-free of those events
because they're fetched before the callback that frees them. The
_safe() version is unecessary here; no other callback's behaviour
requires it.

Reviewed-by: Kieran Bingham &lt;kieran.bingham@ideasonboard.com&gt;
Signed-off-by: Daniel Scally &lt;dan.scally@ideasonboard.com&gt;
Signed-off-by: Kieran Bingham &lt;kieran.bingham@ideasonboard.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For the UVC_EVENT_STREAMOFF event, the callback frees _other_ events
because it's closing down the pipe. The use of the _safe() version
of the list iterator results in a use-after-free of those events
because they're fetched before the callback that frees them. The
_safe() version is unecessary here; no other callback's behaviour
requires it.

Reviewed-by: Kieran Bingham &lt;kieran.bingham@ideasonboard.com&gt;
Signed-off-by: Daniel Scally &lt;dan.scally@ideasonboard.com&gt;
Signed-off-by: Kieran Bingham &lt;kieran.bingham@ideasonboard.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>main: add support for jpg_source</title>
<updated>2022-11-22T16:05:29+00:00</updated>
<author>
<name>Paul Elder</name>
<email>paul.elder@ideasonboard.com</email>
</author>
<published>2022-11-22T15:41:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ideasonboard.org/uvc-gadget.git/commit/?id=29ff9edaec72098f1d9e0a1f5bb18c1f6fdfdde4'/>
<id>29ff9edaec72098f1d9e0a1f5bb18c1f6fdfdde4</id>
<content type='text'>
Add facilities in main() to allow selection and usage of jpg_source.

Reviewed-by: Kieran Bingham &lt;kieran.bingham@ideasonboard.com&gt;
Reviewed-by: Daniel Scally &lt;dan.scally@ideasonboard.com&gt;
Signed-off-by: Paul Elder &lt;paul.elder@ideasonboard.com&gt;
Signed-off-by: Kieran Bingham &lt;kieran.bingham@ideasonboard.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add facilities in main() to allow selection and usage of jpg_source.

Reviewed-by: Kieran Bingham &lt;kieran.bingham@ideasonboard.com&gt;
Reviewed-by: Daniel Scally &lt;dan.scally@ideasonboard.com&gt;
Signed-off-by: Paul Elder &lt;paul.elder@ideasonboard.com&gt;
Signed-off-by: Kieran Bingham &lt;kieran.bingham@ideasonboard.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>jpg-source: add jpg source class</title>
<updated>2022-11-22T16:05:21+00:00</updated>
<author>
<name>Paul Elder</name>
<email>paul.elder@ideasonboard.com</email>
</author>
<published>2022-11-22T15:41:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ideasonboard.org/uvc-gadget.git/commit/?id=bb83c7135540d3391f4d0b46911c8aedbcd84313'/>
<id>bb83c7135540d3391f4d0b46911c8aedbcd84313</id>
<content type='text'>
The jpg_source class is an implementation of the video_source class that
streams a still jpg image as video.

Reviewed-by: Kieran Bingham &lt;kieran.bingham@ideasonboard.com&gt;
Signed-off-by: Paul Elder &lt;paul.elder@ideasonboard.com&gt;
Signed-off-by: Daniel Scally &lt;dan.scally@ideasonboard.com&gt;
Signed-off-by: Kieran Bingham &lt;kieran.bingham@ideasonboard.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The jpg_source class is an implementation of the video_source class that
streams a still jpg image as video.

Reviewed-by: Kieran Bingham &lt;kieran.bingham@ideasonboard.com&gt;
Signed-off-by: Paul Elder &lt;paul.elder@ideasonboard.com&gt;
Signed-off-by: Daniel Scally &lt;dan.scally@ideasonboard.com&gt;
Signed-off-by: Kieran Bingham &lt;kieran.bingham@ideasonboard.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>main: add default option to use test-source</title>
<updated>2022-11-22T16:02:25+00:00</updated>
<author>
<name>Paul Elder</name>
<email>paul.elder@ideasonboard.com</email>
</author>
<published>2022-11-22T10:54:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ideasonboard.org/uvc-gadget.git/commit/?id=d2b0811d8bd4385397bf092fc42c319313baf8b2'/>
<id>d2b0811d8bd4385397bf092fc42c319313baf8b2</id>
<content type='text'>
Now that we have test-source which provides video by generating a test
pattern in userspace, allow its selection in the command line options.
Since it isn't backed by anything, it is set as the default video source
if nothing else is specified.

Reviewed-by: Daniel Scally &lt;dan.scally@ideasonboard.com&gt;
Reviewed-by: Kieran Bingham &lt;kieran.bingham@ideasonboard.com&gt;
Signed-off-by: Paul Elder &lt;paul.elder@ideasonboard.com&gt;
Signed-off-by: Kieran Bingham &lt;kieran.bingham@ideasonboard.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now that we have test-source which provides video by generating a test
pattern in userspace, allow its selection in the command line options.
Since it isn't backed by anything, it is set as the default video source
if nothing else is specified.

Reviewed-by: Daniel Scally &lt;dan.scally@ideasonboard.com&gt;
Reviewed-by: Kieran Bingham &lt;kieran.bingham@ideasonboard.com&gt;
Signed-off-by: Paul Elder &lt;paul.elder@ideasonboard.com&gt;
Signed-off-by: Kieran Bingham &lt;kieran.bingham@ideasonboard.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
