After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 794842 - v4l2bufferpool: Should never return EOS unless it's a M2M device
v4l2bufferpool: Should never return EOS unless it's a M2M device
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: Normal normal
: 1.14.2
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2018-03-30 15:47 UTC by Nicolas Dufresne (ndufresne)
Modified: 2018-07-14 03:10 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
v4l2: Add a macro to check for M2M (2.92 KB, patch)
2018-07-13 20:12 UTC, Nicolas Dufresne (ndufresne)
committed Details | Review
v4l2bufferpool: Only return eos for M2M devices (2.46 KB, patch)
2018-07-13 20:12 UTC, Nicolas Dufresne (ndufresne)
committed Details | Review

Description Nicolas Dufresne (ndufresne) 2018-03-30 15:47:39 UTC
Just to help a little the kernel dev, it would be nice to warn if an empty output buffer is detected as a legacy EOS marker. Newly written driver should not use this way of signalling EOS and it's a really easy mistake to do to forget to set the output buffer payload size. So the new warning should mention that an empty buffer was dequeued, and that this will trigger EOS.
Comment 1 Nicolas Dufresne (ndufresne) 2018-07-13 20:11:44 UTC
In fact it was reported today that with a C920, when streaming H264, it happens that the payload size is 0, shutting down the camera. So this really cause bugs.
Comment 2 Nicolas Dufresne (ndufresne) 2018-07-13 20:12:03 UTC
Created attachment 373052 [details] [review]
v4l2: Add a macro to check for M2M
Comment 3 Nicolas Dufresne (ndufresne) 2018-07-13 20:12:06 UTC
Created attachment 373053 [details] [review]
v4l2bufferpool: Only return eos for M2M devices

This will avoid sending EOS on v4l2src when a driver sends an empty
buffers. This case would be a bug in the driver, but yet the camera
should keep running.

This also removes the check for corrupted buffers, as this check is
already done later.
Comment 4 Nicolas Dufresne (ndufresne) 2018-07-14 02:59:24 UTC
Attachment 373052 [details] pushed as 3735e57 - v4l2: Add a macro to check for M2M
Attachment 373053 [details] pushed as 3b364ce - v4l2bufferpool: Only return eos for M2M devices
Comment 5 Nicolas Dufresne (ndufresne) 2018-07-14 03:10:16 UTC
remote: sending e-mail for 411fdff38b5683927548bc90e6c5d4c3b1a1d8b4
remote: sending e-mail for a57c419101ba59f5b78448afce5a67f311b4e909