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 706276 - uvch264src: don't error out on incomplete aux data segment with Logitech C920
uvch264src: don't error out on incomplete aux data segment with Logitech C920
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other All
: Normal major
: 1.1.4
Assigned To: GStreamer Maintainers
GStreamer Maintainers
: 706423 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2013-08-19 00:09 UTC by Robert Krakora
Modified: 2013-08-20 18:12 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Do not allow uvch264src to kill pipeline on missed MJPEG segment... (1.33 KB, application/octet-stream)
2013-08-19 00:09 UTC, Robert Krakora
  Details
Do not allow uvch264src to kill pipeline on missed MJPEG segment... (1.31 KB, patch)
2013-08-19 01:18 UTC, Robert Krakora
needs-work Details | Review
Do not allow uvch264src to kill pipeline on missed MJPEG segment... (1.60 KB, patch)
2013-08-19 14:18 UTC, Robert Krakora
needs-work Details | Review
Do not allow uvch264src to kill pipeline on missed MJPEG segment... (1.65 KB, patch)
2013-08-19 19:37 UTC, Robert Krakora
committed Details | Review

Description Robert Krakora 2013-08-19 00:09:56 UTC
Created attachment 252166 [details]
Do not allow uvch264src to kill pipeline on missed MJPEG segment...

It appears that the Logitech C920 sometimes drops the next to last segment of RAW aux data contained within the MJPEG container.  H264 data that is multiplexed with in the same container does not appear to be affected.  This appears to be a bug in the Logitech C920 firmware and uvch264src should not flag and error killing the pipeline...see the attached patch...sometimes it can take 24 hours of continuous streaming for the problem to occur, but sometimes it can take only a couple of hours.
Comment 1 Robert Krakora 2013-08-19 01:18:00 UTC
Created attachment 252171 [details] [review]
Do not allow uvch264src to kill pipeline on missed MJPEG segment...
Comment 2 Sebastian Dröge (slomo) 2013-08-19 08:22:19 UTC
Comment on attachment 252171 [details] [review]
Do not allow uvch264src to kill pipeline on missed MJPEG segment...

No C99 comments please (//), also please attach the patch in "git format-patch" style. For this commit it locally (make sure to use the correct mail address and name in git), and then call "git format-patch -1".
Comment 3 Robert Krakora 2013-08-19 12:10:20 UTC
Will do.
Comment 4 Robert Krakora 2013-08-19 14:18:55 UTC
Created attachment 252232 [details] [review]
Do not allow uvch264src to kill pipeline on missed MJPEG segment...

Git formatted version of patch as requested by Sebastian.
Comment 5 Olivier Crête 2013-08-19 19:05:18 UTC
Review of attachment 252232 [details] [review]:

::: sys/uvch264/gstuvch264_mjpgdemux.c
@@ +498,3 @@
     /* Check for APP4 (0xe4) marker in the jpeg */
     if (info.data[i] == 0xff && info.data[i + 1] == 0xe4) {
+      /*guint16 segment_size;*/

Please just remove the line, don't leave commented out code.
Comment 6 Robert Krakora 2013-08-19 19:37:03 UTC
Created attachment 252280 [details] [review]
Do not allow uvch264src to kill pipeline on missed MJPEG segment...

Here is the Git formatted patch with the commented out variable declaration "segment_size" removed.
Comment 7 Tim-Philipp Müller 2013-08-20 17:53:33 UTC
*** Bug 706423 has been marked as a duplicate of this bug. ***
Comment 8 Tim-Philipp Müller 2013-08-20 18:07:24 UTC
Thanks for the patch!

 commit 006e7a3428bd097fc6e6c648332bff583dd434f9
 Author: Robert Krakora <rob.krakora@messagenetsystems.com>
 Date:   Mon Aug 19 15:31:51 2013 -0400

    uvch264src: don't error out on incomplete aux data segment
    
    It appears that the Logitech C920 sometimes drops the next
    to last segment of RAW aux data contained within the MJPEG
    container.  H264 data that is multiplexed with in the same
    container does not appear to be affected.  This appears to
    be a bug in the Logitech C920 firmware and uvch264src should
    not error out in this case.
    
    Sometimes it can take 24 hours of continuous streaming for
    the problem to occur, but sometimes it takes only a couple
    of hours.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=706276