Re: Detecting start/stop streaming for UVC webcam with bulk transfer mode

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

 



Hi Pratyush,

On Tuesday 02 July 2013 17:24:41 Pratyush Anand wrote:
> On 6/20/2013 11:20 AM, Chetan Nanda wrote:
> > On Tue, Jun 18, 2013 at 6:12 PM, Laurent Pinchart wrote:
> >> On Tuesday 18 June 2013 11:17:40 Chetan Nanda wrote:
> >>> Hi,
> >>> 
> >>> I am currently working with UVC camera device which send data using
> >>> bulk transfer for preview and capture.
> >>> I have modified UVC gadget driver to start bulk streaming on receiving
> >>> first UVC_VS_COMMIT_CONTROL request from host side.
> >>> But currently not able to detect when to stop the streaming.
> >>> 
> >>> I am running Cheese Application on host side to test start/stop
> >>> streaming. UVC gadget driver's 'uvc_function_set_alt' function is
> >>> getting called when closing the cheese application, but this function is
> >>> also (sometime) getting called when starting the cheese application on
> >>> HOST side, also some time this function gets called after receiving
> >>> first COMMIT_CONTROL.
> >>> 
> >>> So, currently I am not able to find a proper way for starting /
> >>> stopping streaming for UVC bulk transfer.
> >>> Anyone has successfully implemented the start/stop streaming usecase
> >>> for bulk mode?
> >> 
> >> That's in my opinion one of the shortcomings of the UVC specification.
> >> There is no explicit way to start streaming on bulk endpoints. One
> >> option would be to start streaming when receiving the first IN token on
> >> the bulk endpoint, and to stop streaming when no bulk activity has been
> >> detected for a given amount of time. A bit hackish, but I'm not sure if
> >> there's any other practical way.
>
> What is the limitation in defining bulk endpoint also under alt setting
> 1, similar to that of ISOC? Does USB specs prohibit to do that?

The UVC specification does, unfortunately. UVC 1.1 section 2.4.3 states

"A VideoStreaming interface containing a bulk endpoint for streaming shall 
support only alternate setting zero. Additional alternate settings containing 
bulk endpoints are not permitted in a device that is compliant with the Video 
Class specification."

> If not, then would it not insure set_alt when camera application at host PC
> is started or stopped?
> 
> I am not sure what I am talking will really make sense. But, changing
> dwc3 driver in hackish way can not be the final solution.

-- 
Regards,

Laurent Pinchart

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux