/* 02-Nov-2000 First (mostly dummy) version. 06-Nov-2000 Rewrote to dump all data into frame.  */
static void ultracam_ProcessIsocData(struct uvd *uvd, struct usbvideo_frame *frame)
/* 02-Nov-2000 First (mostly dummy) version. 06-Nov-2000 Rewrote to dump all data into frame.  */
static void ultracam_ProcessIsocData(struct uvd *uvd, struct usbvideo_frame *frame)
{
	int n;
	assert(uvd != NULL);
	assert(frame != NULL);
	n = RingQueue_GetLength(&uvd->dp);
	if (n > 0) {
		int m;
		m = uvd->max_frame_size - frame->seqRead_Length;
		if (n > m)
			n = m;
		RingQueue_Dequeue(
			&uvd->dp,
			frame->data + frame->seqRead_Length,
			m);
		frame->seqRead_Length += m;
	}
	if (frame->seqRead_Length >= uvd->max_frame_size) {
		frame->frameState = FrameState_Done;
		uvd->curframe = -1;
		uvd->stats.frame_num++;
	}
}