[kernel] r12537 - in dists/sid/linux-2.6/debian: . patches/bugfix/all patches/series

Dann Frazier dannf at alioth.debian.org
Tue Dec 30 18:28:03 UTC 2008


Author: dannf
Date: Tue Dec 30 18:28:02 2008
New Revision: 12537

Log:
* uvc: Fix incomplete frame drop when switching to a variable
  size format (closes: #508661)

Added:
   dists/sid/linux-2.6/debian/patches/bugfix/all/uvcvideo-fix-incomplete-frame-drop.patch
Modified:
   dists/sid/linux-2.6/debian/changelog
   dists/sid/linux-2.6/debian/patches/series/13

Modified: dists/sid/linux-2.6/debian/changelog
==============================================================================
--- dists/sid/linux-2.6/debian/changelog	(original)
+++ dists/sid/linux-2.6/debian/changelog	Tue Dec 30 18:28:02 2008
@@ -10,9 +10,11 @@
   * Fix multicast in atl1e driver. (closes: 509097)
 
   [ Moritz Muehlenhoff ]
-  * Fix speaker output on Toshiba P105 notebooks. (Closes: #488063)
+  * Fix speaker output on Toshiba P105 notebooks. (closes: #488063)
+  * uvc: Fix incomplete frame drop when switching to a variable
+    size format (closes: #508661)
 
- -- dann frazier <dannf at debian.org>  Tue, 30 Dec 2008 11:10:37 -0700
+ -- dann frazier <dannf at debian.org>  Tue, 30 Dec 2008 11:22:02 -0700
 
 linux-2.6 (2.6.26-12) unstable; urgency=high
 

Added: dists/sid/linux-2.6/debian/patches/bugfix/all/uvcvideo-fix-incomplete-frame-drop.patch
==============================================================================
--- (empty file)
+++ dists/sid/linux-2.6/debian/patches/bugfix/all/uvcvideo-fix-incomplete-frame-drop.patch	Tue Dec 30 18:28:02 2008
@@ -0,0 +1,45 @@
+commit d63beb9ef004ff9587b3c466361276254d57d7a7
+Author: Laurent Pinchart <laurent.pinchart at skynet.be>
+Date:   Mon Sep 15 22:24:29 2008 -0300
+
+    V4L/DVB (9031): uvcvideo: Fix incomplete frame drop when switching to a variable size format.
+    
+    When streaming in a fixed size format the driver sets a flag in the uvc_queue
+    structure to drop incomplete incoming frames. The flag wasn't cleared when
+    switching to a variable size format, which resulted in a broken
+    'MJPEG after YUV'.
+    
+    Signed-off-by: Laurent Pinchart <laurent.pinchart at skynet.be>
+    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>
+
+diff --git a/drivers/media/video/uvc/uvc_v4l2.c b/drivers/media/video/uvc/uvc_v4l2.c
+index d4758c8..78e4c4e 100644
+--- a/drivers/media/video/uvc/uvc_v4l2.c
++++ b/drivers/media/video/uvc/uvc_v4l2.c
+@@ -842,10 +842,6 @@ static int uvc_v4l2_do_ioctl(struct inode *inode, struct file *file,
+ 		if (ret < 0)
+ 			return ret;
+ 
+-		if (!(video->streaming->cur_format->flags &
+-		    UVC_FMT_FLAG_COMPRESSED))
+-			video->queue.flags |= UVC_QUEUE_DROP_INCOMPLETE;
+-
+ 		rb->count = ret;
+ 		ret = 0;
+ 		break;
+diff --git a/drivers/media/video/uvc/uvc_video.c b/drivers/media/video/uvc/uvc_video.c
+index 593aebf..b7bb238 100644
+--- a/drivers/media/video/uvc/uvc_video.c
++++ b/drivers/media/video/uvc/uvc_video.c
+@@ -971,6 +971,11 @@ int uvc_video_enable(struct uvc_video_device *video, int enable)
+ 		return 0;
+ 	}
+ 
++	if (video->streaming->cur_format->flags & UVC_FMT_FLAG_COMPRESSED)
++		video->queue.flags &= ~UVC_QUEUE_DROP_INCOMPLETE;
++	else
++		video->queue.flags |= UVC_QUEUE_DROP_INCOMPLETE;
++
+ 	if ((ret = uvc_queue_enable(&video->queue, 1)) < 0)
+ 		return ret;
+ 

Modified: dists/sid/linux-2.6/debian/patches/series/13
==============================================================================
--- dists/sid/linux-2.6/debian/patches/series/13	(original)
+++ dists/sid/linux-2.6/debian/patches/series/13	Tue Dec 30 18:28:02 2008
@@ -3,3 +3,4 @@
 + bugfix/all/cciss-p711m,p712m-add-ids.patch
 + bugfix/all/watchdog-ib700wdt-buffer_underflow.patch
 + bugfix/x86/alsa-fix-speaker-output-on-toshiba-p105.patch
++ bugfix/all/uvcvideo-fix-incomplete-frame-drop.patch



More information about the Kernel-svn-changes mailing list