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,


> On Thu, Jul 4, 2013 at 1:53 AM, Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> wrote:
> 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."
 
Sorry, I have been away from the UVC gadget for too long now.
I had posted a patchset in the past that worked for me on Bulk IN video streaming endpoint (see [1]).
I have to sent out a V2 of this patchset, but I will be able to do so only after 2-3 weeks from now.
 
I hope Chetan can try to apply this patch and test this Bulk video streaming using cheese application
on a linux host on his platform as well.
 
[1] http://comments.gmane.org/gmane.linux.usb.general/85292
 
Regards,
Bhupesh
 

>> 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.



--
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