Lines Matching defs:uvc
68 static int uvc_copy_continue(struct uvc_handle *uvc, struct uvc_isoc_transfer *tran);
69 static int uvc_nocp_continue(struct uvc_handle *uvc, struct uvc_isoc_transfer *tran);
99 struct uvc_handle *uvc;
117 uvc = g_uvc;
118 if (uvc == (struct uvc_handle *)UVC_INVALID_HANDLE ||
119 hdl != (uvc_t)uvc)
134 usb_err("uvc is not initialization\n");
154 usb_err("uvc is not initialization\n");
178 usb_err("the uvc format status is not update\n");
186 struct uvc_handle *uvc;
194 uvc = (struct uvc_handle *)hdl;
196 fuvc = uvc->fuvc;
205 if (uvc->state == UVC_STATE_IDLE)
207 uvc->state = UVC_STATE_CONN;
252 struct uvc_handle *uvc;
286 uvc = g_uvc;
287 if (uvc != (struct uvc_handle *)UVC_INVALID_HANDLE)
304 uvc = calloc(0x1, sizeof(struct uvc_handle));
305 if (uvc == NULL)
313 uvc->vid_w = param->vid_width;
314 uvc->vid_h = param->vid_height;
315 uvc->vid_f = param->vid_format;
316 uvc->state = UVC_STATE_IDLE;
317 uvc->fuvc = fuvc;
318 fuvc->uvc_handle = (void *)uvc;
325 g_uvc = uvc;
329 *hdl = (uvc_t)uvc;
339 static int uvc_video_tran_stop(struct uvc_handle *uvc)
341 switch (uvc->state)
344 uvc->copy_func = NULL;
348 uvc->next_func = NULL;
355 uvc->_priv = NULL;
359 if (uvc->fuvc != NULL)
361 uvc->state = fuvc_host_connected(uvc->fuvc) ? UVC_STATE_CONN : UVC_STATE_IDLE;
365 uvc->state = UVC_STATE_IDLE;
388 struct uvc_handle *uvc;
397 uvc = (struct uvc_handle *)hdl;
401 if (uvc->state == UVC_STATE_TRAN_COPY ||
402 uvc->state == UVC_STATE_TRAN_NOCP)
404 (void)uvc_video_tran_stop(uvc);
407 fuvc = uvc->fuvc;
419 uvc->fuvc = NULL;
421 free(uvc);
429 struct uvc_handle *uvc;
444 uvc = (struct uvc_handle *)hdl;
445 if (uvc->state == UVC_STATE_IDLE && uvc->fuvc &&
446 fuvc_host_connected(uvc->fuvc))
448 uvc->state = UVC_STATE_CONN;
451 *state = uvc->state;
459 struct uvc_handle *uvc;
474 uvc = (struct uvc_handle *)hdl;
476 if (uvc->fuvc == NULL)
482 if (uvc->state != UVC_STATE_CONN)
490 uvc->frame_off = 0;
491 uvc->tdata.data = NULL;
492 uvc->tdata.length = 0;
493 uvc->tdata.last = 0;
497 uvc->copy_func = NULL;
498 uvc->next_func = next_func;
499 uvc->_priv = priv;
503 res = &(uvc->reserve);
509 ret = next_func(hdl, &(uvc->tdata), priv);
516 uvc->state = UVC_STATE_TRAN_NOCP;
517 ret = fuvc_transfer_initiate(uvc->fuvc);
520 uvc->state = UVC_STATE_ERR;
531 struct uvc_handle *uvc;
545 uvc = (struct uvc_handle *)hdl;
546 if (uvc->fuvc == NULL)
552 fuvc = uvc->fuvc;
558 usb_err("uvc can not start transfer!\n");
564 if (uvc->state != UVC_STATE_CONN)
572 uvc->frame_off = 0;
573 uvc->tdata.data = NULL;
574 uvc->tdata.length = 0;
575 uvc->tdata.last = 0;
579 uvc->next_func = NULL;
580 uvc->copy_func = copy_func;
585 usb_err("uvc transfer status is stream off!\n");
589 uvc->_priv = priv;
593 uvc->state = UVC_STATE_TRAN_COPY;
594 ret = fuvc_transfer_initiate(uvc->fuvc);
597 uvc->state = UVC_STATE_ERR;
623 struct uvc_handle *uvc;
628 uvc = (struct uvc_handle *)fuvc->uvc_handle;
629 if (uvc == (struct uvc_handle *)UVC_INVALID_HANDLE)
634 if (uvc->copy_func)
636 ret = uvc_copy_continue(uvc, tran);
639 if (uvc->next_func)
641 ret = uvc_nocp_continue(uvc, tran);
649 static int uvc_nocp_continue(struct uvc_handle *uvc, struct uvc_isoc_transfer *tran)
659 offset = uvc->frame_off;
660 transfer = &(uvc->tdata);
661 reserve = &(uvc->reserve);
719 if ((next_func = uvc->next_func) != NULL)
722 ret = next_func(uvc, transfer, uvc->_priv);
761 uvc->frame_off = offset;
765 static int uvc_copy_continue(struct uvc_handle *uvc, struct uvc_isoc_transfer *tran)
772 copy = uvc->copy_func;
778 frame = &(uvc->tdata);
784 ret = copy(uvc, frame, uvc->_priv);