[PATCH 2/2] tm6000 : Fix filling up of buffer for video frame

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Avoid(until there is a better fix) cleaning up of buffer as it will
cause partital green screen when there are frame dropped.

Fix video line couting corruption when cmd is not a video packet.

Signed-off-by: Bee Hock Goh <beehock@xxxxxxxxx>

diff --git a/drivers/staging/tm6000/tm6000-video.c
b/drivers/staging/tm6000/tm6000-video.c
index c53de47..50b12ac 100644
--- a/drivers/staging/tm6000/tm6000-video.c
+++ b/drivers/staging/tm6000/tm6000-video.c
@@ -133,7 +133,7 @@ static inline void get_next_buf(struct
tm6000_dmaqueue *dma_q,
 			       struct tm6000_buffer   **buf)
 {
 	struct tm6000_core *dev = container_of(dma_q, struct tm6000_core, vidq);
-	char *outp;
+//	char *outp;

 	if (list_empty(&dma_q->active)) {
 		dprintk(dev, V4L2_DEBUG_QUEUE, "No active queue to serve\n");
@@ -148,8 +148,8 @@ static inline void get_next_buf(struct
tm6000_dmaqueue *dma_q,
 		return;

 	/* Cleans up buffer - Usefull for testing for frame/URB loss */
-	outp = videobuf_to_vmalloc(&(*buf)->vb);
-	memset(outp, 0, (*buf)->vb.size);
+//	outp = videobuf_to_vmalloc(&(*buf)->vb);
+//	memset(outp, 0, (*buf)->vb.size);

 	return;
 }
@@ -282,7 +282,8 @@ static int copy_packet(struct urb *urb, u32
header, u8 **ptr, u8 *endp,
 			start_line=line;
 			last_field=field;
 		}
-		last_line=line;
+		if (cmd == TM6000_URB_MSG_VIDEO)
+			last_line=line;

 		pktsize = TM6000_URB_MSG_LEN;
 	} else {
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux