Regression: in v4l2 converter does not set the buffer.length anymore
This was initially reported to GStreamer project:
https://bugzilla.gnome.org/show_bug.cgi?id=737521
We track this down to be a regression introduced in v4l2-utils from version 1.4.0. In recent GStreamer we make sure the buffer.length field (retreived with QUERYBUF) is bigger or equal to the expected sizeimage (as obtained in S_FMT). This is to fail cleanly and avoid buffer overflow if a driver (or libv4l2) endup doing a short allocation. Since 1.4.0, this field is always 0 if an emulated format is selected.
Reverting patch 10213c brings back normal behaviour:
http://git.linuxtv.org/cgit.cgi/v4l-utils.git/commit/?id=10213c975afdfcc90aa7de39e66c40cd7e8a57f7
This currently makes use of any emulated format impossible in GStreamer. v4l2-utils 1.4.0 is being shipped at least in debian/unstable at the moment.
cheers,
Nicolas
Hi,
Quoted 9 lines · Nicolas Dufresne
This was initially reported to GStreamer project:
https://bugzilla.gnome.org/show_bug.cgi?id=737521We track this down to be a regression introduced in v4l2-utils from version 1.4.0. In recent GStreamer we make sure the buffer.length field (retreived with QUERYBUF) is bigger or equal to the expected sizeimage (as obtained in
S_FMT). This is to fail cleanly and avoid buffer overflow if a driver (or libv4l2) endup doing a short allocation. Since 1.4.0, this field is always 0 if an emulated format is selected.Reverting patch 10213c brings back normal behaviour:
http://git.linuxtv.org/cgit.cgi/v4l-utils.git/commit/?id=10213c975afdfcc90aa7de39e66c40cd7e8a57f7This currently makes use of any emulated format impossible in GStreamer. v4l2-utils 1.4.0 is being shipped at least in debian/unstable at the moment.
Oops, thanks for the bug report.
I've created a 3 patch patch-set fixing this, which I'll send right after this mail. The actual fix is in the 2nd patch, the first patch and third patches fix 2 unrelated bugs which I noticed while working on this.
Regards,
Hans